update vault

This commit is contained in:
Thomas Peetz
2026-04-27 07:58:10 +02:00
parent 4febfd157d
commit f3e3c4ee89
142 changed files with 0 additions and 14723 deletions
@@ -1,97 +0,0 @@
---
title: "1 key food your brain MUST have to stay sharp: Harvard expert"
source: "https://medium.com/famously-healthy/1-key-food-your-brain-must-have-to-stay-sharp-harvard-expert-d56b4bd5d503"
author:
- "[[James Julian]]"
published: 2024-10-03
created: 2024-10-29
description: "There are more than a few “brain foods” that experts will tell you to focus on to live a long, lucid life. I find it stinky, texturally unappealing (think scallops and lobster), and I mostly dislike…"
tags:
- "clippings"
---
[
![James Julian](https://miro.medium.com/v2/resize:fill:88:88/1*8cErFlbWgcCj5oKkzeg6yQ.png)
](https://medium.com/@jamesjulianwrites?source=post_page---byline--d56b4bd5d503--------------------------------)
[
![Famously Healthy](https://miro.medium.com/v2/resize:fill:48:48/1*fA4OYuz4dn27LanfMSMupA.png)
](https://medium.com/famously-healthy?source=post_page---byline--d56b4bd5d503--------------------------------)
There are more than a few “brain foods” that experts will tell you to focus on to live a long, lucid life.
[Were talking](https://medium.com/famously-healthy/eat-these-4-foods-to-save-your-brain-harvard-nutritionist-295f6845ecf9) antioxidant-rich fruit, fiber-packed leafy greens, and [lean proteins](https://medium.com/famously-healthy/try-4-foods-harvard-brain-expert-eats-every-day-to-stay-smart-7b0ffd83930d).
My personal favorite is [blueberries](https://medium.com/@jamesjulianwrites/this-is-the-one-most-important-food-i-eat-every-single-day-18dcd64b967c), or brain berries as Ive come to know them.
**But is there one uber-powerful brain food to rule them all?**
According to one Harvard nutritionist, there is.
And, unfortunately, I struggle to get enough of it.
I bet you do too.
![A woman shopping for healthy food at the market.](https://miro.medium.com/v2/resize:fit:700/1*6rFk_3XwfVE5bRRdEqUEGw.jpeg)
Whats the №1 food to protect your brain? Read on. (Licensed by the author under the [Unsplash+ License](https://unsplash.com/plus/license))
## What we need (and I dont get enough of)
Im sorry, but I absolutely hate seafood.
Where do you stand on it?
I find it stinky, texturally unappealing (think scallops and lobster), and I mostly dislike the taste.
The problem is that seafood is about as good as it gets as a source of omega-3s, which according to Harvard nutritionist Uma Naidoo, is the most important food you can eat to support healthy brain function.
Heres what she [wrote for CNBC recently](https://www.msn.com/en-ca/health/nutrition/harvard-nutritionist-the-no-1-nutrient-you-need-for-a-healthy-brain-and-the-best-way-to-get-it/ar-AA1nE2Zd?ocid=msedgdhp&pc=HCTS&cvid=01fcf2e9a4244864a3bbd32b7e8d0c8a&ei=15):
*“While supplements can help provide these nutrients, I always tell people to first go to real foods, especially for fatty acids like omega-3s.*
*“When you eat a whole food you get additional vitamins, minerals, healthy fats, and protein.*
*“Its a good foundation upon which to build a healthy eating plan.*
==*“Omega-3s are found in wild-caught fatty fish like anchovies, sardines, and salmon.*==
*“Wild Sockeye salmon in particular contains levels of EPA and DHA that are beneficial to our brains health.*
*“An average salmon filet in the U.S. is about three to four ounces and the suggested amount to eat per week is about eight.*
*“So one should try to get omega-3-rich fish onto your plate at least twice a week.”*
So whats the solution if, like me, seafood kinda grosses you out?
![Fish is a good source of omega-3s](https://miro.medium.com/v2/resize:fit:700/1*DDIIG5GI0QbMEAv00bHdgg.jpeg)
Fish? Its a no from me. (Licensed by the author under the [Unsplash+ License](https://unsplash.com/plus/license))
## Why not supplements?
Fish oil supplements have come under a lot of scrutiny, and one worrisome study recently suggested you might want to [avoid them altogether if youre over 40](https://medium.com/famously-healthy/over-40-1-new-reason-you-might-want-to-skip-taking-fish-oil-doc-08de15359f53).
**The good news is that there are some great plant-based sources of omega-3s.**
As Naidoo notes:
*“If you are like me and dont eat seafood (I was raised vegetarian), you may be relieved to know it is still possible to get adequate omega-3s from plant-based sources, including…*
- *Chia seeds*
- *Sesame seeds*
- *Walnuts*
- *Flax seeds*
*“About one ounce of chia seeds is more than your daily recommended intake of omega-3 fatty acids and delivers about 5,000 mg.*
*“If you eat eggs, aim for the pasture-raised kind. Be sure to add turmeric with a pinch of black pepper to optimize the impact for brain health.”*
**I could be better at this.**
I do have a bunch of chia seeds in my freezer and its the easiest thing to throw into a smoothie.
Ive also experimented with throwing walnuts into those smoothies as well, though I find the bitter aftertaste kind of shines through.
@@ -1,110 +0,0 @@
---
title: "10 Best Practices for Writing Bash Scripts"
source: "https://medium.com/@talhakhalid101/10-best-practices-for-writing-bash-scripts-95d57e675939"
author:
- "[[Talha Khaild]]"
published: 2024-08-20
created: 2024-10-29
description: "Everyone who has come to this corner of mine, must for one reason or another, knows that I really like using the terminal, automating “scripting” everything I can, including my current desktop…"
tags:
- "clippings"
---
[
![Talha Khaild](https://miro.medium.com/v2/resize:fill:88:88/1*UqWnEDWq3XUnpZcaO4TJIA.jpeg)
](https://medium.com/@talhakhalid101?source=post_page---byline--95d57e675939--------------------------------)
Everyone who has come to this corner of mine, must for one reason or another, knows that I really like using the terminal, automating “scripting” everything I can, including my current desktop system, which today is still i3wm. Well, for this task we use our beloved terminal, regardless of the shell you use, these tips will be useful. Definitely if you are new to GNU/Linux, then you will find yourself face to face with the bash shell.
A Bash Script is a file in which multiple shell commands are coded to perform a particular task, this article includes some healthy habits for writing a script, mainly to improve efficiency and make it more readable.
![](https://miro.medium.com/v2/resize:fit:700/1*T8URQWaq7G2qhmi8_zu0wQ.jpeg)
## 1\. Comment the code
Definitely something basic, but one that many forget and that is always very useful, either for yourself, or for others who want to review or modify your script, it is undoubtedly decisive in achieving clean code that can explain various parts of complex codes. While you are focused on writing the script, it is easy to get confused with the code you have written as time goes by. It is also effective when working in a group on a large project, as it helps you understand what the function or method actually does.
***ALSO CHECKOUT:***
## 2\. Using Functions
As you may know, a function is a set of commands grouped together to perform a specific task that helps to modulate the workflow, eliminating code repetition. It makes the code cleaner and more readable, as well as easier to maintain.
```
#!/bin/bashfunction check_root() { echo "function has been called"; }
```
## 3\. Using double quotes
Using double quotes will help eliminate unnecessary globbing as well as word splitting, including whitespace, when variable values contain a separator character or a whitespace.
## 4\. Terminate execution on error
Sometimes, when running a script, there may be some execution error. Even if a command is not executed, the script may continue to run and affect the other commands in the script. To avoid further logical errors, we should include set -o errexit or set -e to terminate the command in case of error.
```
#!/bin/bash set -o errexit
```
## 5\. Declaring Variables
Declare the variable according to its data type and usage. When the variable is not declared, bash may not be able to execute the related command. Variables can be declared globally or locally in the script. For example:
```
#!/bin/bash declare -r i=30function my_variable(){ local -r name="${HOME}"}
```
## 6\. The use of keys
Bind variables with curly braces while using variable concatenation with strings to avoid unnecessary use of variables. This also helps to easily identify the variable while using it in a string. For example:
```
#!/bin/bashset -o errexitdata="${USER}_data is being used"
```
## 7\. Replacing the command
While assigning the output of the command to the variable, bash uses the command substitution feature. We need to use $() instead of backticks to assign the output to variables as recommended.
```
#!/bin/bash set -o errexit date_now=$(date)
```
## 8\. Variable Nomenclature
In our system, all environment variables are named using uppercase letters. So when we declare a local variable, we should declare it using lowercase letters to avoid conflicts between the environment and local variable name.
```
#!/bin/bash set -o errexit ser_var="$HOME is your correct login."
```
## 9\. Declaring Static Variables
If you have static data that remains unchanged throughout the script, you can assign the value to a static variable whose value cannot be modified. You can declare the static variable using the read-only command.
```
#!/bin/bashreadonly test_conf_path="/etc/nginx/conf.d/test.conf"
```
## 10\. Debugging
Debugging is the most essential part to identify a problem. We can check the syntax error of the script, so to check it we need to run the bash script with -n using the bash command.
```
$ bash -n script_name
```
Additionally, we can enable and run the script in debug mode using the following command.
```
$ bash -x script_name
```
***ALSO CHECKOUT:***
## Conclusion
So far, Ive left you with some good bash scripting practices that you can apply to other languages. Adopting them will undoubtedly help you improve your scripts and, most importantly, its a good way to leave your code clean and tidy, as well as documented and easy to understand/maintain.
Until another article, reader, good vibes.
@@ -1,179 +0,0 @@
---
title: "10 Performance Tips I Discovered After Years of Coding in JAVA"
source: "https://medium.com/@code-geass/10-performance-tips-i-discovered-after-years-of-coding-in-java-3f57a0125ae3"
author:
- "[[𝓒ode 𝓰eass]]"
published: 2024-10-13
created: 2024-10-29
description: "Hey Everyone!! I wanted to share these Java Performance tips, that i feel everyone should be aware of since it took a lot of effort and mistakes for me to learn it. So, here are eight performance…"
tags:
- "clippings"
---
[
![𝓒ode 𝓰eass](https://miro.medium.com/v2/resize:fill:88:88/1*yNLStAE5Brl9SWleWeYX-A@2x.jpeg)
](https://medium.com/@code-geass?source=post_page---byline--3f57a0125ae3--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/0*vrw3GsyLcKkXaAFV.png)
[link](https://github.com/connectaman/Java_Notes_and_Programs/blob/master/Java.md)
Hey Everyone!! I wanted to share these Java Performance tips, that i feel everyone should be aware of since it took a lot of effort and mistakes for me to learn it. So, here are eight performance tips that have made a real difference in my projects. Dont forget to **bookmark** them for further reference.
## **1\. Use StringBuilder for Joining Strings**
If youre adding strings together, especially inside a loop, its better to use a `StringBuilder`. When you use the `+` operator, Java creates a new string each time, which can slow things down.
*Instead of:*
```
String result = "";for (String s : words) { result += s;}
```
*Try:*
```
StringBuilder result = new StringBuilder();for (String s : words) { result.append(s);}String finalResult = result.toString();
```
## **2\. Reuse Objects Whenever Possible**
Whenever you create new objects, it consumes lot of memory and time. We should try to reuse objects whenever possible. Its important to note that we should also consider using them wisely, like we need to go for it only if the objects state changes frequently or its lifecycle require being used multiple times.
*Example:*
```
MyClass obj = new MyClass();for (int i = 0; i < 1000; i++) { obj.doSomething();}
```
## **3\. Use Primitive Types Instead of Wrapper Classes**
We need to be aware that *Integer, Double and Boolean* are slower than the primitive data types like *int, double and boolean*. So we need to avoid the reduntant usage of
*So, prefer:*
```
int number = 5;
```
*Over:*
```
Integer number = new Integer(5);
```
## **4\. Choose the Right Data Structures**
Whenever you need something really quick, go for *HashMap* or *HashSet* instead of *List*.
*Example:*
```
Set<String> names = new HashSet<>();names.add("Alice");names.add("Bob");if (names.contains("Alice")) { }
```
## **5\. Avoid Unnecessary Casting**
Casting can slow things down. If you know what type of objects youre working with, try to avoid casting them.
*Instead of:*
```
Object obj = "Hello";String str = (String) obj;
```
*Just use:*
```
String str = "Hello";
```
## **6\. Cache Frequently Used Values**
Cache can be a double edged sword. So we need to use it wisely. We should not to much cache or should not completely avoid it. But whenever a heavy calculation or a frequent data access is required that usually doesnt change much, we should go for it.
*Example:*
```
Map<Integer, Integer> cache = new HashMap<>();int getFactorial(int n) { if (cache.containsKey(n)) { return cache.get(n); } else { int result = calculateFactorial(n); cache.put(n, result); return result; }}
```
**7\. Limit the Use of Synchronization**
In multi-threaded programs, synchronization can cause delays. Use it only when necessary, and keep synchronized blocks short.
*Example:*
```
synchronized (this) { sharedResource.update();}
```
**8\. Be Careful with Exceptions Inside Loops**
Throwing and catching exceptions is slower than regular code execution. Try to avoid them inside loops.
*Instead of:*
```
for (int i = 0; i < data.length; i++) { try { process(data[i]); } catch (Exception e) { }}
```
*Validate before processing:*
```
for (int i = 0; i < data.length; i++) { if (isValid(data[i])) { process(data[i]); }}
```
But in case if the the problem lies with the data itself, you should filter or validate the data before processing.
```
Stream.of(data) .filter(this::isValid) .forEach(this::process);
```
So checkout what is the best approach in your case
**9\. Use Efficient Loops**
Sometimes, the way you write your loops can make a difference. For example, when looping through lists, use an indexed loop if you can.
*Example:*
```
for (int i = 0; i < list.size(); i++) { doSomething(list.get(i));}
```
**10\. Profile Your Code to Find Slow Spots**
Finally, use tools to see where your program is spending the most time. Profiling helps you focus on the parts that really need optimization.
*Tip:*
- Use tools like VisualVM.
- Identify methods that take the most time and optimize them.
**11\. Use the Most Readable Loop for the Job**
As pointed out by Karl in the comment section, I noticed the importance of readability when writing loops.Using Java Streams can make your code cleaner and easier to understand.
Example with `for-each`:
```
for (String item : list) { doSomething(item);}
```
Example with Streams:
```
list.stream().forEach(item -> doSomething(item));
```
**Wrapping Up**
These are some tips that I gained over the years after making lots of mistakes. I acknowledge that every project is a bit different, and you really your solution addressing your problem and be mindful of these things whenever you are facing some kind of bottleneck.
**Oh, and before I forget:** always make sure to test and profile your code after making changes. Sometimes, what we think is an optimization might not have the desired effect.
If youve got any cool Java tricks up your sleeve,Please mention in the comments
Happy coding!
@@ -1,120 +0,0 @@
---
title: "10 Things a Professional Programmer Does"
source: "https://javascript.plainenglish.io/10-things-a-professional-programmer-does-47d6544d06ce"
author:
- "[[Josef Cruz]]"
published: 2024-08-16
created: 2024-10-29
description: "Programming is a very demanding activity. Computer science and programming not only imply having a series of technical knowledge, but also need to be made of “special stuff”. Programming is a…"
tags:
- "clippings"
---
## Programming
## Anyone who wants to be a programmer should take them into account.
[
![Josef Cruz](https://miro.medium.com/v2/resize:fill:88:88/1*RvB7OCsPIBQwZpVMW3UEeg.jpeg)
](https://imjosef.medium.com/?source=post_page---byline--47d6544d06ce--------------------------------)
[
![JavaScript in Plain English](https://miro.medium.com/v2/resize:fill:48:48/1*yUNfohs9jA6GCDmyCYJTvA@2x.png)
](https://javascript.plainenglish.io/?source=post_page---byline--47d6544d06ce--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/0*Jza5LJr_YgDlT0bT)
Photo by [Adrian Curiel](https://unsplash.com/@hencetheboom?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
Programming is a very demanding activity. Computer science and programming not only imply having a series of technical knowledge, but also need to be made of “special stuff”.
Programming is a constant challenge. Many people want to get started in this sector without knowing what a professional programmer does. These people are unaware of or have the wrong idea about the programming world.
Programming does not have the same structure as trigonometry or mathematics, as strange as it may seem, learning to program has more to do with what it means to learn a language.
This analogy concerns the fact that programming, like learning a new language, involves challenges and problems that require logic.
Programming is based on structuring solutions to solve certain problems. In this sense, a poorly implemented solution can lead to the appearance of new problems, which is why the testing phase is important.
In this sense, it must be said that a theoretical programmer is not a good programmer; good programmers are practical programmers, those who “get down to business” and are always investigating new ways to solve problems.
In this article, I will discuss 10 important aspects that a good programmer should know to grow within this technological profession. Anyone who wants to be a programmer should take these things into account.
## **1\. Schedule**
One of the things a programmer does is program. Well, this may seem obvious, but it is not so. In relation to this, it must be said that some programmers believe that by using the “formula” of copying and pasting code to solve problems, one can learn to be a good programmer. It is true that one can also learn this way; however, to be a “top” programmer, one must program. This is, without a doubt, the best way.
## **2\. Feedback in communication**
Feedback is a fluid communication channel several interlocutors use; managing this feedback is essential in the programming profession.
Feedback is always important in any professional field, but it is especially important in programming because for work to be carried out on time and in the correct manner, it is vital that there is fluid communication between development teams and other departments if you work as a team.
If this communication is not adequate, the work's results can be seriously compromised, and the consequences for the client can be disastrous.
Without a doubt, one of the most important aspects for a programmer to be considered a professional is to have constant and fluid communication, not only with his work team, but also with the clients of his application.
## **3\. Go to reliable sources of information**
This is another thing that a programmer does that may seem surprising. A good programmer must, above all, seek productivity in his activity, so spending too much time thinking about the next step is not an option.
It is important to know that even a very good programmer does not have the answers to all questions, so it is important to investigate and ask qualified people if necessary.
When asking questions, it is very important to go to reliable sources of information. A good tool for accessing reliable information is the programming communities on the Internet.
## **4\. Read documentation**
One of the most important tasks a programmer performs is reading the documentation. Knowing the language well is essential for programming fluently and efficiently. When a systems programmer reads the documentation, he can control the entire project.
You have to be aware that each language has its own particularities. It is important to know different variables such as the available versions or the parameters they receive, which is why it is so important to read the documentation.
## **5\. Quick reading and comprehension**
An increasing number of people are interested in developing a professional activity in computing and programming. This is undoubtedly a growing sector that offers good opportunities.
However, we must be aware that although everything can be achieved with determination and hard work, the truth is that in order to develop a professional career in this field, it is very useful to have aptitudes for logical thinking.
For a programmer to perform his job efficiently, he needs to have the skills to read and understand quickly. If he has these skills, his productivity can stay high, compromising the development of the projects he is involved in.
## **6\. Have a passion**
If your primary reason for pursuing a long-term career as a programmer is to make money, you are unlikely to achieve the goals you set for yourself.
The programming profession is a vocation; to be good at it, you have to enjoy what you are doing and your progress. In this respect, being a programmer is no different than any other professional activity, in the sense that the more you like and enjoy your work, the better you will be.
This passion in the programming world translates into three words: thirst for knowledge.
Having the desire to learn good things is what will make the difference between a good programmer and a mediocre programmer; curiosity is what will determine a programmer's growth.
Discovering new methodologies and tools to solve problems provides the programmer with a qualitative leap in his skills; in this sense, learning new technologies and programming languages is vital.
## **7\. Know different programming languages**
To explain this point, I will make an analogy: in the same way that knowing several languages amplifies neural connections and provides better handling in the language area, learning several programming languages produces the same effect.
Mastering several programming languages gives programmers better tools for confidently addressing all types of situations.
It is also important to know that knowledge of several programming languages considerably increases job opportunities.
## **8\. Do version control**
A good programmer knows that version control should not be overlooked, which should be the case when working with any version control system, regardless of whether it is one or the other.
Knowing how to work according to a branching model will allow the programmer to execute changes safely, whether alone or with a team.
## **9\. The importance of testing**
Another thing that a programmer does is to perform tests. The importance of this point lies in the fact that the code, contrary to what it may seem, is not perfect; one must be aware that it can fail.
That is why it is vital to program tests, especially in the application's growth phase. By doing tests, the code is much more controlled and structured, and this is undoubtedly one of the most efficient ways to avoid problems later on.
## **10\. Provide ongoing training**
One of the most important things a programmer does is continuously train himself. The technology sector is characterized by continuous changes and improvements, so an updated programmer is a good programmer.
A professional programmer needs to reach a certain level of knowledge and then call it a day. A good programmer is always looking for new developments in the programming world. The programmer has a “nonconformist soul” and knows that continuous learning and updating knowledge is inherent to his profession.
For all these reasons, you can trust your ideas, and development needs zero ideas.
@@ -1,176 +0,0 @@
---
title: "12 Weird Things Christians Think Are God"
source: "https://medium.com/deconstructing-christianity/12-weird-things-christians-think-are-god-57105a7095db"
author:
- "[[Lilith Helstrom]]"
published: 2024-08-02
created: 2024-10-29
description: "Most of the time, when you ask a Christian why they believe in God, they wont have a rational reason for doing so. Theyll say they have a relationship with him and see evidence of him regularly in…"
tags:
- "clippings"
---
## These things all have other explanations
[
![Lilith Helstrom](https://miro.medium.com/v2/resize:fill:88:88/1*YyY95-dMd1BZpr-a-_ltYQ@2x.jpeg)
](https://medium.com/@lilith.helstrom?source=post_page---byline--57105a7095db--------------------------------)
[
![Deconstructing Christianity](https://miro.medium.com/v2/resize:fill:48:48/1*nmmzmEdbaDIYg9hcrY_b2w.png)
](https://medium.com/deconstructing-christianity?source=post_page---byline--57105a7095db--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*ygf5-P8Q1av2vhIluiicmw@2x.jpeg)
Photo by Tony Eight Media on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
Most of the time, when you ask a Christian why they believe in God, they wont have a rational reason for doing so. Theyll say they have a relationship with him and see evidence of him regularly in their life. This means that even though none of us can actually see, hear, or feel him, theyll claim to be regularly interacting with him.
I dont find this compelling in any way. I can prove my husband exists, for example. Not just because I interact with him, but because I can present him to you and you can actually physically clearly see and interact with him, too. Meanwhile, me and other non-Christians have no interactions with God in our lives, even when we try hard to.
Christians will counter this by saying you cant interact with God unless you believe in him and are searching for him already. So you basically need to desperately overanalyze your life and decide normal things must be supernatural and have supernatural meanings to them.
Thats not evidence. Thats confirmation bias. So a bunch of things always happen to Christians that they will say are God interacting with them, but really have other explanations.
I decided to make a list of common things Christians mistake as God that actually are something else:
## 1\. The voice in their head
The Pastor in my church always loved to give a sermon from 1 Kings 19. It was about Elijah waiting for the voice of God. There was wind, there was an earthquake, there was fire — all super dramatic things that you would think would herald the voice of God by their dramatic nature. But none of them had the voice of God.
God spoke in a whisper afterwards. The Bible calls it a “still small voice.” Christians use these words to explain how they hear the voice of God often as a subtle thing.
For most Christians, the voice of God just is a quiet voice in their head. Atheists know this is their own thoughts and brain helping them work through stuff, but many Christians think its magic and actually God talking to them.
## 2\. Natural consequences
Sometimes Christians, like everyone, do dumb shit. Theyll do something most people know will lead to bad things like cheating on their wife. Then their wife will find out and get mad, leave them, take the kids, and theyll be devastated. Theyll go, “God is punishing me to teach me a lesson for sinning.”
No, you made mistakes and now youre suffering natural consequences for it. This has nothing to do with God. This is normal, not supernatural, and maybe you should think things through better next time.
Thats all natural consequences are, not something divine.
## 3\. Luck
Even though gambling is arguably condemned by the Bible, many Christians enter the lottery and pray to win it, as I learned in a [recent article](https://medium.com/backyard-theology/what-people-pray-for-most-according-to-the-latest-research-8e74b88aec20) written by Dan Foster.
Most of those Christians dont win any money, but some of them do, Im sure. Then they think God and prayer are the reason they won.
Nope, its just luck.
Sometimes you get lucky in life and good things happen. Everyone eventually gets some good luck, but that doesnt mean God had any part in it.
## 4\. People Being Helpful
This happens constantly and it drives me crazy. People pray because they need groceries and dont have any money, for example. Then someone hears about that need and helps them get groceries. And they go, “Wow. God just gave me groceries because I prayed first!”
No, that human being gave you groceries.
Humans are stronger as a whole when they help each other. This can be through charity, kind acts, medical breakthroughs, science advances, and more. Humans only survive by helping each other.
Theres no proof that is God though. Theres no reason to see a human being do a nice human thing and think its anyone other than that human doing it. This is not something I should need to say.
## 5\. Coincidence
I get why Christians think this one. I mean, their god refuses to speak to them directly or actually show up for them in any way, so in a desperate attempt to hear from him and reassure themselves that he is real, they decide he must be orchestrating events in their life into occurring.
But to me, its like a child, who was abandoned by their father and is desperate to think their father is there and loves them, finding a penny on the ground. And the child says, “My father used to collect pennies he found on the ground and I just found one, so this must be a sign that he still loves me and he must have left it here for me.”
No, if your Dad loved you and was still there, hed actually be more physically present for you and more direct.
And before Christians say this example is ridiculous, its very similar to something my Christian Dad actually does. He found a penny on the ground right before something good happened to him once, so now he thinks finding pennies on the ground is God speaking to him and trying to tell him that hes watching over and blessing him.
Christians always have to think things like this or they wind up having to admit to themselves that their god might not be real because theres no evidence of him.
## 6\. Good Feelings They Have
Christians say that God gives them peace and happiness. The Holy Spirit is supposed to feel like a “peace that passes all understanding” in their heart and make them calm, happy, and loving in situations they otherwise wouldnt be.
Ive felt the feeling they describe back when I used to be a Christian and I think its just them being high on religion.
Life is hard, but if you can convince yourself that youre special and that ordinary experiences or bad experiences are actually God working in your life divinely, then you can start feeling happy and high during times when you otherwise would feel bad or ordinary.
They get addicted to it emotionally and thats why they keep turning to religion because they think it gives them purpose and makes them special.
## 7\. Adversity
Building on that whole idea of feeling special, life is hard and full of adversity, I think many Christians cope through life by deciding the bad things they face in life are actually tests from God or attacks from the devil.
It makes their life story seem more dramatic if theres supernatural forces focused on everything they do and manipulating each decision. It makes them feel powerful and like superheroes.
So they self-delude to help themselves cope with their life problems.
## 8\. Achievements
Christians will work really hard to do something. Theyll go to medical school, so years of residency, and start their own medical practice. Theyll think that because it all worked out that God “called” them to that profession.
Or maybe they just worked really hard because they had a passion for something and made it happen.
## 9\. Their Own Desires
When I was growing up, my best friend was a conservative Christian. One day, we were sitting and watching some missionaries speak snd she felt inspired by them and wanted to do the same thing as them.
She told me afterwards, “God is calling me to become a missionary.” She figured that that desire was in her heart because God wanted her to become a missionary and placed it there.
But she never actually became a missionary when we grew up. She instead became a film maker. Because it wasnt a god speaking to her, she just had a strong desire to do something and decided that must be God.
## 10\. Their Own Beliefs
Even Christians that believe the Bible should be taken literally and directly at its word, always think it needs to be translated in some way (by the Holy Spirit supposedly), in order to understand what God is trying to tell them.
==All other books in the world are just supposed to be read at face value, but the Bible is a magic trick that needs to be interpreted.==
This is how they cover up that the Bible is outdated and doesnt make sense. You arent viewing it through the Holy Spirit, so youre translating it incorrectly and thats why you find it nonsensical. Their god says the Bible has to be a coded puzzle and you need divine help in order to understand it.
Yet at the same time you are close minded and shutting out God if you dont get it the way they do.
And they use all this logic regularly to make the Bible say whatever they want it to say.
So, for example, if the Bible says:
“I, God your father, am a shitty asshole and think you should all be punched in the face.” Theyll say its not God being an asshole and threatening everyone, its proof that hes loving because thats what they believe. And proof that we all deserve to be punched in the face, but because God is so kind and Jesus died on the cross for our sins he stopped being a shitty asshole and thinking we should all be punched in the face as long as we accept him.
The Bible can be saying things they dont like directly but because they say it has to be interpreted right, theyll always twist it to make it say whatever they want it to say that matches their beliefs instead.
An example of this is Numbers 5:1131, which is an abortion ceremony described in the Bible. Ive used this passage many times when arguing with Christians. If God doesnt directly condemn abortion in the Bible and has a literal description of an abortion ceremony that should be performed in the Bible, then doesnt that mean the Christian God supports abortion?
They always come back at me and say that Im misinterpreting the scripture. Scripture isnt to be read directly but interpreted to match whatever they believe it says.
So Christians tend to decide God believes something first and they interpret the Bible to say that God agrees with whatever they already decided he should think afterwards, and then they call it “the Holy Spirit” showing them the truth.
## 11\. Ideal Circumstances
My Mom is one of those Christians that prays for a good parking space and regularly receives one. She also lives in a small town, where there arent as many people to compete over parking spaces with, and only goes grocery shopping during hours when people are at work, meaning no one is at the grocery store.
So is it really God providing her a good parking space all the time or is she going grocery shopping during the times when shes most likely to get a good parking space?
## 12\. Predictable Circumstances
My Dad has a story he loves to tell about why he thinks my Mom is a prophetess. Its because when my ex-church was choosing a pastor, he was on the committee to decide who they would hire. They got hundreds of applications and my Mom said God had told her who they would choose. The pastor they chose wound up being the one she said they would choose.
I keep telling him, “Dad. You just made her choice happen. You were part of who was in control of hiring the pastor and you wanted her to be right.”
But he keeps insisting he had no choice in the matter, even though he was on the committee who chose the new pastor.
I told him that I was psychic and going to pick up a blue pen, then I picked up a blue pen and gasped in shock. “Either I must actually be psychic or some things are easy to predict or easy to make happen based on a prediction.”
My Dad insists I dont know what Im talking about.
But its like when “prophets” or whatever predict who is going to win an election. Is it really a sign that they are connected to God if they had a 50/50 chance of getting it right?
Many Christians will see this list and sigh in exasperation. I just have an explanation for everything. Im not even trying to see God in anything. Im just excusing all evidence of God away.
But they really should be more upset instead that the God they value and believe in is like an absentee Dad that abandoned them all. You shouldnt have to search for him everywhere for any small clue that he might still be around. If hes loving and good, if hes actually a big part of your life and has a real relationship with you, then the evidence should be overwhelming.
He should be physically present. Not you trying to desperately find any shred of evidence of his existence among a million things that have other rational explanations to them.
And this is 100% why, when Christians tell me that they know God is real because they experience him every day in their lives, that I dont believe them. I just feel like their “experiences” are one of the things on this list and not something that is real.
[Click here to support my writing](https://ko-fi.com/lilithhelstrom)
![Lilith Helstrom](https://miro.medium.com/v2/resize:fill:40:40/1*YyY95-dMd1BZpr-a-_ltYQ@2x.jpeg)
## Lilith's Thoughts On Religion And Atheism
@@ -1,238 +0,0 @@
---
title: "13 Python Shortcuts Every Developer Should Use for Faster Coding"
source: "https://python.plainenglish.io/13-python-shortcuts-every-developer-should-use-for-faster-coding-a9609daacc51"
author:
- "[[Abdur Rahman]]"
published: 2024-10-18
created: 2024-10-29
description: "You probably know a lot about Python language you worked many hours on improving your skills. Yet even after all that time, theres still something new in Python you might not know. This tiny trick…"
tags:
- "clippings"
---
## And no, Im not talking about basic `if __name__ == "__main__"`. Youre past that.
[
![Abdur Rahman](https://miro.medium.com/v2/resize:fill:88:88/1*dl3HiS_DMv2laLpaKyTBFg.jpeg)
](https://medium.com/@abdur-rahman?source=post_page---byline--a9609daacc51--------------------------------)
[
![Python in Plain English](https://miro.medium.com/v2/resize:fill:48:48/1*VA3oGfprJgj5fRsTjXp6fA@2x.png)
](https://python.plainenglish.io/?source=post_page---byline--a9609daacc51--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/0*3pzC0QF4IiTuwm8d)
Photo by [Icons8 Team](https://unsplash.com/@icons8?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
Youre a Python developer.
You probably know a lot about Python language you worked many hours on improving your skills. Yet even after all that time, theres still something new in Python you might not know.
Im about to share some tricks that will save time and make you code like a Python wizard.
Lets dive in!
## 1\. Dictionary Default Values (`dict.get()`)
Ever find yourself writing this sort of thing?
```
if key in my_dict: value = my_dict[key]else: value = default_value
```
Well, stop. Use `dict.get()` instead and move on with your life.
```
value = my_dict.get(key, default_value)
```
This tiny trick cuts down your lines and makes your code cleaner. Honestly, youll wonder why you ever did it the long way.
> *Avoid overthinking when simplicity can save time.*
## 2\. List Comprehensions for Speed and Style
You know list comprehensions but sometimes you still write loops because its a habit. You know it happens.
Heres a reminder to go back to the compact version:
```
squares = [x**2 for x in range(10)]
```
Want to throw in a condition? Pythons got your back:
```
even_squares = [x**2 for x in range(10) if x % 2 == 0]
```
Its just cleaner and faster. Its like Python saying, “Why write a novel when you can tweet?”
## 3\. Swap Variables Without Temp Variables
You might have been taught the ol temp variable swap back in the day. Forget that.
```
a, b = b, a
```
Yup, its that simple. Swaps two variables in a single line, no temp variable necessary. Pythons built for this kind of readability.
## 4\. Unpacking in Style
Lets talk about multiple assignments. If you have a list of values you need to unpack into variables. Dont do it one at a time.
Use this shortcut instead.
```
numbers = [1, 2, 3]a, b, c = numbers
```
And heres a pro tip for those extra-long lists where you dont care about most values:
```
first, *middle, last = some_long_list
```
No more tedious index slicing — Python just reads your mind.
## 5\. `enumerate()` to Simplify Loops
How often do you write this?
```
index = 0for item in my_list: print(index, item) index += 1
```
Thats more code than necessary. Pythons got your back with `enumerate()`:
```
for index, item in enumerate(my_list): print(index, item)
```
Thats it. Less clutter, more action.
> ***Pro Tip:*** *If youre looping over something and counting at the same time, youre doing it wrong unless youre using* `*enumerate()*`*.*
## 6\. Handle Exceptions Like a Pro with `try/else`
You know the `try/except` block. But did you know about `try/else`? This small feature helps in cleaning up exception handling. `else` runs when no exception is raised. Its better than putting everything in `try` because it makes clear what happens when nothing goes wrong.
Heres how it works:
```
try: result = risky_operation()except SomeError: handle_error()else: handle_success()
```
## 7\. Fast String Concatenation with `.join()`
If you are joining strings inside a loop, you are wasting CPU time. Every time you use `+`, it creates a new string. The better way is `join()`. Its fast and saves you time.
```
# Inefficientresult = ""for s in list_of_strings: result += s# Efficientresult = ''.join(list_of_strings)
```
This is especially noticeable when working with large datasets. Dont sleep on this one.
## **8\. The Walrus Operator (**`**:=**`**): Assign While You Check**
Ah, the walrus operator. You may have heard about it in Python 3.8. It is helpful for making your code shorter and cleaner. It lets you assign variables as part of an expression. Especially in loops and conditionals.Instead of:
```
data = input("Enter something: ")if len(data) > 10: print("Long input!")
```
Do this:
```
if (data := input("Enter something: ")).strip() and len(data) > 10: print("Long input!")
```
See? One line, and youre already onto your next task.
## **9\.** `**collections.defaultdict**`**: Because Normal Dictionaries Are So Last Year**
Do KeyErrors frustrate you when a dictionary key doesnt exist? Fix this with `defaultdict` from `collections`. It automatically creates the first value when you access a new key. No need to check if the key exists.
Without it:
```
my_dict = {}if "counter" not in my_dict: my_dict["counter"] = 0my_dict["counter"] += 1
```
With it:
```
from collections import defaultdictmy_dict = defaultdict(int)my_dict["counter"] += 1
```
Boom. One less headache to worry about.
## **10\. The Underscore** `**_**`**: The Secret Keeper of the REPL**
If youre using Python interactively (or in Jupyter), the last result can be quickly accessed. The underscore `_` stores it for you. Handy, right?
```
>>> 5 * 25125>>> _ + 50 # Access the previous result175
```
This isnt just useful — its like having a secret superpower you didnt even know you had.
## **11\. Context Managers: Stop Forgetting to Close Files**
You probably think, “I always remember to close my files.” But just in case you forget, Pythons `with` statement will close the files for you. Its like a smart assistant.
Without it:
```
file = open('data.txt', 'r')try: data = file.read()finally: file.close()
```
With it:
```
with open('data.txt', 'r') as file: data = file.read()
```
Less code, fewer bugs, and fewer excuses for leaving files open.
## **12\. F-strings: Formatting, but Without the Nonsense**
String formatting in Python used to be harder. You had to use `.format()` or `%` formatting. Now f-strings make everything better. They are faster and easier to read.
Instead of:
```
name = "Alice"greeting = "Hello, {}".format(name)
```
Use:
```
name = "Alice"greeting = f"Hello, {name}"
```
Simple, right? And the kicker? You can evaluate expressions directly inside the curly braces. Oh, and theyre faster, too. Just thought youd like to know.
## **13\.** `**setdefault()**`**: Make Dictionaries Smarter**
You already know dictionaries are fast. But did you know you can speed them up with `setdefault()`? It checks if a key exists and assigns a default value at the same time.
Old-school way:
```
my_dict = {}if "fruits" not in my_dict: my_dict["fruits"] = []my_dict["fruits"].append("apple")
```
Streamlined way:
```
my_dict = {}my_dict.setdefault("fruits", []).append("apple")
```
If you havent been using this, youre probably wasting time — and nobody wants that.
If you think I missed any shortcut, drop it in the comments. Python can always get faster!
@@ -1,190 +0,0 @@
---
title: "17 Hilarious Engineer Jokes for All You Nerds Out There"
source: "https://medium.com/the-knowledge-of-laughter/16-hilarious-engineer-jokes-for-all-you-nerds-out-there-7acad7786c79"
author:
- "[[Glenn M Stewart]]"
published: 2024-10-17
created: 2024-10-29
description: "A mechanical engineer, an electrical engineer and a software engineer are on a road trip, when the car wont start. The software engineer says, “Before we do anything else, lets all just get out of…"
tags:
- "clippings"
---
## Guaranteed to effect an erection
[
![Glenn M Stewart](https://miro.medium.com/v2/resize:fill:88:88/1*O7QFsv-105f_53TCY_Ow6A.jpeg)
](https://medium.com/@glenn-stewartm?source=post_page---byline--7acad7786c79--------------------------------)
[
![The Knowledge of Laughter](https://miro.medium.com/v2/resize:fill:48:48/1*AES_Dj2CvHKLH7YLkdFvaA.jpeg)
](https://medium.com/the-knowledge-of-laughter?source=post_page---byline--7acad7786c79--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*Ztjsdd4j4skhPERiV-NB8w.jpeg)
onesourceauctions.com
A mechanical engineer, an electrical engineer and a software engineer are on a road trip, when the car wont start.
The mechanical engineer says, “Let me check the starter.”
The electrical engineer says, “Let me make sure the battery is connected.”
==The software engineer says, “Before we do anything else, lets all just get out of the car and then get back in.”==
Two engineering students were walking across campus when one said, “Where did you get such a great bike?”
The second engineer replied, “Well, I was walking along yesterday minding my own business when a beautiful woman rode up on this bike. She threw the bike to the ground, took off all of her clothes and said, “Take what you want.”
The first engineer nodded approvingly, “Good choice, the clothes probably wouldnt have fit.”
A priest, a doctor, and an engineer were waiting one morning for a particularly slow group of golfers. The engineer fumed, “Whats with those guys? We must have been waiting for fifteen minutes!” The doctor chimed in, “I dont know, but Ive never seen such inept golf!”
The priest said, “Here comes the green keeper. Lets have a word with him.” He said, “Hello George, whats wrong with that group ahead of us? Theyre rather slow, arent they?”
The green keeper replied, “Oh, yes. Thats a group of blind firemen. They lost their sight, saving our clubhouse from a fire last year, so we always let them play for free anytime.”
The group fell silent for a moment. The priest said, “Thats so sad. I think I will say a special prayer for them tonight.” The doctor said, “Good idea. Im going to contact my ophthalmologist colleague and see if theres anything he can do for them.” The engineer said, “Why cant they play at night?”
An engineer, a statistician, and a physicist are out hunting. They spot a buck, and each takes turns trying to bag it. The physicist goes first. He pulls out his lab book and quickly calculates the bullets trajectory, assuming it is a perfect sphere in a vacuum.
The bullet falls 20m short of the deer.
The engineer goes second. He pulls out his engineers pad and book of projectile assumptions. After a few minutes, hes ready, aims, and fires. The bullet lands 20m passed the deer.
The statistician leaps in the air, shouting, “We got it!”
Three engineering students were gathered together, discussing the possible designers of the human body.
One said, “It was a mechanical engineer. Just look at all the joints!”
Another said, “No, it was an electrical engineer. The nervous system has many thousands of electrical connections.”
The last one said, “No, actually it had to have been a civil engineer. Who else would run a toxic waste pipeline through the recreational area?”
The oldest computer can be traced back to Adam and Eve.
Surprise!
It was an Apple.
But with extremely limited memory…
Just 1 byte.
Then everything crashed.
Two antennas got married — the wedding was lousy, but the reception was outstanding.
Whats the difference between an introverted and an extroverted engineer?
An introverted engineer looks at his shoes when talking to you, and an extroverted engineer looks at your shoes when talking to you.
How many nuclear engineers does it take to change a lightbulb?
Seven. One to install the new bulb and six to figure out what to do with the old one for the next 10,000 years.
How do you know that an engineer is having a mid-life crisis?
He swaps his pocket protector for a smartphone holster.
How do software engineers change a broken light bulb?
They dont change broken light bulbs at all. That is a hardware issue.
An engineer that works on robots every day is never lonely. Why?
Because they are constantly making new friends.
What do engineers use as birth control?
Their personalities.
If youre an optimist, the glass is half full.
If youre a pessimist, the glass is half empty.
If youre an engineer, the glass is twice as large as it needs to be.
A wife asks her husband, an engineer, “Darling, can you please go to the shop and buy one pint of milk and if they have eggs, get a dozen!”
Off he goes. Half an hour later, the husband returns with 12 pints of milk.
His wife stares at him and asks, “Why on earth did you get 12 pints of milk?”
“Well… they had eggs,” he replied.
Definition of an engineer: somebody who makes precise guesswork based on unreliable data provided by people with questionable knowledge. Never wrong. Likes tables.
A man is walking in a field when he notices a guy adrift in a hot-air balloon with no fuel. Balloon guy shouts down, “A little help here?”
The man on the ground looks up and shouts, “You are in a hot-air balloon with no fuel. Youre about 20 feet off the ground, travelling north at roughly walking pace.”
The guy in the balloon shouts, “Are you an engineer?”
“Yes, how did you know?”
“Well, everything you told me is factually accurate, but it doesnt do me any good.”
The engineer on the ground considers this and then shouts back, “Are you in management?”
“Yes, how did you know?”
“You were in this predicament before I got here. I havent done anything, and now its my fault.”
Boudreaux goes to a new chemical plant looking for a job.
Unfortunately, the only job open is a for chemical engineer. Boudreaux, who is not a chemical engineer, applies anyway and is asked to come in to take a test. He shows up and is shown into a room with another man.
They are given a test to take and both of them complete them pretty quickly.
In a half hour, Boudreaux and the other man are asked in to see the supervisor. The supervisor says, “These test results were fantastic. Some of the best answers Ive seen. Both of you got the exact same question wrong, though. So, with that, I am going to offer the position to Bob there. Sorry, Mr. Boudreaux.”
Boudreaux says, “How come you give him da job if we both got the same one wrong?”
The supervisor says, “Well, because for question 12, his answer was, I dont know. Yours was, me neither.’”
[Chuck Haacker — Medium](https://medium.com/@charles.haacker) contributed this gem.
Three men are condemned to die on the Guillotine. One of them is an engineer. The first condemned is placed on the board, run under the blade, and… nothing. The blade refuses to fall! The man is released since the machine of death did not work.
They try again with the second man, but again, no matter what they did, they could not get the blade to release, forcing them to let the second man go free.
The engineer came last, but he made an unusual request: to be executed face up. His request was granted. Looking up at the blade, the engineer said, “Wait, I think I see the problem.”
## Is Hell endothermic or exothermic?
The e-mail was on the weighty matter of the nature of hell, as allegedly posed by a Dr Robert Shambaugh of the University of Oklahoma school of chemical engineering. It purports to be a final exam question from May 1997.
His May 1997 question for his Momentum, Heat and Mass Transfer II class was: “Is hell exothermic or endothermic? Support your answer with proof.”
Most of his students wrote proofs of their beliefs using Boyles law which, as we know you know, describes the inversely proportional relationship between the absolute pressure and volume of a gas, if the temperature is kept constant within a closed system, or some variant thereof.
One student, however, wrote the following: “First, we need to know how the mass of hell is changing in time. So we need to know the rate at which souls are moving into hell and the rate at which they are leaving. I think that we can safely assume that once a soul gets to hell, it will not leave. Therefore, no souls are leaving. As for how many souls are entering hell, lets look at the different religions that exist in the world today.
Most of these religions state that if you are not a member of their religion, you will go to hell.
Since there is more than one of these religions and since people do not belong to more than one religion, we can project that all souls go to hell.
With birth and death rates as they are, we can expect the number of souls in hell to increase exponentially. Now, we look at the rate of change of the volume in hell because Boyles law states that in order for the temperature and pressure in hell to stay the same, the volume of hell has to expand proportionately as souls are added. This gives two possibilities:
1\. If hell is expanding at a slower rate than the rate at which souls enter hell, then the temperature and pressure in hell will increase until all hell breaks loose.
2\. If hell is expanding at a rate faster than the increase of souls in hell, then the temperature and pressure will drop until hell freezes over.
So which is it??
If we accept the postulate given to me by Teresa during my freshman year that, It will be a cold day in hell before I sleep with you, and take into account the fact that I slept with her last night, then number two must be true, and thus I am sure that hell is exothermic and has already frozen over.
The corollary of this theory is that since hell has frozen over, it follows that it is not accepting any more souls and is therefore, extinct… leaving only heaven, thereby proving the existence of a divine being which explains why, last night, Teresa kept shouting, Oh my God!.”
The author, it is claimed, got an A+ for the answer.
![](https://miro.medium.com/v2/resize:fit:176/0*KqMRPBF6JRJjZlU9.jpeg)
## Glenn M Stewart
Pugilist, polemicist, Oxford Arabist, financial mastermind, international man of mystery, film producer, playwright, part-time-poet, full-time provocateur…
@@ -1,555 +0,0 @@
---
title: "23 Game-Changing Python Packages You Are Missing Out On"
source: "https://medium.com/pythoneers/23-underrated-python-packages-you-didnt-knew-existed-36dbb0a417c0"
author:
- "[[Abhay Parashar]]"
published: 2024-10-20
created: 2024-10-29
description: "Pythons popularity as a programming language is undeniable, largely thanks to its expansive ecosystem of external packages crafted by a vibrant community of developers. While many of us are…"
tags:
- "clippings"
---
## Python Hidden Gems!! (A Handpicked Collection)
## Make Your Life Easy By Exploring These Hidden Gems
[
![Abhay Parashar](https://miro.medium.com/v2/resize:fill:88:88/1*SUoFvr46ph7l29W8B5W6VA.png)
](https://medium.com/@abhayparashar31?source=post_page---byline--36dbb0a417c0--------------------------------)
[
![The Pythoneers](https://miro.medium.com/v2/resize:fill:48:48/1*cwlpT_-EPnUAgQxQRVZAvQ.png)
](https://medium.com/pythoneers?source=post_page---byline--36dbb0a417c0--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*Py3uvhfCesF29_65oHnO5w.png)
Image From FreePik, Edited Using Canva.com
Pythons popularity as a programming language is undeniable, largely thanks to its expansive ecosystem of external packages crafted by a vibrant community of developers. While many of us are well-versed in the usual suspects — like NumPy, Pandas, and Flask — theres a treasure trove of lesser-known libraries out there, just waiting to enhance your coding journey. In this article, were diving deep into some underrated Python packages that you *must* try. Whether youre looking to streamline your workflow or discover new tools to tackle everyday challenges, these hidden gems will surely enhance your Python experience.
> “Python packages: tiny tools, massive impact, endless possibilities.”
## 1\. ==Ruff==
***“The fastest linter has arrived in the town!!”***
Ruff is a modern Python liner and code formatter library, written in Rust providing an efficient way to catch and fix common issues with your Python code.
**Key features-**
- 10100x faster than existing linters (like flake8) and formatters (like Black).
- Built-in caching to avoid re-analyzing unchanged files.
- Provide support for automatic error correction.
- Over 800+ built-in rules, with native re-implementation of popular fixes Flage8 plugins. Like flake8-bugbear.
- Easy integrations for VS Code and more.
==Ruff can be used to replace== ==[Flake8](https://pypi.org/project/flake8/)== ==(plus dozens of plugins),== ==[**Black**](https://github.com/psf/black)====**,**== ==[**isort**](https://pypi.org/project/isort/)====**,**== ==[**pydocstyle**](https://pypi.org/project/pydocstyle/)====**,**== ==[**pyupgrade**](https://pypi.org/project/pyupgrade/)====**,**== ==[**autoflake**](https://pypi.org/project/autoflake/)====**, and more**====, all while executing tens or hundreds of times faster than any individual tool.==
```
pip install ruffruff path/to/your/project
```
Lets review one of my test directories with a bunch of badly written code and see how it performs.
![](https://miro.medium.com/v2/resize:fit:700/1*5gFLa0VsivWjLOiaSPhMvw.png)
ruff output — Screenshot by Author
You know ??
You can even ask **Ruff** to fix issues with your project.
Sounds fascinating right ??
Lets try that too…
> “Speed is irrelevant if you are going in the wrong direction.” — M. Gandhi
>
> The next package will ensure youre both fast and headed in the right direction.
## 2\. ==HTTPX==
***“Supercharge your HTTP requests with httpx — async-ready and user-friendly!”***
**httpx** is a fully featured, user-friendly HTTP client for Python, providing synchronous and asynchronous support. Its designed as a next-gen alternative to `requests`, allowing you to take advantage of modern async features without sacrificing simplicity. Whether you're dealing with REST APIs, web scraping, or external HTTP services, httpx offers a clean and efficient API to get the job done.
**Some key features of HTTPX:**
- Best Replacement for Requests
- Built-in support for asynchronous requests.
- Custom timeouts, retries, and more.
Lets utilize the **HTTPX Python** library and scrape all the amazing quotes from the open-source [QuotestoScrape](https://quotes.toscrape.com/) site.
```
import httpxfrom bs4 import BeautifulSoupimport asynciourl = 'https://quotes.toscrape.com/'async def scrape_quotes(): async with httpx.AsyncClient() as client: response = await client.get(url) soup = BeautifulSoup(response.text, 'html.parser') quotes = soup.find_all('div', class_='quote') for quote in quotes: text = quote.find('span', class_='text').get_text() author = quote.find('small', class_='author').get_text() print(f'"{text}" - {author}')async def main(): await scrape_quotes()if __name__ == "__main__": asyncio.run(main())
```
![](https://miro.medium.com/v2/resize:fit:1000/1*9p4Fz_84s-nyHnBipBIDBA.png)
Script Output — Scraped Quotes — Screenshot By Author
> You can learn more about this library by reading this [**article**](https://scrapfly.io/blog/web-scraping-with-python-httpx/).
## 3\. ==Precommit==
***“Automate your code quality with pre-commit hooks!!”***
Pre-commit is a framework that allows you to define and enforce code quality checks before every commit. It integrates seamlessly with Git and runs checks like linters, formatting, and security tools to ensure your code meets specific quality standards before its pushed into the repository.
## Key Features —
- Automated checks.
- MultiLanguage support.
- Easy Configuration.
## **How To ??**
1. Create a `.pre-commit-config.yaml` file in your project root directory.
```
repos: - repo: https://github.com/abhayparashar31/webscraping rev: v0.0.285 hooks: - id: ruff args: ["--fix"] - repo: https://github.com/pre-commit/mirrors-black rev: stable hooks: - id: black - repo: https://github.com/asottile/blacken-docs rev: v1.12.0 hooks: - id: blacken-docs
```
2\. Install the git hook scripts
```
pre-commit install
```
3\. Commit it !!!
```
git commit -m "You commit comment!!"
```
Pre-commit will review your code for errors and automatically fix them!!
## 4\. webview
***“Quite simple yet very effective”***
Webview is a Python package that allows you to create lightweight, native-looking desktop applications using web technologies like HTML, CSS, and Javascript.
![](https://miro.medium.com/v2/resize:fit:249/0*uOYXfBWhh1EPjxkS.gif)
My honest reaction when i first discovered this package…Just Amazing
It proves a simple way to display web content in a GUI, making it easy for developers to build and run web-based applications locally without complex frameworks.
Some key features of webview Python package include —
- Cross-Platform.
- Lightweight.
- Easy integration with API.
- Javascript support.
- Fully customizable.
```
pip install pywebview
```
Lets build a simple ToDo List GUI using the Webview library —
```
import webviewtasks = [] html_content = """<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>To-Do List</title> <style> body { font-family: Arial, sans-serif; margin: 50px; } h1 { color: #333; } ul { list-style-type: none; padding: 0; } li { padding: 5px; background-color: #f9f9f9; margin-bottom: 5px; display: flex; justify-content: space-between; border-radius: 4px; border: 1px solid #ccc; } button { background-color: #ff4b4b; color: white; border: none; padding: 5px 10px; border-radius: 4px; cursor: pointer; } </style></head><body> <h1>To-Do List</h1> <ul id="task-list"></ul> <input type="text" id="task-input" placeholder="Enter new task"> <button onclick="addTask()">Add Task</button> <script> window.onload = () => pywebview.api.get_tasks().then(update); const update = tasks => document.getElementById("task-list").innerHTML = tasks.map( (task, i) => \`<li>${task}<button onclick="remove(${i})">Remove</button></li>\` ).join(''); const addTask = () => pywebview.api.add_task( document.getElementById("task-input").value ).then(update); const remove = i => pywebview.api.remove_task(i).then(update); </script></body></html>"""class Api: def get_tasks(self): return tasks def add_task(self, task): tasks.append(task); return tasks def remove_task(self, index): tasks.pop(index); return tasksif __name__ == '__main__': webview.create_window('To-Do List App', html=html_content, js_api=Api()) webview.start()
```
![](https://miro.medium.com/v2/resize:fit:600/1*tojrz0TWXW3lXkUCcpUzjg.gif)
**Todo List GUI****Created Using webview library** — Script Output GIF crated using ezgif.
Want to learn more about this library ?? Check out their [***official repo***](https://github.com/r0x0r/pywebview) containing lots of useful stuff.
## 5\. ==FTFY==
***“Turning Garbled Text into Clean Magic!”***
FTFY (Fixes Text For You) is an amazing Python library that helps clean up messy text caused by encoding errors, especially when characters get scrambled due to misinterpreted encodings (also known as *mojibake*). It automatically detects and fixes these issues, turning unreadable text back into a clear, readable format with little effort.
It supports —
- Automatic detection and correction of encodings
- Wide range of encodings.
```
import ftfycorrupted_text = 'Thís ís an ëxample of mójibake.'fixed_text = ftfy.fix_text(corrupted_text)print("Original corrupted text:", corrupted_text)print("Fixed text:", fixed_text)
```
![](https://miro.medium.com/v2/resize:fit:654/1*NUC2C3CrTsJFim1Q9_yACA.png)
**FTFY** Script Output — Screenshot By Author
Learn more about this library [***here***](https://ftfy.readthedocs.io/en/latest/)***.***
![](https://miro.medium.com/v2/resize:fit:384/0*FSl-uZlZPj2CaHRX.gif)
Lets do some reconstruction on your python program output
## 6==. Rich==
***“Make Your Terminal Shine with Stunning”***
Rich is a powerful Python library that helps you reconstruct your console with color and style and display advanced content such as tables, markdown, syntax-highlighted code, etc.
You can make Rich yours by using the below command.
```
pip install rich
```
Heres some sample code you might wanna give a try…
```
from rich.console import Consolefrom rich.table import Tableconsole = Console()# Create a table to display some datatable = Table(title="Daily Updates!!!")table.add_column("Task", justify="left", style="cyan")table.add_column("Status", justify="right", style="green")table.add_column("Comments", justify="right", style="magenta")table.add_row("Patch 2.3.2", "[bold green]Completed[/]", "Patched Sucesssfully!")table.add_row("Vendor Callout", "[bold yellow]In Progress[/]", "Connected, Waiting for Response!!")table.add_row("Meeting with Client", "[bold red]Failed[/]", "Client Rescheduled Meeting!!")# Print the tableconsole.print(table)
```
![](https://miro.medium.com/v2/resize:fit:666/1*95-Ap2SgOnENic8d1keekQ.png)
Script Outpit — Rich Python library — Screenshot By Author
Check out their [**official docs**](https://rich.readthedocs.io/en/stable/introduction.html) for more detailed information about this package.
## 7\. ==WeasyPrint==
***“Convert your web pages into polished PDFs effortlessly.”***
WeaspyPrint allows you to generate PDF files directly from your HTML and CSS code files. It is especially useful for web developers who need to create print-ready documents from their web pages without relying on Javascript engines or heavy browser dependency.
Some key features of this **weasyprint** library include —
- Converts HTML/CSS into high-quality PDFs. in a blink.
- Provides support for SVG images and embedded fonts.
- Capable of handling multiple pages, headers, and footers automatically.
- Lightweight and fast.
You can review and try some examples from their [**official website**](https://weasyprint.org/).
## 8\. ==MyPy==
***“Catch errors before they break your code!”***
MyPy is a handy tool that serves as a static type checker for Python. Think of it as your coding buddy that helps you add type annotations to your code. Doing this allows you to catch potential type-related mistakes before they become real headaches.
![](https://miro.medium.com/v2/resize:fit:299/0*5RqL003PRez8MnfV.gif)
thats how we gonna catch errors with this package..picture perfect!!
Lets see how this library improves your coding lifestyle by identifying type-checking errors —
```
import gensimfrom gensim.summarization.summarizer import summarizefrom gensim.summarization import keywordsimport wikipediawikisearch = wikipedia.page("Machine Learning")wikicontent = wikisearch.contentprint(wikicontent)summary_ratio = summarize(wikicontent, ratio = 0.01)print("summary by ratio")print(summary_ratio)summary_wordcount = summarize(wikicontent, word_count = 200)print("summary by word count")print(summary_wordcount)
```
![](https://miro.medium.com/v2/resize:fit:700/1*nZ_ldDpZWKNw4V_pdi1gow.png)
Script Output — **MyPy** — Screenshot By Author
Get a sneak peek of how this can be useful by reading this [***article from RealPython***](https://realpython.com/lessons/type-checking-mypy/)***.***
## 9\. Bandit
***“Catch the culprits of your code, your very own Python security sentinel!!”***
Bandit is a security-focused static analysis tool designed to find common security issues in Python code. It scans your codebase, looking for potential vulnerabilities like SQL injection, hard-coded credentials, and weak cryptography usage. This tool helps ensure that your Python applications stay secure, even as they grow in complexity.
**Some key features of this library include —**
- Security Vulnerability Detector.
- Customizable scans.
- Simple CI/CD Integration.
- Detailed report generation, with links to additional context regarding flagged issues.
Lets try this package on a highly insecure code example —
```
import requestsimport osAPI_KEY = "sk_test_4eC39HqLyjWDarjtT1zdp7dc" AWS_SECRET_ACCESS_KEY = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"DB_PASSWORD = "mypassword123"URL = "http://example.com/api/v1/resource"response = requests.post(URL, data={"api_key": API_KEY, "password": DB_PASSWORD})
```
![](https://miro.medium.com/v2/resize:fit:700/1*YKgwcxWDih96ffu9ri2Zjw.png)
Bandit Scan Result — **Bandit** — Screenshot By Author
Heres **the** [**official documentation**](https://bandit.readthedocs.io/en/latest/) of Bandit if you wanna dig more around this library.
## 10\. FlashText
***“Search faster, not harder, lightning-quick keyword extraction!”***
FlashText is an efficient Python package for keyword extraction and text replacement. Unlike traditional regular expressions, FlashText uses a Trie data structure to store keywords, enabling it to search for whole words without scanning text character by character like regular expressions.
It quickly traverses the Trie when it encounters matching characters, avoiding redundant backtracking and skipping irrelevant text. This makes it much faster for keyword search and replacement, especially when dealing with large keyword lists, as it processes all keywords in a single pass.
**Some key features of FlashText includes —**
☑️ Super fast keyword research and extraction.
☑️ Allows case-sensitive searches.
☑ Produce fewer false positives.
Lets utilize Flashtext to replace certain keywords inside a TXT file with over 1000+ rows, and compare its performance with regex.
```
import timeimport refrom flashtext import KeywordProcessorwith open("sample.txt", "r") as file: text = file.read()keywords = { "Python": "PYTHON", "Java": "JAVA_REPLACED", "JavaScript": "JS_REPLACED"}def regex_example(text): for key, value in keywords.items(): text = re.sub(r'\b' + re.escape(key) + r'\b', value, text) return textstart_time = time.time()regex_replaced = regex_example(text)regex_time = time.time() - start_timedef flashtext_example(text): keyword_processor = KeywordProcessor() for key, value in keywords.items(): keyword_processor.add_keyword(key, value) return keyword_processor.replace_keywords(text)start_time = time.time()flashtext_replaced = flashtext_example(text)flashtext_time = time.time() - start_timeprint("\nTime Taken by Regex: {:.6f} seconds".format(regex_time))print("\nTime Taken by FlashText: {:.6f} seconds".format(flashtext_time))
```
![](https://miro.medium.com/v2/resize:fit:437/1*qTFjJNwHZMx5NUHGa-DzFw.png)
Script Output — FlashText — Screenshot By Author
## 11\. ==Pydantic==
***“Type your data into shape”***
Pydantic is a fast and flexible Python library designed for data validation and settings management. It provides intuitive tools for parsing and validating data, ensuring that everything meets to the specified types and constraints. Pydantic, ensures your data is accurate and well-structured, making your development process smoother and more efficient.
## **Why Pydantic ??**
- Enhances code clarity and control through type hints.
- Offers rapid processing, leveraging core validation written in Rust.
- Automatically generates JSON Schema for seamless tool integration.
- Supports validation of built-in types like data classes and TypedDicts.
- Provides options for custom validators and serializers.
- Integrated into over 8,000 packages, including FastAPI.
Below is a simple Python example using pedantic —
![](https://miro.medium.com/v2/resize:fit:1000/1*-xssI7xerz7hPRIoKXisHg.png)
Without vs With Pydantic — Screenshot By Author
You can see how using the Pydantic library has streamlined the code, making it shorter and clearer by eliminating the need for custom `validate_user()` methods.
## 12\. ==Unimport==
***“A single line to simplify your imports across environments”***
These powerful tool servers as both a linter and formatter, making it easy to detect and remove any unused import from your codebase, leading to a more efficient and less cluttered code.
```
pip install unimport
```
Lets use this package and run it against one of my most recent small data science projects to see how it performs…
## 13\. ==WTForms==
***“Your go-to tool for handling web forms with ease”***
WTForms is a powerful and flexible form-handling and validation library, that simplifies the process of handling user input by automating common tasks such as validation, error handling, and rendering HTML forms.
WTForms supports data validation, CSRF protection, internationalization (I18N), and more.
- Easy integration with Flask.
- Functionality to create custom form fields or extend existing ones to match your web apps needs.
- Automatically generates user-friendly error messages.
```
from wtforms import Form, BooleanField, StringField, validatorsclass RegistrationForm(Form): username = StringField('Username', [validators.Length(min=4, max=25)]) email = StringField('Email Address', [validators.Length(min=6, max=35)]) accept_rules = BooleanField('I accept the site rules', [validators.InputRequired()])
```
You can take this crash course from WTForms to get a good understanding of the library [**here**](https://wtforms.readthedocs.io/en/3.0.x/crash_course/).
![](https://miro.medium.com/v2/resize:fit:320/0*TaLvlWRrMycKEtje.gif)
Deadman ❌ Deadcode ✅
## 14\. ==Vulture==
***“Dead code detector”***
Vulture is just another Python package, which is why I love Python. It is designed to find unused code in your projects. It scans through your codebase, identifying functions, classes, and variables that are defined but never used. By removing this dead code, Vulture helps you streamline your project, reduce technical debt, and improve maintainability.
Heres some sample code to test the capabilities of this package —
```
def used_function(): print("This function is used")def unused_function(): print("This function is not used")class UnusedClass: def method(self): return "Unused method"used_function()
```
Lets run Vulture on this snippet using `vulture sample.py`
![](https://miro.medium.com/v2/resize:fit:620/1*pXqalOQCNz2MPzuDJmId5A.png)
Script Output — **Vulture** — Screenshot by Author
## 15\. Pydeps
***“Visualize your Projects dependencies with ease!!”***
Pydeps is a Python tool that generates dependency graphs for your project. It helps visualize the relationships between the modules in your code, giving you a clearer picture of how everything is interconnected.
Some key features of *Pydeps* package include —
- Easy to use.
- Highly customizable.
- Supports large codebases.
![](https://miro.medium.com/v2/resize:fit:700/0*WtCyzWJjDKQj6rFL)
Sample generated graph — [Source](https://pydeps.readthedocs.io/en/latest/)
Learn more about this package [**here**](https://pydeps.readthedocs.io/en/latest/).
## 16\. ==Mimesis==
***“Fake it until you make it, especially in testing!”***
Mimesis is a handy Python library that helps you generate all kinds of fake data in various languages. Its great for filling up test databases, generating fake API data, creating JSON or XML files, and even anonymizing real data.
**Key features —**
- Support generating data in 30+ languages.
- Highly customizable.
- Easy to integrate with your testing environment.
- Optimized for generating large datasets quickly.
Lets generate some fake data using Mimesis.
```
import pandas as pdfrom mimesis import Person, Addressfrom mimesis.enums import Genderperson = Person('en')address = Address('en')data = { 'Name': [], 'Email': [], 'Phone': [], 'Street': [], 'City': [], 'Zip Code': []}n = 15 for _ in range(n): data['Name'].append(person.full_name(gender=Gender.MALE)) data['Email'].append(person.email()) data['Phone'].append(person.telephone()) data['Street'].append(address.street_name()) data['City'].append(address.city()) data['Zip Code'].append(address.zip_code())df = pd.DataFrame(data)df
```
![](https://miro.medium.com/v2/resize:fit:593/1*KC47Nq8e3__u7PObah9RJA.png)
Generated Fake data — **Mimesis** — Screenshot By Author
You can learn more about this package in detail through their [**official docs.**](https://mimesis.name/master/)
## 17\. ==Numerizer==
***“Bringing words and numbers together!”***
Numerizer is a simple, yet powerful Python library that converts written numbers like *twenty-five,* into their numerical equivalents. It also supports multi-word numbers like “*one hundred twenty-two thousand.*”
```
from numerizer import numerizeprint(numerize("I have twenty-five apples.")) print(numerize("He owes me one hundred twenty-three dollars.")) print(numerize("Three dozen eggs")) print(numerize("Two Million Dollars"))
```
![](https://miro.medium.com/v2/resize:fit:274/1*-sWp3J0vQ9ZlWYMw7F2L5g.png)
Script output — **Numerizer** — Screenshot by Author
## 18\. ==Yellowbrick==
***“Insights come alive when data meets visuals.”***
Yellowbrick is a machine-learning visualization library that provides visual tools for evaluating the performance, stability, and behavior of models, allowing users to easily compare and tune machine-learning algorithms.
Some key features of Yellowbrick Library include —
✓ Provide visual tools to understand classification, regression, and clustering models.
✓ Visual metrics for clustering algorithms, like silhouette analysis and elbow method.
✓ Works seamlessly with scikit-learn models and follows similar API conventions.
✓ Provide tools to visualize feature analysis and model selection process much simpler.
Lets create a sample model and produce ConfusionMatrix to see beautiful visualizations of Yellowbrick.
```
from yellowbrick.classifier import ConfusionMatrixfrom sklearn.ensemble import RandomForestClassifierfrom sklearn.model_selection import train_test_splitfrom sklearn.datasets import load_winefrom sklearn.metrics import classification_reportdata = load_wine()X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.3, random_state=42)model = RandomForestClassifier(n_estimators=100, random_state=42)model.fit(X_train, y_train)visualizer = ConfusionMatrix(model, classes=[0, 1, 2])visualizer.score(X_test, y_test) visualizer.show()y_pred = model.predict(X_test)print(classification_report(y_test, y_pred))
```
![](https://miro.medium.com/v2/resize:fit:529/1*aVxaeC140cQL4TZuIOSljg.png)
Confusion Matrix — **Yellowbrick** — Screenshot By Author
You can check out their [**Official Docs**](https://www.scikit-yb.org/en/latest/) to understand the different types of visualizations this library offers.
![](https://miro.medium.com/v2/resize:fit:288/0*Yi8NRLddstLGvkcl.gif)
Tinder ❌ Jellyfish ✅
## 19. ==Jellyfish==
***“Efficient Text Matching”***
Jellyfish is a Python library that provides different string comparison methods, making it easy to find similar or phonetic matches between strings. This tool is especially useful in text processing, where exact matches are hard to come by and flexibility is important. Whether youre cleaning up user input, comparing documents, or matching names from various datasets, Jellyfish has a variety of algorithms to help you meet your needs.
**Key features of Jellyfish
**▶️ Supports various algorithms, including Levenshtein, Jaro-Winkler, and more.
▶️ Offers phonetic encoding methods such as Soundex and Metaphone for matching similar-sounding strings.
▶️ Easy to use with various string types and encoding formats.
▶️ Efficient algorithms optimized for speed and accuracy.
Lets build a Python script utilizing the Jellyfish library to check for impersonated domains providing proper Brand Protection. Lets build it around “Amazon”
```
import jellyfishimport pandas as pdknown_domains = [ "amazon.com", "amazonprime.com", "amazonwebservices.com", "amazonbasics.com", "amazonmusic.com", "amazonkindle.com", "amzn.com", ]suspect_domains = [ "amzon.com", "amazonprimee.com", "amazan.com", "amazone.com", "amazonsweets.com", "amacosmaticszone.shop", "amz0n.com", "amason.com", "amzomkindle.com", "amzn.com", "amazop.com", "amazon-prime.com", "amafinance.org", "amafashion.com"]def check_for_domain_impersonation(domain_list, suspects, threshold=0.7): results = [] for suspect in suspects: best_match = None best_score = 0 for domain in domain_list: score = jellyfish.levenshtein_distance(suspect, domain) similarity_score = 1 - (score / max(len(suspect), len(domain))) if similarity_score > best_score: best_score = similarity_score best_match = domain results.append((suspect, best_match, best_score)) return resultsimpersonation_results = check_for_domain_impersonation(known_domains, suspect_domains)df_results = pd.DataFrame(impersonation_results, columns=["Suspect Domain", "Known Domain", "Similarity Score"])def highlight_similarity(val): color = 'green' if val <= 0.8 else 'red' return f'background-color: {color}'styled_df = df_results.style.applymap(highlight_similarity, subset=["Similarity Score"])styled_df.set_table_attributes('style="width: 100%; border: 1px solid black;"')styled_df.set_properties(**{'border': '1px solid black'})styled_df
```
![](https://miro.medium.com/v2/resize:fit:429/1*N-T-2tGJuboAuenWcFNdXg.png)
Suspect vs Known Domain — **Jellyfish** — Screenshot By Author
In the above script output, Red means the domain is kinda impersonating the original brand and Green means it is not much related to the legit domain. For example, we have kept the threshold to “0.7”, you can always change it based on your requirements.
## 20\. PyGWalker
***“Data speaks more when it's visually represented!!”***
PyGWalker is a Python package that turns your data into interactive visualization apps with one line of code and enables you to share your apps with one click.
Some key features of this package include —
- Interactive Visualization.
- Compatibility with GNNs.
- Fully customizable.
- Easy Integration with Jupyter Notebook.
- Dynamically update graphs as data changes.
![](https://miro.medium.com/v2/resize:fit:600/0*MwT53Amm_uBQh_md.gif)
**Pygwalker** — [**GIF Source**](https://kanaries.net/pygwalker)
You can learn more about this package through their [**official docs**](https://docs.kanaries.net/pygwalker).
## 21\. ==PySnooper==
***“Never use print for debugging again”***
PySnooper is an incredibly handy debugging tool that helps you track and understand code execution with minimal effort. By wrapping your code with a simple decorator, PySnooper logs the execution flow, variable values, and line-by-line activities to give you insights into whats happening under the hood.
- Just a decorator can avail its functionality, no need to rewrite your code.
- provides detailed logs including variable tracking and timestamps for every line of code executed.
- Easy to redirect logs to files or other channels.
Lets use a sample code to test the functionalities of PySnooper package —
```
import pysnooper@pysnooper.snoop() def fibonacci_series(n): a, b = 0, 1 result = [] for _ in range(n): result.append(a) a, b = b, a + b return resultn = 3 fibonacci_series(n)
```
![](https://miro.medium.com/v2/resize:fit:584/1*Kko6DqsyQP74nZdeUMi65Q.png)
Generated Logs —**Pysnooper** — Screenshot By Author
Heres the [**official Pypy page**](https://pypi.org/project/PySnooper/) of this library containing some examples you might wanna try.
## 22\. ==PyPerclip==
***“Keep track of your clipboard with ease!”***
PyPerclip is a simple and powerful library that provides cross-platform functionality for copying and pasting text to and from the system clipboard.
It's a cross-platform library that works seamlessly with Windows, macOS, and Linux without requiring any additional dependencies, making it a go-to tool for automating clipboard tasks in Python scripts.
```
import pyperclipdef copy_text_to_clipboard(text): pyperclip.copy(text) print(f"Copied to clipboard: {text}")def paste_text_from_clipboard(): text = pyperclip.paste() print(f"Pasted from clipboard: {text}") return textdef check_clipboard_contains(target_text): clipboard_content = pyperclip.paste() if clipboard_content == target_text: print(f"Clipboard contains: {target_text}") else: print(f"Clipboard does not contain '{target_text}' \nClipboard Text: {clipboard_content} ")def copy_and_format_text(text): formatted_text = f"***{text.upper()}***" pyperclip.copy(formatted_text) print(f"Copied formatted text to clipboard: {formatted_text}")def demo_text_operations(): copy_text_to_clipboard("Python Programming\n") pasted_text = paste_text_from_clipboard() check_clipboard_contains("Machine Learning") copy_and_format_text("Hello World!!") paste_text_from_clipboard()demo_text_operations()
```
![](https://miro.medium.com/v2/resize:fit:513/1*z3jj-v8Z0RW3eRfiC6_dJA.png)
Sample Script Output — **Pyperclip** — Screenshot By Author
## 23\. Tabulate
***“Turn your data into beautifully formatted tables”***
Tabulate is designed to make it easy to create and display data in the form of pretty, well-organized tables. Whether youre working with lists, dictionaries, NumPy arrays, or Pandas DataFrames, Tabulate will help you present your data in a clean, readable format. Its widely used in both CLI (command-line interface) applications and Jupyter notebooks.
```
from tabulate import tabulatedata = [ ["John", 28, "Software Engineer", "New York"], ["Sara", 35, "Product Manager", "San Francisco"], ["John", 25, "UX", "Florida"], ["Charles", 29, "InfoSec", "Austin"], ["David", 42, "Data Scientist", "Boston"], ["Maria", 30, "Designer", "Seattle"], ["Chris", 35, "Red Team", "Ohio"]]headers = ["Name", "Age", "Job Title", "Location"]fancy_grid_table = tabulate(data, headers, tablefmt="fancy_grid")print(fancy_grid_table)
```
![](https://miro.medium.com/v2/resize:fit:335/1*P2BC1nHQDfA5XizZq2fxTg.png)
Generated Table — **Tabulate** — Screenshot By Author
Thanks For Reading Till Here, If You Like My Content and Want To Support Me The Best Way is —
1. ==Leave a Clap👋and your thoughts 💬 below.==
2. Follow Me On ==[***Medium***](http://abhayparashar31.medium.com/)==.
3. Connect With Me On [***LinkedIn***](https://www.linkedin.com/in/abhay-parashar-328488185/).
4. Attach yourself to [***My Email List***](https://abhayparashar31.medium.com/subscribe) to never miss reading another article of mine
5. Do Follow ==[**The Pythoneers**](http://medium.com/pythoneers)== Publication for more similar stories.
@@ -1,74 +0,0 @@
---
title: "3 Advanced Java Best Practices"
source: "https://orlandolorenzodeveloper.medium.com/3-advances-java-best-practices-ac7d02a55432"
author:
- "[[Lorenzo Orlando | Kreyzon Custom Software]]"
published: 2024-10-01
created: 2024-10-29
description: "Hello everyone, today were diving deep in some advanced Java best practices. Lets start right away. Java 8 introduced streams and lambda expressions, which allow for cleaner, functional-style code…"
tags:
- "clippings"
---
[
![Lorenzo Orlando | Kreyzon Custom Software](https://miro.medium.com/v2/resize:fill:88:88/1*RHRLTs-zRl19nGgDF230og.png)
](https://orlandolorenzodeveloper.medium.com/?source=post_page---byline--ac7d02a55432--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*Ac8yn8qIWLfRfS8JeIY_pw.png)
Hello everyone, today were diving deep in some advanced Java best practices. Lets start right away.
## 1\. Use Streams and Lambda Expressions Efficiently
**Why?**
Java 8 introduced streams and lambda expressions, which allow for cleaner, functional-style code. While they are powerful, improper use can lead to performance overhead and complexity.
**Best Practices:**
- Avoid creating multiple intermediate Stream operations like `filter()` and `map()` if not necessary, as they can add overhead.
- Leverage **parallel streams** for CPU-bound tasks but avoid them for I/O-bound tasks (due to context switching).
- Prefer `**forEach()**` for side effects like logging, but use terminal operations like `collect()` for transforming data.
**Example**
```
List<String> names = employees.stream() .filter(e -> e.getAge() > 30) .map(Employee::getName) .collect(Collectors.toList());
```
## 2\. Minimize Synchronization and Leverage Concurrency Utilities
**Why?**
Java provides a rich set of concurrency utilities like `ExecutorService`, `ForkJoinPool`, and `CompletableFuture`. Using these properly avoids blocking and bottlenecks in multi-threaded applications.
**Best Practices:**
- Use `**ConcurrentHashMap**` over synchronized collections for thread-safe operations with better performance.
- Utilize **optimistic locking** (e.g., `java.util.concurrent.atomic` package) instead of traditional `synchronized` blocks.
- Leverage **non-blocking algorithms** and modern concurrency utilities like `CompletableFuture` for asynchronous processing.
**Example**
```
CompletableFuture<Void> future = CompletableFuture.runAsync(() -> { processData();}, executorService);
```
## 3\. Apply Design Patterns and Immutability Smartly
**Why?**
Design patterns like **Singleton**, **Factory**, and **Builder** ensure better object management, while immutability improves thread-safety and reduces side effects.
**Best Practices:**
- Ensure **immutability** in frequently used objects to make them thread-safe without requiring synchronization.
- Use **Factory Pattern** to encapsulate object creation, making the code more flexible and testable.
- Apply the **Builder Pattern** for constructing complex objects, making the code cleaner and avoiding telescoping constructors.
**Example**
```
public class User { private final String name; private final int age; private User(Builder builder) { this.name = builder.name; this.age = builder.age; } public static class Builder { private String name; private int age; public Builder withName(String name) { this.name = name; return this; } public Builder withAge(int age) { this.age = age; return this; } public User build() { return new User(this); } }}User user = new User.Builder().withName("John").withAge(25).build();
```
@@ -1,112 +0,0 @@
---
title: "4 Paradoxes That Will Expand Your Thinking"
source: "https://medium.com/illumination/4-paradoxes-that-will-expand-your-thinking-7cce081bb766"
author:
- "[[Elias Bsaibes]]"
published: 2024-09-06
created: 2024-10-29
description: "Explore 4 mind-bending paradoxes that challenge your understanding of truth, identity, and omnipotence. Expand your thinking with these philosophical dilemmas."
tags:
- "clippings"
---
## PHILOSOPHY | SELF-IMPROVEMENT
## Challenge your mind
[
![Elias Bsaibes](https://miro.medium.com/v2/resize:fill:88:88/1*SAQsabGREIPpn4sf4_os3w.jpeg)
](https://medium.com/@eliasbsaibes?source=post_page---byline--7cce081bb766--------------------------------)
[
![ILLUMINATION](https://miro.medium.com/v2/resize:fill:48:48/1*AZxiin1Cvws3J0TwNUP2sQ.png)
](https://medium.com/illumination?source=post_page---byline--7cce081bb766--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/0*ZiNEIhSUWX60UUHR)
Photo by [K. Mitch Hodge](https://unsplash.com/@kmitchhodge?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
==Our minds crave familiarity, and as we all know, too much familiarity is bad and leads to complacency.==
Its important to challenge the rational mind every now and then.
Thats why today were going to dive into 4 paradoxes that will probably make you scratch your head. (The last one will change your perspective on **God**.)
## 1\. The Liar Paradox
Lets look at the following sentence:
*****This sentence is false.”***
Is it true? If you say yes then the liar sentence is true but it says that its false. Therefore it must be false but you said it is true.
If you say its false, then the sentence should be true because it says that it is false, but then that means that is also false.
You see where it goes.
The paradox here is that the sentence is true and false at the same time.
However, nothing can be false and true at the same time.
This paradox was invented by the philosopher ***Eubulides of Miletus***, who was famous for his paradoxes, in the 4th century BC.
## 2\. The Ship of Theseus Paradox
For this one, we need a little bit of context.
***Theseus*** was a young prince of Athens in Ancient Greece, who wanted to prove his worthiness of succeeding to the throne. To prove it, he decided to embark on a ship towards Crete where the Minotaur, a mythological creature, held Athenian kids and fought it.
He succeeded at rescuing the seven boys and seven girls and killed the Minotaur. Upon his return to Athens, he was welcomed with praise and recognition.
The Athenians decided to keep the boat that ***Theseus*** used as a national treasure for hundreds of years. However, as the boat became old, its worn-out components had to be replaced with new ones.
Over time, every part of the ship was gradually replaced.
Thats when the philosophical dilemma arises: “**Is it still the same boat?**”
Can it still be called ***Theseuss ship***?
If not, then at what point did it stop being?
This paradox was created by the Greek philosopher and historian **Plutarch**, and questions the nature of identity and challenges our understanding of what makes something the “same” over time.
## 3\. The Barber Paradox
In a certain town with only one barber, the law says:
> 1.“The barber shaves all those men who live in the town who do not shave themselves, and only those men.”
> 2.” All inhabitants must be shaved.”
But the question is “Does the barber shave himself?”
If the barber shaves himself, then he must stop because the law says that he shouldnt shave someone who shaves himself.
However, the law also states he must shave himself because the barber needs to shave everyone in the town who doesnt shave himself.
This paradox, introduced by **Bertrand Russel**, leads to a logical contradiction.
## 4\. The Omnipotence Paradox
Imagine for a second an omnipotent being, for example, a God.
He can do everything because he has infinite power, right?
Well, the question arises: **“Can an omnipotent being create a stone so heavy that even it cannot lift it?”**
**If the being can create a stone so heavy that it cant lift**, then it cant do anything — namely, lift the stone, which implies that the being is not omnipotent.
**If the being cant create such a stone,** then theres something else it cant do — create a stone so heavy that it cant lift, which also suggests that the being is not omnipotent.
This paradox, often associated with medieval theologian Thomas Aquinas, concludes that true omni potency is impossible or logically incoherent.
***Thats all for today!***
These paradoxes invite us to rethink our concepts of truth and existence. Let them inspire deeper reflection and curiosity.
🌟**Want to dive deeper into the process of self-discovery and personal growth? Get** [**my free self-reflection guide here.**](https://eliasbsaibes.ck.page/c6c48752e6)
💜[**Join my Discord server**](https://discord.gg/bjfMBxk5UM) to explore meaningful discussions on philosophy and self-improvement. Share your insights, ask questions, and grow with a like-minded community!
***Thank you for reading!***
@@ -1,139 +0,0 @@
---
title: "5 IntelliJ IDE Features That Will Set You Apart as a Java Programmer"
source: "https://medium.com/@gumparthypk/5-intellij-ide-features-that-will-set-you-apart-as-a-java-programmer-7ea88d79d437"
author:
- "[[Gumparthy Pavan Kumar]]"
published: 2024-10-19
created: 2024-10-29
description: "Welcome to the playzone for developers: the IDE. For software engineers, this space is a creative hub where we bring life to ideas by writing code — almost like a second home. 🏠 If the answer is…"
tags:
- "clippings"
---
[
![Gumparthy Pavan Kumar](https://miro.medium.com/v2/resize:fill:88:88/1*M4A0vgIjZcFBBi6dSGDH4g.jpeg)
](https://medium.com/@gumparthypk?source=post_page---byline--7ea88d79d437--------------------------------)
Welcome to the playzone for developers: **the IDE**. For software engineers, this space is a creative hub where we bring life to ideas by writing code — almost like a second home. 🏠
**IDE:** Integrated Development Environment that provides a platform runtime for software development
![](https://miro.medium.com/v2/resize:fit:700/1*YzR6S0Pv7hpMMg6BClwHcg.png)
IntelliJ
Source: [https://www.jetbrains.com/idea/](https://www.jetbrains.com/idea/)
When was the last time you found yourself debugging or refactoring code?
If the answer is recent, then Im right there with you. Whenever I review my old code, I often ask myself, “What was I thinking then?” 😀
Naturally after review, I tend to refactor it because ***progress — not perfection — matters to me***.
While performing the refactoring tasks, I discovered multiple in-house features that I didnt know already existed, which if applied could have helped me become more productive.
In this article, Im excited to share these standout features of IntelliJ that can elevate your skills and make you a more proficient software engineer.
Without further ado, lets dive right in!
## 1\. Live Templates
Live templates are a feature that lets you easily insert common code constructs such as loops, classes, conditions, and print statements.
For instance, in Spring applications, we often need to configure databases using property files, which can make it challenging to navigate and inject these parameters. With live templates, you can create abbreviations to quickly insert these parameters directly into your code.
To configure Live Templates Navigate to -> **Settings -> Editor -> Live Templates**
![](https://miro.medium.com/v2/resize:fit:700/1*EKDTs8bJtNkWxTTTMEYnfg.png)
Live Templates
Now we can use this abbreviation anywhere in applicable paths in this case i.e Property and Other files
![](https://miro.medium.com/v2/resize:fit:700/1*w-XyJTQydoWFJlplB7KGjg.png)
Output
## **2\. File Templates**
File templates serve as default specifications for new files created through the **File | New** window in IntelliJ.
The IDE offers several template variables that can automatically replace content each time a file is generated. Here are a few that I found particularly useful:
1. DATE
2. PACKAGE\_NAME
3. USER
4. PROJECT\_NAME
5. FILE\_NAME
One valuable use case for this feature is the automatic generation of comments that include the authors name and creation timestamp, a practice commonly found in well-maintained open-source codebases.
To configure Live Templates Navigate to -> **Settings -> Editor -> File and Code Templates**
![](https://miro.medium.com/v2/resize:fit:700/1*0cufVy4vXmJ7aaJJy-KTOw.png)
File And Code Templates
## 3\. Structural Search & Replace
This feature lets you search for a particular code pattern in your code. It is essentially a script that you write to determine the search criteria.
One use case where I have observed this feature is very helpful is when searching for patterns/ dependency hierarchies:
For Instance, say we want to replace all occurrences of **For-Next** loop with **For-Each**
![](https://miro.medium.com/v2/resize:fit:700/1*6rKLkDswTJoIenG7UfWzMA.png)
Structural Search & Replace
Just clicking replace will update the code in every matching code pattern.
## 4\. Sort Lines
This feature I find particularly helpful when working with property and env files
It is often possible that your property files become cumbersome with parameters under the same hierarchy not properly grouped, leading to a frustrating experience.
This feature allows you to do the same thing by simply sorting the data according to Lexicographical order
Setting available in **Edit -> Sort Lines**
## 5\. Git Tool Box
This is particularly helpful if you are someone who manages the VCS workflow using the IntelliJ interface
This lets you configure checks, and inspections to run before committing without needing to configure git-hooks.
To Configure Navigate to **Settings -> Version Control**
![](https://miro.medium.com/v2/resize:fit:700/1*DrUYZ0GFtHPV5BSC9vt8yg.png)
Version Control Setting
## Bonus
This will be one of those important features that will make your day much more productive in debugging
## Analyze Stack Trace/ Thread Dump
Often you are interested in analyzing exceptions received in production for some flow. Unlike the exceptions, while you get in debug mode, these exceptions do not have links to help you navigate the corresponding locations in the source code.
With IntelliJ, you can copy an exception trace into **Stack Trace Analyser** then explore information, and navigate to corresponding sections in your application code.
This feature is completely free in Intellij
![](https://miro.medium.com/v2/resize:fit:700/1*JQmZBaXFPOQQxJTLjQ7ZFw.png)
Analyse Stack Trace
## References:
If you find any other features that help in day-to-day, please dont forget to share them in the comments 🙂
Thank you for reading until the end. If you found this blog insightful
Give this blog a few claps 👏 to show your love!
And hit that follow button 👉 and consider [subscribing](https://medium.com/@gumparthypk/subscribe) to stay updated on my latest posts.
Happy Learning! 😊
@@ -1,353 +0,0 @@
---
title: "5 Linux Command Tricks That Will Change Your Life as a Programmer"
source: "https://levelup.gitconnected.com/5-linux-command-tricks-that-will-change-your-life-as-a-programmer-825a4524218a"
author:
- "[[CyCoderX]]"
published: 2024-10-10
created: 2024-10-29
description: "Discover five must-know Linux command-line tricks to enhance your workflow. Learn how to navigate directories, manage files, and track logs like a pro."
tags:
- "clippings"
---
## Boost your productivity with these powerful Linux commands for developers!
[
![CyCoderX](https://miro.medium.com/v2/resize:fill:88:88/1*G0QvUMSU6BON4pMXwt78eA.png)
](https://cycoderx.medium.com/?source=post_page---byline--825a4524218a--------------------------------)
[
![Level Up Coding](https://miro.medium.com/v2/resize:fill:48:48/1*5D9oYBd58pyjMkV_5-zXXQ.jpeg)
](https://levelup.gitconnected.com/?source=post_page---byline--825a4524218a--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/0*Fd7dB4lB9685WfhS)
Photo by [Gabriel Heinzer](https://unsplash.com/@6heinz3r?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
The command-line interface is the bread and butter for most tech professionals, especially developers and system administrators. Whether you are writing scripts, configuring servers, or automating tasks, knowing your way around Linux commands can save you hours of work.
For many, Linux may seem daunting at first glance, but once you unlock the potential of its command-line interface (CLI), youll realize its a programmers best friend. From directory navigation to file manipulation and even debugging, mastering these simple yet powerful Linux commands can drastically improve your workflow.
In this article, well explore five command-line tricks that can make your life easier if youre a developer. These arent just “nice-to-know” shortcuts — theyre game-changers that will save you time and make your interactions with the terminal far more efficient.
**Lets dive in!**
> Id be grateful for your support with a clap! If youre passionate about [Python](https://medium.com/@cycoderx/list/python-sagas-by-cycoderx-5cda9957a9a2), [SQL](https://levelup.gitconnected.com/optimizing-sql-queries-tips-and-techniques-for-faster-performance-7d57aa38722e), [Data Engineering](https://aws.plainenglish.io/azure-data-factory-the-ultimate-cloud-data-integration-tool-bf3e7c6f653a) and [Data Science](https://python.plainenglish.io/automate-email-response-generation-using-the-chatgpt-api-with-python-1d97ab5ce66b), consider following me for more content.😊
![CyCoderX](https://miro.medium.com/v2/resize:fill:40:40/1*G0QvUMSU6BON4pMXwt78eA.png)
## Python Chronicles CyCoderX
## Creating Multiple Combinations of Folders with `mkdir` and Braces `{}`
Organizing files and directories is a frequent task for developers, especially when managing projects or setting up complex directory structures. Normally, creating multiple directories involves a lot of repetitive typing. However, theres a powerful trick with the `mkdir` command that allows you to create multiple directories in one go using braces `{}`.
## The Problem
Lets say you want to create a folder structure for different environments (development, testing, and production) for several services in your project. Traditionally, you might do this manually, which could look like:
```
mkdir devmkdir testmkdir prod
```
This gets cumbersome when your structure becomes more complex. For example, if you needed folders for both `backend` and `frontend` services in all three environments, the process becomes tedious.
## The Solution: `mkdir` with Braces `{}`
Instead of creating each directory one by one, you can combine all of this into a single command using `mkdir` and braces `{}`. This allows you to create combinations of directories efficiently.
For example:
```
mkdir -p {dev,test,prod}/{backend,frontend}
```
Heres a breakdown of whats happening:
- The `-p` flag tells `mkdir` to create parent directories as needed (i.e., it wont throw errors if the parent directories dont exist yet).
- The curly braces `{}` allow you to specify multiple options that `mkdir` will automatically combine.
- The first set `{dev,test,prod}` creates directories for different environments.
- The second set `{backend,frontend}` creates directories for different services.
## What Happens Behind the Scenes
When this command runs, the following folder structure is created:
```
dev/ backend/ frontend/test/ backend/ frontend/prod/ backend/ frontend/
```
## Why This Trick is a Game-Changer
This method saves significant time and reduces human error, especially when youre setting up large projects with complex folder structures. Instead of typing out every combination manually, you can define them in one concise command.
## Navigate Back with `cd -` Instead of Repeatedly Using `cd ..`
As a programmer, its common to find yourself working within deeply nested directories. For instance, you might be moving from your projects root directory into subdirectories for code, configuration files, or logs. However, when its time to return to where you started, navigating back manually by typing `cd ..` multiple times can become frustrating and error-prone.
## The Problem
Imagine youre working in a nested directory like this:
```
/home/user/projects/webapp/src/frontend/components
```
To return to the project root, you might normally have to type `cd ..` several times, like this:
```
cd ..cd ..cd ..cd ..
```
Thats four separate commands just to get back to `/home/user/projects/`. Not only is this tedious, but its also easy to lose track of where you came from.
## The Solution: `cd -`
Heres a simpler, faster alternative: use the `cd -` command to instantly return to your previous directory, no matter how deep youve gone into a nested structure.
**How It Works**
- The command `cd -` doesnt navigate up the directory tree like `cd ..`. Instead, it takes you back to the last directory you were in, almost like a "back" button in a web browser.
For example, lets say you started in your projects root directory `/home/user/projects/webapp/`, then moved into the nested directory `/home/user/projects/webapp/src/frontend/components`. Now, instead of typing `cd ..` several times to return, you can simply type:
```
cd -
```
And youll be instantly back in `/home/user/projects/webapp/`.
## Whats Happening Behind the Scenes
The `cd -` command stores the previous directory in memory, so when you use it, it swaps your current directory with the last one. Its a highly efficient way to navigate back and forth between two directories, especially when youre jumping between a working directory and a deeply nested one.
## Practical Use Case
This trick is especially useful when youre debugging or working on multiple parts of a project. If you need to frequently switch between the projects root and a deep subdirectory, `cd -` saves you from typing long paths or navigating up step by step.
![](https://miro.medium.com/v2/resize:fit:700/0*9saGw1cch1DpzBfa)
Photo by [Igor Starkov](https://unsplash.com/@igorstarkoff?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
## Create Multiple Files Quickly with `touch` and a Range of Numbers
Creating multiple files is a common task for developers, whether youre generating test files, placeholders, or logs. While you might normally create files one at a time, doing so manually for a large number of files becomes cumbersome. Fortunately, Linux offers a way to create multiple files in a single command using `touch` and a range of numbers within braces `{}`.
## The Problem
Imagine you need to create 100 numbered files for a series of test cases, like `test1.txt`, `test2.txt`, all the way up to `test100.txt`. Doing this manually with individual `touch` commands would look something like this:
```
touch test1.txttouch test2.txttouch test3.txt...touch test100.txt
```
As you can imagine, this is tedious and time-consuming. But theres a better way!
## The Solution: `touch` with a Number Range and Braces `{}`
You can use the `touch` command with a range of numbers inside braces `{}` to quickly create multiple files in one go. Here's how it works:
```
touch test{1..100}.txt
```
## Whats Happening Here
- The `touch` command is used to create new files. Normally, youd use it like this: `touch filename.txt`.
- By adding a number range inside braces `{1..100}`, you tell the shell to create files numbered from 1 to 100.
- The result is the creation of `test1.txt`, `test2.txt`, `test3.txt`, all the way up to `test100.txt`—in a single command.
## Example
Lets break it down. Running:
```
touch test{1..10}.txt
```
Creates the following files in your directory:
```
test1.txttest2.txttest3.txt...test10.txt
```
## Why This Trick is a Game-Changer
This method allows you to generate multiple files instantly, saving you from having to manually create each file one by one. Its particularly useful in scenarios where you need placeholder files for testing or logging, or when automating processes that require multiple files as input.
## Practical Use Case
For example, you might use this trick to quickly generate log files for testing an application that processes large numbers of files. Instead of manually creating each file, you can generate them all with one command and focus your time on writing and testing your code.
![](https://miro.medium.com/v2/resize:fit:700/0*kxOg_B3RGNAo8njf)
Photo by [BoliviaInteligente](https://unsplash.com/@boliviainteligente?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
## Real-Time File Updates with `tail -f`
As a programmer, especially when working with backend systems, youll often need to monitor log files for errors, system behavior, or debugging purposes. In such cases, manually checking a log file over and over can be inefficient. Fortunately, the `tail` command has an option to automatically follow updates in real-time, allowing you to monitor changes as they happen.
## The Problem
Lets say youre working on an application and you need to monitor the log file `error_file.log` to track any new errors being logged. Normally, you might use the `tail` command to read the last few lines of the file like this:
```
tail error_file.log
```
While this gives you the current state of the file, it doesnt update in real-time. If the file changes, youll have to rerun the command to see the new lines. This is far from ideal, especially when troubleshooting live systems or monitoring logs for real-time events.
## The Solution: `tail -f` for Real-Time Updates
Using the `tail -f` command, you can follow the changes in the log file as they happen. This allows you to see new lines appended to the file without needing to re-run the command.
```
tail -f error_file.log
```
## Whats Happening Here
- The `tail` command by itself shows the last 10 lines of a file.
- The `-f` option stands for “follow,” which keeps the terminal open and continuously displays new lines as they are added to the file.
This is especially useful when monitoring log files during the execution of your application, as you can see error messages or output in real-time.
## Example
Lets say youre monitoring a web servers log file to see incoming requests and errors:
```
tail -f /var/log/nginx/access.log
```
As new requests come in, youll see them displayed live in your terminal. Theres no need to refresh or re-run the command — it continuously follows the file for updates.
## Practical Use Case
One of the most practical uses of `tail -f` is during debugging. Imagine youre trying to find the cause of an intermittent issue in your application. By following the applications error log in real-time, you can see new error messages as they appear and immediately take action.
For instance, you might run:
```
tail -f /var/log/app/error.log
```
If your application crashes, youll see the error message pop up in real-time, allowing you to troubleshoot without delay.
## Bonus Tip: Combine with `grep`
If you want to follow a log file in real-time but only care about specific entries, you can combine `tail -f` with `grep`. For example:
```
tail -f error_file.log | grep "ERROR"
```
This command will show only the lines that contain the word “ERROR,” helping you filter the log output for relevant information.
## Review Recent Commands with `history 5`
As developers, we often find ourselves repeating certain commands during a work session — whether its compiling code, managing files, or restarting services. Remembering the exact syntax of a command you used earlier or retracing your steps can be tricky, especially if youve been working in the terminal for hours.
Thankfully, Linux keeps track of every command you run in a session. The `history` command allows you to see a list of your previously executed commands, and using it efficiently can save you a lot of time and effort.
## The Problem
Lets say youve been working for a while and you ran a complex `grep` or `find` command that you now need to reuse. You cant quite remember the exact syntax and scrolling through the terminal manually to find it is tedious.
## The Solution: `history 5` to Recall Recent Commands
The `history` command displays a list of commands youve previously run in your current shell session. By default, it shows your entire command history, but you can limit the number of commands it displays by specifying a number.
For example:
```
history 5
```
This will display the last five commands you executed, making it easy to quickly recall and rerun them.
## Whats Happening Here
- `history` alone will print out the entire history of commands from the session.
- By adding a number (e.g., `history 5`), you limit the output to the most recent five commands, helping you focus on just the last few tasks youve performed.
For example, if your last five commands were:
```
123 ls 124 cd src/ 125 mkdir newdir 126 touch newfile.txt 127 history 5
```
Running `history 5` would show:
```
123 ls 124 cd src/ 125 mkdir newdir 126 touch newfile.txt 127 history 5
```
## Why This Trick is Useful
If youve forgotten how you executed a command, `history` saves you from having to figure it out all over again. Its also great for recalling complex commands, such as those with long flags or options that you dont want to retype from memory.
## Practical Use Case
Lets say youre debugging a program and running several different commands to compile, check logs, and restart the service. Instead of remembering each command or scrolling back in the terminal, you can simply run:
```
history 5
```
Youll get a list of your last five commands, making it easy to recall and rerun any of them with minimal effort.
## Bonus Tip: Re-Executing Commands
You can quickly re-execute any command from the history by using the exclamation mark (`!`) followed by the command number. For instance, if you wanted to rerun the `mkdir newdir` command from above (command number 125), you would simply type:
```
!125
```
This saves you from having to retype the entire command and can be a real time-saver, especially when working with long commands.
## Conclusion
Mastering the Linux command-line interface is essential for developers, and the tricks weve covered here are powerful tools to have in your toolkit. From efficiently managing files and folders to navigating directories and recalling commands, these five tricks can significantly streamline your workflow and boost productivity:
- `**mkdir**` **with braces** to create multiple folders in one go.
- `**cd -**` to quickly jump back to your previous directory.
- `**touch**` **with a range** to create multiple files at once.
- `**tail -f**` to follow log files in real-time.
- `**history 5**` to recall and re-execute recent commands.
These are just a few examples of the power that Linux commands can offer. By incorporating these tricks into your daily workflow, you can focus more on coding and less on repetitive tasks, making you a more efficient and productive programmer.
**Always remember to conduct your own research and verify the information you encounter. Relying solely on others can result in outdated or incorrect practices. Take the initiative to implement and refine the code you find, ensuring it meets your specific needs and standards.**
![](https://miro.medium.com/v2/resize:fit:700/0*M3CE87vFMovwI9L-)
Photo by [Rowen Smith](https://unsplash.com/@hellosmith?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
## Final Words:
Thank you for taking the time to read my article.
This article was first published on Medium by [CyCoderX](https://cycoderx.medium.com/list/python-tips-by-cycoderx-43b77ab29941).
Hey There! Im [CyCoderX](https://cycoderx.medium.com/list/python-sagas-by-cycoderx-5cda9957a9a2), a data engineer who loves crafting end-to-end solutions. I write articles about [Python](https://cycoderx.medium.com/list/python-chronicles-cycoderx-675f4f315154), [SQL](https://cycoderx.medium.com/list/sql-articles-by-cycoderx-233abfdfdf15), [AI](https://cycoderx.medium.com/openais-gpt-4o-model-unveiling-revolutionary-use-cases-a36b94b21d36), [Data Engineering](https://cycoderx.medium.com/elevating-your-software-development-skills-in-2024-75e4845cbee7), [lifestyle](https://cycoderx.medium.com/refactoring-your-routine-finding-joy-in-the-developers-daily-grind-257018236108) and [more](https://cycoderx.medium.com/unleashing-the-power-of-distributed-computing-the-future-of-efficient-and-scalable-systems-5fb438f27d6e)!
If you want to explore similar articles and updates, feel free to explore my Medium profile:
![CyCoderX](https://miro.medium.com/v2/resize:fill:40:40/1*G0QvUMSU6BON4pMXwt78eA.png)
## Python Tips By CyCoderX
Join me as we explore the exciting world of [tech](https://cycoderx.medium.com/data-workflows-an-introduction-to-apache-airflow-9dc89d353c6e), [data](https://cycoderx.medium.com/list/python-tips-by-cycoderx-43b77ab29941) and [beyond](https://cycoderx.medium.com/list/data-analysis-data-science-by-cycoderx-f5df65572198)!
**What did you think about this article? Let me know in the comments below … or above, depending on your device!** [**🙃**](https://emojipedia.org/upside-down-face)
## Please consider supporting me by:
1. *Clapping 50 times for this story*
2. *Leaving a comment telling me your thoughts*
3. *Highlighting your favorite part of the story*
@@ -1,154 +0,0 @@
---
title: "7 Productivity Hacks I Stole From a Principal Software Engineer"
source: "https://code.likeagirl.io/7-productivity-hacks-i-stole-from-a-principal-software-engineer-6a8825157198"
author:
- "[[Nidhi Jain 👩‍💻]]"
published: 2024-10-15
created: 2024-10-29
description: "Have you ever crossed paths with a senior or principal software engineer whose work style seems almost magical? Imagine someone who effortlessly transforms complex challenges into elegant solutions…"
tags:
- "clippings"
---
## Golden tips and tricks that can make you unstoppable
[
![Nidhi Jain 👩‍💻](https://miro.medium.com/v2/resize:fill:88:88/1*uyl1LwZSTVTyiSkKNCjrCQ.png)
](https://medium.com/@nidhijain23?source=post_page---byline--6a8825157198--------------------------------)
[
![Code Like A Girl](https://miro.medium.com/v2/resize:fill:48:48/1*rt1mE2Q0rmKsUcJX2ewFoA.png)
](https://code.likeagirl.io/?source=post_page---byline--6a8825157198--------------------------------)
Have you ever crossed paths with a senior or principal software engineer whose work style seems almost magical?
==Imagine someone who effortlessly transforms complex challenges into elegant solutions with just a click, brainstorms ideas at lightning speed, or writes code as if their mind is seamlessly integrated with an intelligent assistant.==
Witnessing such mastery in action can be inspiring and enlightening, revealing the secrets behind their exceptional performance. Discover what makes these top-tier engineers stand out and how you can harness their techniques to elevate your career.
I was lucky to work alongside a few such great people, and I did not miss the golden opportunity to observe and figure out their secret sauce. Believe me, it was like a masterclass in productivity.
Here are the seven hacks I learnt from the ones who operate on a whole different level:
## 1\. The Art of Saying No
![](https://miro.medium.com/v2/resize:fit:700/1*50ZHYRXDUcNbyxTKjTinsQ.jpeg)
Image by [Andrew Martin](https://pixabay.com/users/aitoff-388338/?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=6754668) from [Pixabay](https://pixabay.com//?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=6754668)
One of their biggest strengths? **Context switching with purpose.**
They dont get sucked into every little task. **They know when to focus, when to shift gears, and, most importantly, when to say “no**.”
With 13 Slack channels buzzing for their attention, they dont let the noise dictate their day. Instead, they prioritize like pros.
When something doesnt need immediate attention, it goes on their to-do list. But if its quick and important, they knock it out right then and there.
Its all about choosing **when to engage** and when to move on.
## 2\. The Perfect Setup
Ever notice how they never seem to struggle with development setup issues?
![](https://miro.medium.com/v2/resize:fit:700/1*00lXxSw_q0y94tzJz3ee5A.jpeg)
Photo by [Nubelson Fernandes](https://unsplash.com/@nublson?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash) on [Unsplash](https://unsplash.com/photos/a-desk-with-a-computer-and-a-chair-in-a-room-2nHdjIqGDck?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)
Thats because theyve invested time into creating the perfect environment. Their IDE, terminal, note-taking tools—everything is **custom-tailored** to their workflow. It's like sharpening their saw and keeping it ready to cut the wood in a shot.
They dont run into setup errors or linting problems. Why? Because they spent an extra few minutes configuring everything perfectly from the start.
Its that upfront effort that saves them hours down the line. Not only that, but even their setup, like the mouse, the keyboard, the number of secondary monitors, the orientation of each monitor, and all the other extra peripherals, everything would have been carefully tailored by them to make their mind and body work the best. Its not about using the most expensive or the best. Its about using and keeping what works best for them.
## 3\. Shortcuts Are King
![](https://miro.medium.com/v2/resize:fit:700/1*s3aLPx2uW1ZPb0LkBAO1hg.jpeg)
Auto-generated by Bing
We all love shortcuts, but these engineers take it to the next level, optimizing everything — from keyboard shortcuts to custom command-line aliases. Even small tasks like:
1. Having 100+ aliases for simple commands like :
```
git status to --> gsor kubectl get pods to -> kgp
```
2\. Or assign a meaningful name to each new bookmark you add.
3\. Or instead of bookmarking every new page that comes to you, understand the pattern and bookmark the main one. Instead of 50 bookmarks, they rely on five core ones and have a system to find the rest when needed
4\. Or having the shortcuts of your favourite IDE on tips.
5\. Even using a Keyboard instead of a mouse/trackpad.
6\. Regarding recurring queries or tasks, they dont rely on memory — they rely on **patterns**.
All these habits seem pretty trivial, but this is where the difference lies. Most engineers stay stuck in this daily mundane chaos and lose time and energy, which slows them down. However, shaving off a few **seconds** and a few **joules** of mental energy from every action you take compounds very well over time.
## 4\. Building a second brain
![](https://miro.medium.com/v2/resize:fit:700/1*K6U3rFhS4RCFK1qPKrsGvw.jpeg)
Photo by [GoodNotes 5](https://unsplash.com/@goodnotes?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash) on [Unsplash](https://unsplash.com/photos/a-couple-of-laptops-on-a-table-MJZ4q4v1kdw?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)
Every senior engineer Ive worked with has a solid note-taking system, and while their choice of app varies, the app itself isnt the key—its the framework theyve built. I have seen people using Apple Notes, OneNote, Obsidian, Google Keep, and even a Git repo. They all have one thing in common: a structured system that makes searching and adding notes effortless.
Its not about the tool but the method. Their notes arent random scribbles — theyre organized, categorized, and easily searchable. Need to find something from a meeting last month? Its right there, ready to be retrieved in seconds.
This structured note-taking becomes their second brain. Whether its brainstorming or problem-solving, their notes are the backbone of their productivity. The secret isnt just writing things down; its building a framework that makes finding and using those notes quick and efficient.
## 5\. Automate Everything
![](https://miro.medium.com/v2/resize:fit:700/1*dVgkYULs2viurAVpWIDXhw.jpeg)
Auto-Generated by the author using Dall-E
If theres a task that can be automated, trust me, theyve probably already done it. They hate manual work.
Whether its deployments, testing, or even sending routine emails — automation is their default mode of thinking. Their brains constantly keep asking, “How can I make this take less effort?”
I once met someone who took this to an unexpected level — he automated receiving the daily snack and lunch menu emails at the office. Why? Just to avoid a few extra clicks to get the same information. Yes, theyre that committed to cutting down effort.
You might even sit down for coffee with them, and theyll suggest ways you could automate **your coffee-making workflow**. Thats the level of thinking they operate at.
And its not just for fun — precisely this mindset makes them so effective at work. They see automation opportunities everywhere, from the most minor tasks to the most extensive systems. Once they get an idea, their lightning-fast operational speed ensures they can execute it, often before youve even figured out how to do it the “normal” way.
## 6\. Seamless Multi-tasking
![](https://miro.medium.com/v2/resize:fit:700/1*4ECIUCQgpGgsS7Gv79IgkA.jpeg)
Auto-generated by the author using Dall-E
Time is precious for everyone, but it's like gold dust for a principal software engineer. As you climb the career ladder, so does the count of meetings on your calendar. And lets not forget about the 13 buzzing Slack conversations, quarterly planning meetings, and the occasional fire to put out. Thats the daily battlefield of a principal engineer.
I had a glimpse at the calendar of one such legend, and — it looked like an a ==buffet of back-to-back meetings==. Finding a full day where all those meetings could actually be attended? Impossible. In this scenario, squeezing multiple tasks into a rare one-hour free window can only be a superpower. But wait, isnt multitasking overrated? How do they manage to stay so productive?
Heres where the secret sauce lies: **multi-screen setups**.
I once scheduled a quick call with a senior staff engineer to discuss an issue. As I awkwardly toggled between my terminal, IDE, and browser window, one by one, he casually ==dropped a bomb of wisdom:==
> “How do you even work like that? Its so inefficient!”
Confused, I watched him seamlessly pull up multiple windows side-by-side, working in parallel on the same screen. No more flipping back and forth, wasting time and mental energy. It was like unlocking a new level of efficiency — saving me seconds, cognitive bandwidth, and probably the rest of my life from unnecessary frustration.
## 7\. Decluttered Digital Space
![](https://miro.medium.com/v2/resize:fit:700/1*P-ngahsEBsLSO-EwRFIjxg.jpeg)
Photo by [James McKinven](https://unsplash.com/@jmckinven?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash) on [Unsplash](https://unsplash.com/photos/macbook-pro-tpuAo8gVs58?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)
One thing Ive learned about people and their habits is that how they handle minute-to-minute tasks reflects their mental state. One key attribute that sets senior engineers apart is their exceptional mental clarity.
But heres the thing: that mental clarity doesnt magically appear overnight; its honed over years of practice.
How do they achieve it? By keeping a close watch on everything that could cause mental clutter.
- Got 100+ Chrome tabs open? Not on their watch! Its like having a hundred open mental threads that constantly force the subconscious mind to switch context. They start a task, open only the necessary tabs, and quickly close them once theyre done. This way, they maintain control over context switching with their conscious mind.
- Whenever they download a new document or file, it meets its fate within minutes. It either gets neatly classified and stored or swiftly sent to the digital bin.
- And then theres their inbox — clean and organized. Ive seen multiple staff and senior engineers who prioritize keeping their emails in check. Unread emails? Rare. Important ones? Starred and tackled immediately. Everything else? Archived or deleted without a second thought.
In their digital world, less truly is more.
@@ -1,206 +0,0 @@
---
title: "About a Sea Stray — Learning to Sail the Hard (and Free) Way"
source: "https://medium.com/engage/about-a-sea-stray-learning-to-sail-the-hard-and-free-way-a7af089148d0"
author:
- "[[tara tari]]"
published: 2024-10-18
created: 2024-10-29
description: "Travelogue sailing essay about an unconventional community experiment in the Caribbean sea, upwind voyage of 12 inexperienced sailors from Guatemala to Cuba"
tags:
- "clippings"
---
[
![tara tari](https://miro.medium.com/v2/resize:fill:88:88/1*7H_AFObbLh5Y1p78ipvaKA.jpeg)
](https://medium.com/@taratari?source=post_page---byline--a7af089148d0--------------------------------)
[
![ENGAGE](https://miro.medium.com/v2/resize:fill:48:48/1*0XlXKU7XMVI9VnBz5LQ7EQ.png)
](https://medium.com/engage?source=post_page---byline--a7af089148d0--------------------------------)
“No one is doing this,” Daeli told us on one of those early days. His voice could be heard over the sounds of a small port city in the evening. The motors of boats competed with overhead eighteen-wheelers to the symphony of Latin music, broadcast from open bars and populated private docks along the banks. And, as is characteristic of a night in Guatemala, the air echoed with the barking of distant dogs engaged in endless debate. But from where we were, sailing still in freshwater then on that floating hunk of fiberglass, the churning of the river rose above it all, black water sucked away below us.
## What it means to sail upwind
==We were attempting to cross beneath a bridge in a narrow stretch of river that connects the lake from which we had come to the sea for which we were headed. The problem was that the wind blew precisely from the direction where we wanted to go, and between the grand cement pillars that descended from the tall bridge, our course allowed a minimal margin of error.==
![](https://miro.medium.com/v2/resize:fit:700/0*tXTuS6NM2qPg5idj.jpeg)
Sem paddles the kayak into town while Max and Paul work on Utopie | All photos from the authors portfolio and used with permission
When sailing, you can angle anywhere except into the wind. If you steer too close to the wind, also known as entering the dreaded dead zone, somebody on your boat will scream “Accident!” as your sails luff and your speed plummets and you lose control of steering. In this circumstance you either save yourself in time, turning the wheel out of the wind while you maintain enough speed for the boat to obey, or you are forced to tack. Tack is the sailors term for turn, specifically such that the bow of the boat crosses through the wind, steering from one side of the dead zone to the other by passing right through. This requires various adjustments on board, notably changing which side the sails are on by pulling with frantic will on ropes wrapped around winches, hoping to gather the extent of the slack in time to precede the pressure of the winds upwind impact on loose fabric, to tighten the sails fully before the necessary strength becomes that which requires strained muscles and which wears down the soft skin of damp fingers and palms.
So, approaching the bridge, we maneuvered relentlessly. We tacked left and right to try to fit ourselves through, coming up short and letting the wind push us back again, starting over. Challenge was not limited to the direction of the wind and the width of the passage; we were fighting the current, too, which emerged from the shallows on either side and dragged us backwards with the flow tide of distant sea water rising. The failures persisted for hours. The sun set and the dark swallowed the day, and still we angled upwind, caught some speed, twisted the wheel as far as it could go, watched the bow swing, paddled at the back, switched the sails, over and over.
When we passed at last beneath the bridge, we arched our necks to watch the line of suspended highway move horizontal through the starry sky. We sailed then below red tuk tuk taxis speeding on asphalt and trucks carrying things like cows and the dismembered trunks of mortal trees, and we savored for a moment the precision of our labor, the success of our energy expended.
“Some people sail their whole lives and never do what you all just did,” Daeli addressed us, nine crew members whose only common characteristic was a total lack of sailing experience, as we sat deflated and folding in on ourselves in the cockpit. Exhaustion preyed on limbs unaccustomed to this level of exertion and spirits yet lacking a sailors stamina. “They just turn on their motors and cruise right through.”
![](https://miro.medium.com/v2/resize:fit:700/0*9dB3foc24f-YeDmz.jpeg)
Yelena, Max, Paul, and Josephine on the deck of Friend Ship in Lake Izabal
Friend Shipour twelve meter catamaran built in 1986 and navigating to this day with the same sails, now more patch than original nylonhas no motor. That is, in the most literal sense, what Daeli meant when he told us, *no one is doing this*. A motor means the ability to progress in dead wind, to control your speed steering up to a dock, to fight a strong current, to definitively avoid obstacles. Today the great majority of sailors opt for this added security. Daeli is an exception.
I was first in contact with Daeli during the fall of the previous year when I was working as a housekeeper at a bed and breakfast in the west of Ireland and loathed my boss and got in my head the idea to sail far away. I found him on a website that connects budget travelers with volunteer opportunities all over the world. Daelis listing for a sailing community in the Caribbean, although admittedly a bit unconventional, intrigued me, and though I ended up a happy waitress in Ireland, I saved his details for a later date. He is a forty-some-year-old Frenchman and something of a sailing purist, a dissident of the new age, a loyalist to an obsolete art. I did not know this before I arrived, on something of a whim, on his catamaran in a murky residential mangrove in Guatemala because, at that time, I did not know anything about sailing at all.
![](https://miro.medium.com/v2/resize:fit:700/0*iupzogHZ66-sr-j2.jpeg)
Sem journals and drinks cacao in the cockpit on Friend Ship at anchor
I also did not know, that night anchored on the seaside of the Río Dulce bridge, whether that sentiment*no one is doing this*, a sentiment that evoked little at the time but would, over the coming months, continue to fill with meaning as to eventually overflowwas intended to instill pride or doubt, excitement or fear. I felt none of these things.
## The anchorage from hell and other dangerous decisions
I felt real fear only three times in those four months. The first time I felt fear, the moon was full, and the feeling lasted no more than a minute. We were anchored in a deep-reaching inlet, surrounded by jungle vibrating with the constant call of howler monkeys, in a remote corner of Guatemalas Lake Izabal when a *lancha* (motorboat) full of eight armed figures silhouetted in the moonlight approached out of dense darkness. We knew of the area only that it offered great opportunity to birdwatch by kayak in the cool marshes that branch off around the perimeter and also that Narcos operated in the ancient Mayan temple back beyond the biosphere reserve and the palm plantation that billowed gray fumes up into the towering mountain range across the inlet.
![](https://miro.medium.com/v2/resize:fit:700/0*StwJfdK4htqgERo7.jpeg)
Anchored in an inlet in Lake Izabal
February was nearing its end, and Daeli had been teaching us to sail in the lake for just a week, but nearly a full moon cycle had run its course since I arrived on the catamaran for the first time. The events that led us to that fearful night in the lake began when, barely an hour before dark, I first found Friend Ship lodged in the shallow of a small cove near the city where a Guatemalan family cast a net from their canoe and three small boys bathed nude in the pooling tide out front of their stilted home. I shared this moment with two women whom I would come to consider dear friends; I had met Josephine in the room cramped with sixteen bunks in the hostel in the colonial city of Antigua a week prior and Yelena in the Río Dulce market where I found her ripping the leaves from the crowns of pineapples to test their ripeness only just before we boarded the *lancha* with our big backpacks.
## The mold, the mess, the hydraulic cylinder piece
Immediately upon removing the torn sheet of tarp that served in vain to shield the cabin of the abandoned boat from the rogue outdoors, we were accosted with the stench of mold erupting from the moist enclosure, burning our noses, salivating in our mouths, and making our heads feel faint and achy. We sifted through torn mattresses and wads of rope and assorted knickknacks with our shirts pulled up over our noses until, just after the sun set with headlamps illuminating our way, we assembled on deck the tent we found under planks of wood in a dusty corner of the cabin. It was missing pieces and slightly torn, and the pole was split in the middle, so in the end, it stood half on its own and half leaning clamped against the railings that border the deck. We draped the corner of a sail across the top of our leaky tent, and a floating fort emerged, much like the sort of shelter children might piece together on a living room floor, except not, because we were three womenstrangers as of yetconstructing not for amusement so much as necessity, to provide defense against swampy surroundings and the temperamental clouds sulking in blackness above.
![](https://miro.medium.com/v2/resize:fit:700/0*kErnI6hc_ofk8gDL.jpeg)
Yelena and Josephine on Friend Ship at anchor in the mangroves of Río Dulce
The coming days combined into a collage of sickening chores and shameful adjustments to a lifestyle stripped of luxury. That meant kayaking out to the middle of the lake to bathe in water less exposed to the citys toxic run-off and to fill buckets for dirty dishes waiting on the boat to be rinsed. It also meant relieving ourselves in the buggy mangroves or otherwise off the back of the boat after dark so as not to offend the neighbors. We spent the majority of our waking hours scrubbing dirt from the deck and mold from the cabin, both putrid and layered after half a year of neglect, left defenseless against encroaching tropics. We noticed, too, in the evening time that we were in the company of a mild cockroach infestation.
When we completed the initial decontamination, tasks evolved to incorporate things organizational, resourceful, and mechanical. Josephine fronted the crisis in the kitchen, sorting and tossing various goodies like rusty cans of expired tomato puree and dry rice plagued by mites. Aside from making massive headway in killing the invading fungus by wiping white vinegar on the black corroded ceiling, walls, and floor, Yelena led town missions assigned to us by our absent captainat that point known only as a faceless voice echoing vague instructions and impractical ideas from the speaker of a smartphone. Daeli directed us from afar as though each errand were a mysterious quest, giving us the names of people to ask for in the *tiendas* in town who might be interested in buying our broken battery and explaining how to find the *taller* where we could purchase a solar inverter based on the location of the man who sews shoes on the curb. While Yelena worked out where to buy anti-oxidation fluid and machine oil for half the market price, I pondered what to do with the large piece of mechanical equipment I had stuffed in my duffle bag between old clothes, camera gear, and cash hidden in various inconspicuous containers.
Daeli shipped the hydraulic cylinder piece to my home address before I left because apparently the acquisition of miscellaneous marine products is streamlined in the United States. A man, the only crew besides Daeli with any sailing experience, came and left in the span of that first week. During his brief stay, he helped me install the cylinder to the tiller armwhich we found in a state of precarious decayand the hydraulic hoses that pump pressurized liquid from the motion of the steering wheel, trading with me tools and interpretations of the manual, as I sat curled in the compartment flooded with oil at the back of the boat.
![](https://miro.medium.com/v2/resize:fit:700/0*aO0DK_y-i0lkQdLY.jpeg)
Josephine on deck in the early morning at anchor in the mangroves on Friend Ship
All this might sound unappealing, but at the same time, the morning fog fell such that the sun shone in thick beams of milky air, and everything outside our boat lent itself a shade of green in the lightthe water a muddy green, the lily pads fluorescent, the foliage a sweet array of saturations. The only exceptions were the pink petals of the lilies and the stark white feathers of the heron that stood each day for an hour after dawn on the small wooden dock across the way, watching fish gather in the water around the wreckage of an aluminum vessel that now sprouted weeds and invited ivy to populate its surface of peeling paint. And anyways, several *lanchas* came a couple days later to transfer us to a marina where we waited for the rest of the crew and a local man worked to fill the leaks in all the windows and below some of the deck fittings with fiberglass, the residue of which made us itch on board and infiltrated the hammock that I hung from the mast to the boom to sleep at night. The work was never completed because, when Daeli arrived midday on the following Friday, he wasted less than an hour before he had us swapping Genoas (the large jibsail at the front of the boat) and pushing Friend Ship off the dock, the carpenters tools left out on his workbench by the boathouse with a message to let him know we would be back in town in a week or two to pick up his special mix of anti-slip paint and to pay the rest of the money we owed him.
![](https://miro.medium.com/v2/resize:fit:700/0*HsD_QL7JaqmddP3J.jpeg)
Canyon wall in Río Dulce
That is how we ended up cornered in the lake that night by the men with the guns in the motorboat. We only knew about the cartel base because Daeli told us how, with a previous crew, he had been briefly captured and interrogated on Narcos soil after embarking on an overnight expedition through the untouched jungle, slicing with a machete his path through dense vegetation, to find a spring that he saw on a map on the other side of the ridge. Fear framed by Daelis anecdote dissipated when the boat neared enough for us to make out the matching camouflage uniforms and velcro badges signifying status of official national defense. The long sail to the base of the inlet where we sat anchoredprotected from the elements but vulnerable to unwanted visitorshad proved our most challenging thus far with fierce and volatile winds, rapid consecutive tacks, and the first taste of the intensity that comes with real speed in an environment unforgiving of error. So we were very tired and extra relieved when the men turned out to be military. They asked Daeli some questions in Spanish and then advised us to avoid the other side of the inlet. When they finished inspecting each of our passports and sent warm wishes on their way, we wondered aloud whether their responsibilities involved protecting us from the illegal drug trafficking hub or the other way around.
The second time I felt fear, I was eating ice cream in Belize on Easter Sunday. I had only just sat down on a washed-up log by the coast to enjoy the sounds of a city in celebration when I looked up to see Utopie in the shallows.
## Friend ship to Utopie
We picked up a nine-meter monohull when we returned to Río Dulce sometime in early March. The boat is named Utopie. It belongs to a friend of Daelis, a fellow Frenchman who had apparently made his way across the Atlantic to a tourist island in the Bahamas to fill his pockets working for a few months on the construction of luxury time-share condos. He traveled with another friend, the one who owned the three hundred kilograms of undeclared ceremonial cacao stored under the bed frame and foam mattresses where anywhere between three and five people slept at a given time in the back cabin on Friend Ship. The owner bought the boat half a decade ago with three other friends for five hundred euros each, and we were planning to drop Utopie off to him along our way, enjoying and repairing her ourselves in the meantime, though these plans did not materialize exactly.
Daeli sent three of us to break onto the small black boat. We found Utopie in front of an overcrowded marina, her anchor stuck beneath sediment accumulated on the eroding riverbed, her chain tangled under polluted water from steel links twisting themselves into rusty knots, left for seven months to slow dance in place, spinning about a single axis as the wind and world kept moving around her. We rolled up the canvas covering the entryway and found the sails folded over some pillows and ratty cushions. Together we worked to raise the Genoa with dirty ropes and stiff rigging, and then we sailed slowly upwind against the current and out of the cove.
“Utopie to Friendship,” and vice versa is what we would have said into the VHF if the radio system worked. The six second-hand batteries hooked up to the solar panels sometimes generated enough energy to charge a power bank or a speaker, but this system could not be reasonably relied upon either. So Utopie depended on Friend Ship; throughout our journey, the two generally traveled close enough that a waving flag, a blinking headlamp, or a thrashing of the arms up high could be seen as a signal, and when we came back close together, we could scream messages across raging waters or otherwise pass from one boat to another with a precise maneuver things like fresh cooked fried rice or portable chargers or even a crew member or two.
![](https://miro.medium.com/v2/resize:fit:700/0*BatazBJbICdYNjWD.png)
Josephine watches as Max on Friend Ship passes food to Seba on Utopie
At the time of the incident, we had managed to move both boats from the *río* to the sea and up the Caribbean coast of Central America to Dangriga, a city that tourist pamphlets call the cultural hub of Belize. This transfer involved more upwind sailing through thin channels, and we drifted the second half of the journey to Livingstonthe last stop in Guatemala before the gulfdown the cold river that flows at the base of a great green canyon with our sails fully furled, riding out to sea on the current, progressing with the changing tide at the patient pace of nature.
![](https://miro.medium.com/v2/resize:fit:700/0*jCnUdyt362k-BbDK.jpeg)
Yelena kayaks in the river between Lake Izabal and Livingston
![](https://miro.medium.com/v2/resize:fit:700/0*aDh-jp2UBloZoQpc.jpeg)
Sem watches from Friend Ship as an old woman and young boy fish from their *lancha* in Río Dulce
We sailed inland from the cayes because we were due for a routine town trip. Town trips looked like a dozen *garrafónes* (twenty liter plastic jugs) shuttled to land on continuous kayak and dinghy trips and heavy loads of rice, oats, *frijoles* (refried beans in a bag), and fresh produce dangling in bright bags from the shoulders of us sweaty *gringos* as we shuffled manically through crowded markets. Dangriga was the anchorage from hell because of the shifting sandbanks, vast shallows, and treacherous exposure to winds and waves from the east. An indeterminate combination of these factors caused Utopie to drag two hundred meters at anchor toward shore until her keel lodged into a stubborn sandbar.
We all felt very afraid, increasingly so as hours passed and the daytime died while we spit up saltwater and pruned from head to toe, standing in the sea where invisible jellyfish stung, pushing the boat back against the weight of all elements against us: the wind, the waves, the sweeping current. Two local fishermen helped us manually keel (tilt) the boat in the dark by tugging on a line we tied to the top of the mast. Consequent to the fishermens selfless endurance and some unearned stroke of celestial luck, Utopie was returned after an awful long time to anchor back in safe depths at Friend Ships side, having survived her brush with the seafloor.
The third and final time I felt fear was in early April off the coast of Belize headed northeast toward Cuba. I was co-captaining Utopie because the official captain had taken a holiday on Friend Ship, basking in the relative indulgence of dry bed sheets, a stove that does not throw hot pans to the floor, a wind arrow that works, and a boat with two hulls that floats out at sea in a way that minimizes ones urge to vomit. I had been sleeping as deep as the dead despite the aggressive lift and crash of Utopie sailing upwind over sea swells up to two meters when I heard my name called from the cockpit. I awoke cradled in the small triangular compartment at the nose of the cabin that we called the coffin. We called it this because even I could not fit my whole body laying flat and because the foam mattress was forever wet from the window that leaks with fervor sea from the ceiling.
![](https://miro.medium.com/v2/resize:fit:700/0*4su-fKeI4QwdUZkB.jpeg)
Below deck on Utopie
“Tara,” he spoke, voice hoarse and drowned out. “Wake up.”
I was up, stumbling with the motion of the waves, disoriented by the lingering trace of harsh sleep. An unusual soundthe sound of fabric flapping furiously in the windraised instant alarm. The Genoa tore, a huge gash that stretched a meter on either side of the clew (the lower corner of the sail where ropes are attached). The wind was strong; we were still moving fast, and the material ripped more with every hesitating moment. We knew we needed to lower the sail. We slowed, trying to steer into the wind with limited control, and pulled the Genoa down. Then we watched the meek white light that marked Friend Ship from the top of the mast move further and further into blackness, ignorant to our lights flashing on our mainsail, signifying an emergency. Utopie was ill-equipped for independence, and our friends on Friend Ship stranded us without any means of communication. That fact combined with the urgency of big winds approachingfor all we knew as soon as that following nightand the current dragging us against our will in the direction of a glowing cargo ship in the distance created an understanding of real danger, that feeling of fear.
The knot in the red rope attached to the original Genoa refused to come undone even after having been soaked in seawater and jabbed with an old screwdriver. The only spare rope on the boat was frayed in bits and barely long enough to reach the cockpit on either end, such that when tacking, one must first pull with their hands before gaining enough slack to wrap around the winch. The wind continued to whip as Utopie crashed without control into steep waves in open sea, and we were finding it impossible to raise the spare Genoa. At first, it lifted with ease up the forestay, but then, with a third of the length left to go, it caught. The tallest of us tried at the bow to gather the loose sail together, hugging it as high as he could to reduce the pressure, as the partially raised sail spazzed with violence in the wind, begging to be set free. Despite all our strength and the will of our adrenaline, the rope refused to budge for almost an hour. The mainsail tore too, just as the sun arrived to dismiss the dark and I had finally managed, steering with the boom and the tiller rod together, to turn Utopie downwind, reducing the force of the wind acting against us. All three men pulled on the rope in unison, and in small increments, the Genoa climbed toward the top of the mast. From the cockpit I tightened it, attaching the rope portside, and all of a sudden our boat was back together. I could feel her moving the way I was used to. I kept on downwind, by now long abandoning any sense of our direction, while the men began to reef the main, folding the tare over to avoid any further damage.
![](https://miro.medium.com/v2/resize:fit:700/0*wLkIETMiT4oc8rQv.jpeg)
Sem sews a broken rope on Friend Ship
We had a vague idea of where Friend Ship was headedan island off Mexico called Cozumel where we could shelter from the coming storm and barter and beg at fancy marinas for desperately needed boat partsand just enough phone charge to make it there with our nautical map. On the sail, we were silent as we shared a bowl burdened by depleting rationsleftover rice noodles garnished with soggy sardines from a canuntil somebody said something about intensity. “I think real intensity is good for humans,” I remember my voice crafting the words. “Otherwise it becomes contrived, shoved into corners of life it does not belong.” In the early afternoon, we found Friend Ship surveying the harbor on the west of the island.
## Wind reincarnated
So with these few exceptions, the sailing did not scare me, but sometimes the sailing made me cry. On an otherwise unexceptional Tuesday in late February, for example, crossing from one side of Lake Izabal to the other, the light cooled with the air, and the golden hue of a day winding down evaporated into something softer. Everything in sight tinted with a powerful purplethe rippling water, the dwindling sky, the skin that held the body that marked my membership in it allomitting only the glitter remnants trailing a swallowed sun and the shimmer that fell from the moon into a silver pool of water waving from the direction of the wind. With my arms and hands and fingers extended, I played with the wind at the bow of the boat like a child meeting her for the first time. I closed my eyes and felt the mighty force of her as she propelled us over the length of the lake. With my fingertips and face, the sensation and sound in my ears, the movement of loose hairs on my head, I found her; I knew where she was coming from. I looked at the horizon then and all the lines and shapes that emerge and morph in the fabric of the water, so quickly as to never have really existed at all, and I knew that there would always be this. I cried until the sea desaturated, and I made my peace with the chill of a night in black and white.
![](https://miro.medium.com/v2/resize:fit:700/0*GQhoIc5tmddmzQP3.jpeg)
Yelena and Josephine beneath the shades on Friend Ship in Lake Izabal
When I cried, it was less often because of those things beautiful. It was more often because of rancid feelings that festered in my chest and made me fantasize about endings and escape. There were many moments when I cried and thought about leaving, like when we were out at sea and the wind died. Dead wind feels like forever, like stifling stillness is permanent, like the world is stuck on pause with the sun suspended indefinitely abovehotter and higher than ever beforelike you will never live to taste another twilight, to delight in another dawn because there never will be one, because you and the rest of the living will succumb to circumstance and suffocate on this sick languor, because in the inescapable emptiness of sea, all is as good as dead as the wind.
![](https://miro.medium.com/v2/resize:fit:700/0*wmlapXhIJqOcrYbI.jpeg)
The lighthouse on Cayo Guaro del Este in Cuba
The wind died on the last day of my last sail as we neared the channel to Cienfuegos. We departed an international dive site called *Las Tetas de Maria la Gorda* (the tits of Maria the fatty) on the southwest tip of the island a full two weeks earlier. For lack of leadership and insufficient forethought, we had sailed upwind across a distance of almost three hundred nautical miles, zigzagging the southern coast of Cuba. Besides one mission to refill water and kiss the precious earth of Cayo Largo and one night drinking rum with the lighthouse keeper on the last caye before the span of uninterrupted sea to the mainland, we had pressed straight on through the gulf. This final stretch saw my favorite saila solo night shift on Utopie with *la luna* half herself in the sky, lined up as my sole point of directional reference between the mast and the forestaybut overall the easterlies had humbled us. Worse, though, than the wind blowing from where you want to go is the wind not blowing at all.
On that last day, the wind did not exist, and the boat would not heave to (when you position the sails and steering to halt the headway of your boat), so having collectively forfeit the helm, we spun in cruel circles. This made sustainable shade impossible as the sun surrounded us, running laps around our Utopie. The Genoa flapped in voluminous, swaying motions, and the boom echoed the harsh sound of metal moving against itself with the endless lift, tilt, fall of the boat. The blue waves continued rushing beneath, while body odor polluted breathing on the boat that day, and the sun showed her strength like she wanted to hurt me. I cried and could not speak. Utopie, so small, forbid my solitude. I sat at the bow and squinted into the bright abyss and felt the bumps and blemishes that littered my wilted skin, open wounds from exposed metal and the spines of a vengeful sea urchin that refused to heal for months on end in the salty dampness of life at sea. We were only a few nautical miles out from destination, two weeks of effort behind us, the end taunting in proximity. I felt vile, I felt hate, and I felt hints of lunacy. Had the wind shown any mercy, we would have been but an hours sail away. Instead we watched helpless as the coast moved about in circles, dizzy and with spirits shriveled up in the heat, a sad band of strays at sea.
![](https://miro.medium.com/v2/resize:fit:700/0*QYVo1zNZHBeGSVF7.jpeg)
Crew gathered on the deck of Friend Ship
When the wind returned we had great fun and forgot all about that. That last sail could have been a cumulative exam. We navigated Utopie through the curving channel at every point of sail possible, avoiding many obstacles like the green and red buoys that warn of where the river shoals and some fishermen in rowboats passing low by large commercial vessels. Friend Ship followed close behind, and we blew kisses at our crewmates, our team severed only by the small distance between two sailboats, as they gathered out on the deck amid colorful clothes dangling stiff from the railings and lines draped off the mast. We tacked, tightened, loosened, furled, unfurled our Genoa as the wind surged sporadic through the waterway. We had the main at once secured in the middle, in another instant open wide, restrained to the railing with a rope and a bowline. We attached the spinnaker pole, hoisting the Genoa opposite the main in a broad butterfly. From the helm, I thanked Utopie for giving me one last run downwind as we flew between tall jungle mountains and big buildings of incompatible architectural influences and private docks that revealed passing peeks into family restaurants and homes and some small city streets where vintage cars met horses and fuming motorcycles met men and women moving on foot. Approaching the marina, we battled a sudden current that sucked us dangerously close to a big steel buoy. Having avoided collision, at last I steered Utopie into the wind, furled the rest of the Genoa, and called to drop anchor. I realized then that my hands were shaking and that the space between my shoulder blades was sore, and I stood stunned for a moment in the sobering conclusion of my final sail. Soon the four of us on Utopie paddled the dinghy to Friend Ship where we reconvened and decided how to spend our day. It was by then once again only early afternoon.
![](https://miro.medium.com/v2/resize:fit:700/0*2AU4kDRowcJwX6E3.jpeg)
Utopie sailing upwind off the coast of Belize
## The sea, sensitivity, and sacred surrender
Sailing is an exercise in surrender. We see that when we are stuck sulking in the gulf, deserted by the wind. We see that also when we stick our faces in the Caribbean Sea, when sunbeams dance white from bottomless sapphire blue like the infinite out-reaching tentacles of a motherly creature somewhere in the depth of the earth. Toward the end of the trip, on intermission from filling *garrafónes* from a street tap in the tourist playground of downtown Cayo Largo, we took Utopienine of us crowded together on just nine meters of herto moor at the big buoy out by the reef where the water crashes white and the coral grows like a wicked forest from the seafloor and the ocean flora rolls synchronized with the seas respiration. Just below the boat to the southeast, we found a wreck. It halted me to see, through plastic lenses floating up above, human infrastructure reclaimed, aluminum under siege, compelled to surrender to the sea grass weaving in and out of broken windows and walls dematerializing, metal stripped slowly of its man made form and given back to the world from which it was extracted, swarmed with schools of translucent fish and loose sand traveling on sea currents, the earth enclosing the sunken thing in her gradual and patient grasp.
*Surreal is this life*, I remember thinking, when I shared that moment with a sea turtle. I had been investigating the surface of a pale purple coral head patterned with geometric grooves that resembled a sacred maze, a map of mysterious objective. I was floating there, held by the lure of natures hypnotic design, when the turtle swam up from the shadows. He paused for a moment, in experience of our animal encounter, before gliding away into the sea reef, and I thought for a long while about the manner of his mind. I thought about the forces which compel his decision, the impulses outside articulation that impose on him the will of movement and of life. The turtles divine presence seemed to, in a flash of fleeting clarity, project an impression of flow, to remind me of intuitions that guide the world of which us humans are estranged, to beckon me briefly into the indulgence of innate surrender.
## Girls in havana
I arrived at the airport in Havana two weeks later with exactly zero dollars and my flight information written on a sheet of dotted paper in my notebook. My mother booked it for me after I sent her a satellite message explaining how saltwater had corroded my phone, my debit card froze, and the so-called communist country of Cuba blocks most commercial websites even if I could borrow a device and find access to scarce government-operated internet.
![](https://miro.medium.com/v2/resize:fit:700/0*4cU14hqszGVF4Frx)
Ula and Yelena in the streets of Trinidad, Cuba
The previous day, I took the taxi man on the street at his word that he would meet me in front of the grand theater at eight in the morning. It was just us girls in the city, and I spent the whole morning and afternoon with Yelena, wandering art galleries and dancing salsa in a bar *socialista*. Come night, I crawled into bed beside Josephine, sitting in my underwear on the clean hotel sheets of the Havana hotel room, the harsh Cuban cigarette in between my fingers put off by conversation unfolding of its own accord. I was trying to recognize the symptoms of failure and Josephine to diagnose the cause of it. “There was something fundamentally missing in this experience.” We were of the group not going back to the boats, flying away instead of forging on to Jamaica and then Colombia.
“Community,” I responded, “is not easy.”
The crew was full of extravagant personalities, seasoned travelers with stories from all corners of our fair planet, and so we made friends wherever we went. “*Llegamos en bote,*” we told immigration authorities and market vendors that we arrived by motorless sailboat, “*pura vela, sin motor*,” when we shared about our trip and asked for *discuentitas* on things like mooring fees and immense quantities of ground peanuts. More often than not, they found us more *loco* than sane, but it often helped fill with warm banter the distance between local and *extranjero*. We traveled rustic, spending each only five dollars a day on communal food, besides some legal charges and the occasional personal purchase of rum infused with ancient aphrodisiac herbs, honey harvested straight from the earth, cigars rolled in the kitchen of an *abuela cubana* at a tobacco *finca*, a domino game engraved by hand, or various other mementos that tempted budgets and depleted our dwindling cash supply. We enjoyed many moments and felt at times like family, but we also lacked congruence, the ten to twelve of ussome joined late, others left earlyvoyaging the Caribbean together on our two weathered sailboats. An experiment in equality resulted in an absence of authority, a disorganized crowdsourcing of decision, a friction that arose out of uphill communication. Plans were vague and often died like the wind and the swallow that landed on deck and lost its will to fly mid-migration out at sea. Josephine believes it was meant to be this way. She told me so in her solemnly wise way that commands my faith in her words.
![](https://miro.medium.com/v2/resize:fit:700/0*Ti2EvCepGIhkOyiq.jpeg)
Yelena, Mana, and Sem spend time together in the cockpit on Friend Ship
“It needed to be this way because, yes, it feels unsatisfying and in some ways like failure, but we can go on as individuals and try to fill that void for ourselves. It will look different for all of us.”
## when we ask ourselves why
For me, the physical voyage parallels a personal one. Sailing feels like a first step into a search for a way of life more sensitive, a challenge to the doctrines of a culture that makes me feel more lost than landless sea, the blunt antithesis of those things I have been bred to value: comfort, convenience, consumption. *Why* is a word that comes up a lot. I ask myself this question once in a while, flailing and alone in a foreign country, getting sick off the side of a boat full of strangers anchored by an indigenous village in a remote corner of an empty lake in Guatemala or sailing all night through big winds on a boat with three out of four broken winches, the boom tied up to a random cleat at the back, and a stay sail that requires manual furling. Daeli asked me *why* during one of my first evenings on Friend Ship. Friends and family and entitled acquaintances ask the same, with tones ranging from genuine interest to actual offense. I struggle to this day to put forth with feeble words that which is so much more sublime. To your question, I confess that I have no good answer other than the fact that I am young and want to learn about the world before deciding what to do with it.
That and something about the way grayscale night lingers into the early hours of morning, the range of stars layered millions upon millions going out and out, the way we waited patiently for the colors of day to take their place. It has got something to do with my body, returned to me in uncivilized sea, invulnerable to your scrutiny, unimposed by implication, appreciated for the first time in a long time not as an object of aesthetic servitude but as something deeply personal and wholly mine, the home to all my wonderful senses, the form from which I breath. It is about how I learned to close my eyes and tune in to the direction of the wind, the angle of the boat, the speed with which we move across boundless waters. *Why* relates to all the herons that populated the trees in the canyon that branched out over the blue green river that day we headed for the first time toward sea, the way the birds refrained from flight as we passed by not with disproportionate power nor artificial force but slowly with the flow of the current. It is felt in the fullness of something so taken for granted as still earth after days of drifting in vacant waters, when the sea lets out full, gasping exhales in rhythm as she rushes to kiss the sloping surface of sand soft and light like silk. It showed up the last time we lifted anchor on Utopie, when I reeled in the chain myself, black soot smearing on my legs and smudging under my fingernails, and I realized that I was strong. *Why* finds itself hushed in the suspension of subtle moments, the way once in a while the rising sun and full moon make love in the same sky through which you sail, has to do with how impermanence plays with everything on the horizon until the whole idea of it dissolves into a holy embrace, until these things like now and then and when erupt into irrelevance and for one second or a few, you experience something simpler.
![](https://miro.medium.com/v2/resize:fit:700/0*8Z8jix1GSE57OMbE.jpeg)
Riki on the bow of Utopie in Río Dulce
Some mornings before the sun rose, I imagined it never would. I felt cold at night, sailing in solitude with constellations and watching for dark clouds that foreshadow strong gusts ahead, and I often missed the day. But in the day I sometimes cursed the sun because the heat made me long for night. I learned from the shiver of a moonlit sail, wet from salty waves crashing against the hull and drenching me in the dark, and from the sweat of a scorching one, defenseless to light reflecting off eternal sea, about balance. I learned also, when the sun did rise on those long mornings when I thought it would not and on those uneasy days when the wind stayed stubbornly away, that time fills herself up with all kinds of things, but that all of what is out there has one truth in common, and that is the end.
*Thanks for reading! This piece was originally published under the title “About a Sea Stray” in* [*Volume II of Duvu Magazine*](https://duvumagazine.company.site/products/Duvu-Magazine-Vol-II-p679000557)*, a womens arts and culture publication based in Philadelphia, PA. Find them on I*[*nstagram*](https://www.instagram.com/duvumagazine/) *and purchase a copy to see this essay in its physical spread. Below is a sample from the magazine story.*
![](https://miro.medium.com/v2/resize:fit:700/1*3cliVGPI2tXYLRhUJyngdg.jpeg)
@@ -1,144 +0,0 @@
---
title: "All the “anti-gay” Bible verses Christians cite are 100% fake"
source: "https://medium.com/belover/how-to-talk-to-homophobic-christians-95c083a9ca94"
author:
- "[[Jonathan Poletti]]"
published: 2024-06-07
created: 2024-10-29
description: "I grew up in church and heard it all—a lot. But how believable was it that ancient sacred teachings from Heaven boiled down to hating a sexual minority? That didnt sound like God. They ended up…"
tags:
- "clippings"
---
## A religion badly misrepresents its supposedly sacred text
[
![Jonathan Poletti](https://miro.medium.com/v2/resize:fill:88:88/1*cvtZw7tlludmg5YCPF98fQ.png)
](https://medium.com/@belover?source=post_page---byline--95c083a9ca94--------------------------------)
[
![I blog God.](https://miro.medium.com/v2/resize:fill:48:48/1*CRP9plROyn-_H4Hn4X5oew.jpeg)
](https://medium.com/belover?source=post_page---byline--95c083a9ca94--------------------------------)
## In the Christian world, arguing about God and gays is pretty much a way of life. Most every day, the Bible verses will be flying at high velocity.
I grew up in church and heard it all—a lot. But how believable was it that ancient sacred teachings from Heaven boiled down to hating a sexual minority? That didnt sound like God.
That sounded like Christians.
![](https://miro.medium.com/v2/resize:fit:700/1*J5rC8aVy4O_l8zsV38oNGA.png)
Shutterstock
## I went in for a look at the Bible verses the religion uses for its anti-gay crusade.
They ended up being a whole lot of fake. Heres the bigger picture. Christianity essentially runs on mistranslations. The Bible was written in dead languages, and what it “means” is often just a mystery.
But the religion explained its own “rules” in references to passages that, on scrutiny, become quite different texts. To examine Christian references for most every sexual issues — masturbation, divorce, etc. — one finds a haze of weirdly translated passages and heavy doses of “interpretation.”
## Consider Leviticus 18:22.
The Old Testament verse much beloved by Christians seems to declare that heterosexuality is a divine state, and homosexuality an evil one. But Im going over a pile of papers by Bible scholars who say that Leviticus 18:22, in the Hebrew text, is very different from Christian translations.
> “And-with a male not you-will-lie lyings-of a woman.”
I dont remember that Leviticus 18:22. I remember this one:
> “You shall not lie with a male as with a woman”
## As scholars note, Christianity really worked over the verse to get the Leviticus 18:22 it wanted.
The result is really another text entirely. An *“as with”* was added, and the odd plural “lyings” were whisked away.
What does the original text mean? Susan Pigott is an Evangelical professor of Hebrew at Logsdon Seminary. She [answers](https://medium.com/belover/leviticus-18-22-was-a-christian-hoax-61a8220e7a67): “Well, first it means that translators have taken great liberties in smoothing out these verses.”
Like many scholars she thinks lyings means beds, and she translates Leviticus 18:22 this way:
> “And with a male you will not lay (on) the couches/beds of a woman.”
Looking at that, and Leviticus 20:13, she [writes](https://scribalishess.wordpress.com/2014/02/28/leviticus-defiled-the-perversion-of-two-verses/):
> ==*“Neither verse actually says Do not lie with a male as with a woman. Instead, both say you should not lay with a male on the couches or beds of a woman.”*==
## But all Bible verses that supposedly lay down anti-gay “rules” fall apart on scrutiny.
In the ancient world there wasnt even a concept of sexual identity or sexual preference. Ancient people seemed often to be basically bisexual.
Later on, Christianity insisted that a Greek word, *arsenokoitai*, defined as a problem in Corinthians 6:9 and 1 Timothy 1:10 meant homosexual.
Not even scholars have any idea what this word means. There are no period uses, and later usages [dont seem to suggest a sexual context](https://medium.com/belover/arsenkawhat-8129c409f330). It was all a Christian scam.
## Surely Romans 1 proves God hates gays.
That might seem obvious now, but it wasnt for some three centuries. The Christian reading of Romans 1 as about homosexuality only happened after some delay—and [after they thought](https://www.jstor.org/stable/41480505) the chapter was a ban on female masturbation.
The actual text is some kind of story that involves a lot of weird weirds and references to unknown events. After Romans 1 was “interpreted” to refer to homosexuality, however, it all seemed obvious? The words have been screamed from many a pulpit:
> “Even their women exchanged natural sexual relations for unnatural ones. In the same way the men also abandoned natural relations with women and were inflamed with lust for one another.”
## Except Romans 1 seems to be a story about evil beings who apparently go back to Creation.
The passage says the unnamed evil subjects were *present* at Creation. Is this story about “homosexuals”? Even scholars find its [just unclear](https://books.google.com/books?id=gwCEWmb__UkC&pg=PA38&lpg=PA38&dq=%22remains+open-ended%2C+which+likely+precludes+a+modern+consensus+about+their+cultural+identity.%22&ots=E__pOqQSkv&sig=Fubtcnta37yIgG0J-nrun9s8h70&hl=en&sa=X&ved=2ahUKEwiEzdfAxaTfAhWHdd8KHcsLB2AQ6AEwAHoECAIQAQ#v=onepage&q=%22remains%20open-ended%2C%20which%20likely%20precludes%20a%20modern%20consensus%20about%20their%20cultural%20identity.%22&f=false) who the passage concerned.
Or that was so until a striking resemblance was noted to phrases used in the Dead Sea Scrolls. The story of Romans 1 came into focus. It was about [fallen angels](https://www.academia.edu/41771658/Romans_1_26_27_in_Its_Rhetorical_Tradition) and a story told, back in Genesis 6, about an effort to sire children with human women.
In the Bible, angels are sexual, but copulation with humans as evidently forbidden. To “abandon natural relations” was evil angels reproducing with females who had another nature, i.e. deities with humans.
## Christians re-wrote many Bible stories — like Sodom and Gomorrah.
Churches still teach that a story in Genesis is about the men of some town being gang-raping gays, so God punishes them with fireballs from the sky. And that means: gays will be *punished*.
Well, thats what the religion says. To read the Sodom story about God hating gays is, however, ludicruous on its face. Women are raped in the Bible and that doesnt mean heterosexual sex is being banned.
Then theres problematic facts that Chrisitans prefer to ignore. The Sodom event is referred to many times elsewhere in the Bible without any reference to sex crime. In Ezekiel 16, God explained what the problem had been. The city was “arrogant, overfed and unconcerned…” The Sodom story is typically read in Judaism as a story about inhospitality.
## The Sodom story is really an exercise in Christian fraudulent “interpretation.”
Christian readings ignore many details to create their contrived conclusions. The story in Genesis has some kind of “[grave sin](https://books.google.com/books?id=ta9AAQAAQBAJ&pg=PA136&lpg=PA136&dq=The+reader+is+not+yet+told+the+exact+content+of+Sodoms&ots=eBL0lCqgLq&sig=xUUr4mi-n_6BrxpIgJjzAFu5Yh0&hl=en&sa=X&ved=2ahUKEwjTq4m7zqbfAhUoU98KHZ0lDPYQ6AEwAHoECAkQAQ#v=onepage&q=The%20reader%20is%20not%20yet%20told%20the%20exact%20content%20of%20Sodoms&f=false)” being committed in Sodom that drew God from Heaven down to earth to investigate (Gen 18:2123). The punishment on Sodom and Gomorrah is decided on *before* the angels even arrive.
The sin the city has committed isnt specified, but an “outcry” was heard as a result, and this is usually a cue in the Bible to murder (cf. Gen 4:-911; Exo 2:233:7; Isa 5:7). The outcry is done by souls in Heaven.
## Detail by detail, a startling portrait fills in that youd never hear about in church.
Sodom was a city at war. The angels who arrive are suspected of being spies. The men of the city come wanting to know them, which doesnt mean rape. It means they want to interrogate them.
I go over detail after detail. Lot attempts a [hostage exchange](https://www.academia.edu/8657029/Hospitality_Hostiles_and_Hostages_On_the_Legal_Background_to_Genesis_19.1-9). He wants to put up two daughters for collateral until his two guests leave.
And Christianity read it all as about gay rape.
## The dirty secret of Christianity is that its ideas dont come from the Bible.
To read the Bible as being about anti-homosexuality is just absurd. The gospels are stories of unmarried, childless outsiders who go around talking about concepts like the Kingdom of Heaven. There is no prompt to marriage, having children, or raising them in a nuclear family.
Jesus speaks of himself as gender-neutral and has typically been read in Christian tradition as very androgynous. He often calls himself the son of Man. As the scholar Walter Wink [notes](https://www.google.com/books/edition/The_Human_Being/8yKleFG676MC?hl=en&gbpv=1&dq=%22In+Hebrew+the+phrase+simply+means+%27a+human+being%27%22&printsec=frontcover): “In Hebrew the phrase simply means a human being.”
Jesus has a special love for a younger disciple, known only as the one that Jesus loved. This was a set-up for a religion of “family values”? Not really.
## Jesus was a remarkable teacher who describes a very extreme form of loving.
He wants followers to love each other — and even to love *enemies* (Mt 5:55). This isnt a love focused on a spouse, family, clan, culture or country. Its love for everybody. The idea is impractical, absurd, and maybe divine.
To “love” is also the teaching of the apostle Paul, as in Galatians 5:6: “The only thing that counts is faith expressing itself through love.”
Its Peters teaching in 1 Peter 4:8: “Above all, love each other deeply.”
John cites “love one another” fully *five* times in the 1 John letter alone (3:11, 3:23, 4:7, 4:11, 4:12). You might start to think it was really the Christian teaching all along—that Christians ignored.
## The Bible has queer stories the religion conceals.
From David and Jonathan to [Ruth and Naomi](https://medium.com/p/df915def6a49), the Old Testament is clearly marked by curiously intense same-sex friendships. It continues on into the New Testament. Theres the [Centurion and his slave](https://medium.com/p/93fd1e0b448f), who in Luke 7:2 was “dear” or “precious” to him.
Theres Philemon, a man who [fell in love](https://medium.com/p/bfa4608f1b72) with his sex slave.
Theres also the [apparent rape of Jesus](https://medium.com/belover/the-case-that-jesus-was-raped-1eb16deb91eb) by Roman soldiers during the crucifixion story. That is a “gay rape” actually indicated in the Bible, and which Christianity very carefully ignores.
## The religion in its current form clearly doesnt like the Bible, or Jesus.
Christians wanted a sex-punishing religion, and he was that strange unmarried man who wandered around talking to people.
The religion clearly has no interest in what Jesus said about sex.
He said to love each other. 🔶
@@ -1,116 +0,0 @@
---
title: "Amazons Return To Office Mandate Is A Huge Mistake"
source: "https://ehandbook.com/amazons-return-to-office-mandate-is-a-huge-mistake-a14fe69cea46"
author:
- "[[Joe Procopio]]"
published: 2024-10-03
created: 2024-10-29
description: "Amazon announced a return to office mandate that could wind up causing collateral damage to their own bottom line. Here's are four major reasons why."
tags:
- "clippings"
---
## Amazon dropped a bomb that could wind up causing collateral damage to their own bottom line. Heres why.
[
![Joe Procopio](https://miro.medium.com/v2/resize:fill:88:88/1*jSJzFhN0IssjAReXkUsQaQ.png)
](https://jproco.medium.com/?source=post_page---byline--a14fe69cea46--------------------------------)
[
![Entrepreneurship Handbook](https://miro.medium.com/v2/resize:fill:48:48/1*8sfeJBcpkpaPmv9Epi2Pjw.png)
](https://ehandbook.com/?source=post_page---byline--a14fe69cea46--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*mkc22YdIo27iSuEYp0LY2Q.jpeg)
==A couple weeks before Amazon announced their empire-wide return-to-office mandate, one that requires all Amazon employees to come back to work on-site 5 days a week, I happened to be having drinks with a close friend who is head of HR at a high-growth-stage tech startup with a universal remote work policy.==
She told me she had inside information that one of her “competitors for talent” was about to mandate a return-to-office for all of their employees, and she was already eagerly poaching, with great success.
She didnt tell me it was Amazon. Until now. So I didnt include that information in the column I wrote about our conversation, which was focused on the [top reasons why tech folks werent getting the love they deserved in the recruiting process](https://www.inc.com/joe-procopio/an-honest-recruiter-told-me-why-most-job-seekers-dont-get-hired.html).
But we did talk about that mandate. At length.
So I took what she told me and went down my own rabbit hole. And I discovered that Amazon is probably making a huge mistake.
Here are a number of self-inflicted wounds they just caused, maybe without realizing it.
## You just shrunk your talent pool by up to 90%
Look, Im trying very hard to be balanced on the entire RTO issue.
I can definitely see the benefits of having the entire workforce in the same building(s), and I can empathize with the shock to the system that the pandemic put on companies as it forced work-from-home in 2020.
But theres empathy and then theres math. This is math.
Long before WFH was a perk (now), and long before it was a requirement (2020), it was a *strategy* — one typically employed by companies that wanted to hire top talent across various roles but were physically located in regions that either suffered from a dearth in talent or an inflation of the cost of that talent.
Good luck hiring talent in Peoria. Good luck hiring any talent in San Francisco that can afford to live in or near San Francisco. Add those two demographic characteristics together and you have pretty much all of the US and most of the world.
So any company requiring on-site work is limiting their talent pool to their specific physical location(s). Amazon probably “no-big-deals” this because they are literally everywhere. But still, for every location where they have a physical presence, there will be at least one other company like my HR friends company, cut-throat competing for that same talent.
Theres no win here.
## You just took a major morale hit
One of the problems with a return-to-office mandate is the word “mandate.” Youd think smart people who run tech companies would notice that. Youd think theyd approach the issue with more nuance.
Youd think.
I have many friends who work for Amazon, two of whom I talked about in a previous column outlining [the hoops companies like Amazon make applicants jump through](https://www.inc.com/joe-procopio/tech-companies-cant-find-good-employees-its-their-own-fault.html) during the interview process.
At a certain skill level, pretty much anything above entry level, these kinds of one-size-fits-all methods of treating employees become less and less efficient.
“Its demoralizing for sure, borderline degrading,” one of my friends said. “There is zero need for me to be on campus. I could live with making an appearance a couple days a week, but… Im going to get all corporate here. What does that say about their belief in me as a contributor?”
Hes not wrong. Oh, also, hes looking.
The truth is that in a lot of cases, RTO mandates are smokescreens for a broader talent contribution problem. Again, no win here.
## You just took a major productivity hit
In the [original column that started me down this topic trail](https://www.inc.com/joe-procopio/return-to-office-mandates-are-finally-unquestionably-dead.html), I made it very clear that I was not arguing for one side against another, but that it had become very clear to me that the argument itself was no longer about convenience versus productivity, but a seismic shift in how people view their work, their jobs, and ultimately their careers.
Its evolution, not revolution. And to mistake the former for the latter reveals a huge blind spot in most corporate executive suites.
Also, in that column, I talked about my own experience finding that *even in the office*, most of my work was being done digitally — collaborating on software in the cloud, internal and external meetings using video tech, even random discussions over Slack and text.
People are used to this now. Its the way they work. In 2024, the only thing the RTO mandates do is add [a commute and a bunch of other productivity hits](https://www.inc.com/joe-procopio/the-return-to-office-productivity-argument-is-over.html) to now-universally-accepted processes.
Thats not a win.
## You just became the champion of a real estate crisis you created
I get the corporate real estate thing. I really do.
But the buildup in major metro areas that happened before and during the pandemic — fueled by a generation of millennials that saw a higher quality of life finally wander within their reach — was always a mirage. When inflation followed, it revealed not an oasis, but a very expensive desert.
Remember 2018? Remember all the “HQ2s” being announced by companies like Amazon and Apple and Google? Remember all the local government tax incentives being offered and all the groundbreaking ceremonies?
Of course you do.
Remember all the pushback on those HQ2s that started happening around 2019 and early 2020?
Nope! Because pandemic.
Again, *I side with the effort* to build huge corporate temples at or near places where a lot of people live. But my favorite offices have always been dumps that are easy to get to and are filled with a lot of people I like seeing every day.
If youre going to build a temple, youre going to need a lot of congregants.
I think I have that right.
## I know what Amazon is trying to do
It just doesnt work like that anymore.
And to be honest, there are no dummies there. I believe theyve done the math and the calculations and probably forecasted the collateral damage and wrote a future press release about it.
This will probably work for them. In the long run.
But I can tell you this. Neither return-to-office or remote-work are hills to die on. The best way to optimize talent is to foster that talent, and the best way to foster talent is to foster the individual. This is true in management, in leadership, and in corporate culture.
Until we realize that, were just going to keep screaming at each other about commutes and productivity.
Ill keep tracking that argument and other pitfalls in the tech industry, [so please join my email list at joeprocopio.com](https://www.joeprocopio.com/).
@@ -1,74 +0,0 @@
---
title: "An Outstanding Math Trick That Will Blow Your Mind"
source: "https://medium.com/@kennywallet/an-outstanding-math-trick-that-will-blow-your-mind-d5404e15f846"
author:
- "[[Angel Wills]]"
published: 2024-09-11
created: 2024-10-29
description: "Alright, buckle up, because I just stumbled upon this simple math trick thats guaranteed to surprise (and probably confuse) your friends! Think about it: This simple sequence of numbers follows a…"
tags:
- "clippings"
---
## And How It Connects to Life and Psychology
[
![Angel Wills](https://miro.medium.com/v2/da:true/resize:fill:88:88/0*OFEAtYXJ-iYm1cJ-)
](https://medium.com/@kennywallet?source=post_page---byline--d5404e15f846--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*FoCDhFjKv4oApmfVgfdJKw.jpeg)
Photo by Antoine Dautry on Unsplash
Alright, buckle up, because I just stumbled upon this simple math trick thats guaranteed to surprise (and probably confuse) your friends!
Its one of those tricks thats so simple but feels like youve just unlocked a secret superpower.
## **Heres how it goes:**
Grab someone, friend, family, or coworker, and give them a calculator.
Then, **tell them to type any three-digit number,** like 526.
*Got it?*
Now here comes the fun part.
Tell them to repeat those three digits to get a six-digit number.
So, 526 becomes 526526.
Then, with a smirk, you casually say, “That number will divide perfectly by 13.”
Watch as they punch it in and stare at the screen in disbelief.
**But youre not done yet.**
Next, say, “Now divide that number by 11.” Again, theyll check, and the result will be spot on.
**Finally**, hit them with, “Your answer will now divide exactly by 7.”
*The ultimate reveal?* The final result will be the **exact** three-digit number they started with — 526!
Every. Single. Time.
## Now, heres why this isnt just a fun party trick.
Think about it: This simple sequence of numbers follows a hidden structure and pattern that works, no matter what three-digit number you start with.
And that, my friends, **is exactly how life and psychology work**, too.
In psychology, patterns guide so much of what we do, our thoughts, behaviors, even relationships.
Just like this math trick, we often operate on auto-pilot, not realizing the “rules” were following until someone points them out.
Whether its habits we form or how we approach challenges, our minds love patterns.
And sometimes, we need a little trick (or wake-up call) to see the bigger picture.
**Life, like this math trick**, has its own rhythms and hidden structures.
When we figure them out, we start to feel more in control, whether its navigating relationships, managing emotions, or achieving goals.
Just like dividing that big number and being amazed by the result, once we understand the patterns in our lives, everything seems to fall into place.
@@ -1,69 +0,0 @@
---
title: "Are You Actually Building a Business or Just “Playing Entrepreneur”?"
source: "https://ehandbook.com/are-you-actually-building-a-business-or-just-playing-entrepreneur-3d419784efbb"
author:
- "[[Aaron Dinin]]"
- "[[PhD]]"
published: 2024-10-21
created: 2024-10-29
description: "I was invited to speak at a local entrepreneurship event. It was the usual setup — a room full of ambitious young founders, lots of networking, and lots of buzzwords. After my talk, a young…"
tags:
- "clippings"
---
## If youve been working on the same company for a long time and havent made much progress, theres probably a good reason.
[
![Aaron Dinin, PhD](https://miro.medium.com/v2/resize:fill:88:88/2*7YSB9E-vJYEhaOW0rJt8Gw.png)
](https://aarondinin.medium.com/?source=post_page---byline--3d419784efbb--------------------------------)
[
![Entrepreneurship Handbook](https://miro.medium.com/v2/resize:fill:48:48/1*8sfeJBcpkpaPmv9Epi2Pjw.png)
](https://ehandbook.com/?source=post_page---byline--3d419784efbb--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/0*fxNzrD_yHdHjigQV)
Image courtesy [Pexels.com](https://www.pexels.com/photo/boy-in-white-shirt-wearing-white-eye-mask-6202806/)
I was invited to speak at a local entrepreneurship event. It was the usual setup — a room full of ambitious young founders, lots of networking, and lots of buzzwords. After my talk, a young entrepreneur approached me, eager to share what he was working on.
He was enthusiastic as he shared the vision for his company, and I could tell hed been working on his pitch. He had a slick logo, a branded hoodie, and a stack of freshly printed business cards with his name followed by “CEO/Founder.”
Curious, I asked him a bit more about what his company actually did and how things were going. He started rattling off his plans for social media growth, his upcoming pitch competition, and how hed connected with several “important” people on LinkedIn who could potentially help his business down the line. However, as he spoke, I realized something: he wasnt actually talking about his business. He was talking about *himself*. More specifically, he was talking about *the image* of himself as an entrepreneur.
Clearly hed invested lots of time and energy into looking like a founder. But had he actually done any of the work of a founder? Had he made any sales? Built a product? Secured a customer? He didnt mention any of that, and I didnt get the sense it was because he was trying to keep things private. I got the sense it was because he hadnt moved past the part of his journey where he was actually building a business.
This isnt an uncommon problem. Looking like an entrepreneur is very different from actually being one. ==If youre not careful, you can get so caught up in playing the part that you never figure out the real work that needs to be done.==
## The Difference Between Playing Entrepreneur and Building a Business
Strange as it might seem to people who remember when “entrepreneur” was synonymous with “unemployed,” being an entrepreneur has become a sort of glamorous career path. The lifestyle has a mystique surrounding it — the freedom, the potential for financial success, the thrill of creating something from nothing. Unfortunately, this idealized version of entrepreneurship is often just that: an ideal. The reality is much messier and far less glamorous.
But people who are simply playing entrepreneur never figure this out. Instead, they focus on the easy, surface-level stuff that doesnt require much commitment. Anyone can build a website, order some business cards, create a snazzy pitch deck, and update a LinkedIn profile. These things make you look like youre building a business, but theyre just props in an entrepreneurial play. None of them are the core elements that will actually grow a business.
In contrast, real entrepreneurship is about creating value. Its about building something that solves a real problem. If youre doing that, having a logo and cool job title doesnt matter. Your business will speak for itself through the value it creates and the customers it attracts.
## What Playing Entrepreneur Looks Like
Of course, writing about the importance of creating value is easier than appreciating what that means, particularly if youve yet to build a company that creates meaningful value. To help those of you reading this who might be trying to figure out whether youre being an entrepreneur or playing an entrepreneur, here are a few signs you might be more focused on appearances than actual progress:
1. **You Spend More Time Networking than Selling:** Networking is valuable, but if you spend all your time “connecting” with people who might someday help you, youre missing the point. Entrepreneurs should be focused on selling — selling their products, selling their visions, selling their values. You should be thinking about customers, not hypothetical future connections.
2. **You Talk About Your Vision More than Your Product:** Having a big vision is great, but if all you do is talk about your grand ideas without actually working to make them a reality, youre not moving forward. Real entrepreneurs dont just dream; they execute. If your big ideas dont come with concrete steps to make them happen, then youre just talking in circles.
3. **Youre Obsessed with Branding but Not the Customers Pain Point:** Entrepreneurs often get caught up in creating a polished image. You spend hours choosing fonts, designing logos, and refining your color palette. But if you havent even talked to potential customers or spent time truly trying to understand their pain points, youre not really building a business. Youre just playing dress-up.
4. **Youre in a Pitch Competition Every Other Week:** Pitch competitions can be valuable for raising money and gaining exposure, but they can also become a crutch. If youre constantly pitching but never building or selling, you might be addicted to the adrenaline of pitching rather than the actual process of growing your business.
5. **Youve Been “Getting Ready to Launch” for Months (or Years):** Waiting for the perfect moment to launch usually means youre afraid of what will happen when you do. If youve been working on your product forever but never actually launch, youre avoiding the realities of the market. A real business cant exist in your head forever.
## The Hard Work of Real Entrepreneurship
Playing entrepreneur is easy because it allows you to avoid risk. As long as youre focused on surface-level tasks, you dont have to face the possibility of failure. Sure, you can tell yourself youre “just getting started” or youre “waiting for the right moment.” In reality, youre just avoiding the hard work of building something that might not succeed.
Real entrepreneurship is hard because it requires vulnerability. It requires putting yourself out there and risking failure. It requires accepting that your ideas might not work, that customers might not care, and that investors might say no. But this willingness to face uncertainty and overcome obstacles is the core of what defines “real” entrepreneurs.
Ultimately, the difference between playing entrepreneur and building a business comes down to whether youre seeking validation or value. If youre more interested in looking like an entrepreneur than in doing the work, youre going to struggle. But if youre focused on creating meaningful value — for customers, for employees, and for yourself — youre on the right path.
Remember, entrepreneurship isnt about the title, the business cards, or the networking events. Its about solving real problems and building something that matters. So, before you order another set of business cards or perfect that LinkedIn post, ask yourself: Am I building a business? Or am I just playing entrepreneur?
## [Want more lessons about startups and entrepreneurship? Take a (FREE) mini-course with me right now!](https://aarondinin.com/free-course?utm_source=medium)
@@ -1,84 +0,0 @@
---
title: "Christians Regularly Gaslight People"
source: "https://medium.com/deconstructing-christianity/christians-regularly-gaslight-people-43086c0bab47"
author:
- "[[Lilith Helstrom]]"
published: 2024-06-06
created: 2024-10-29
description: "A few years ago, before I was writing articles on Medium, I was writing romance novels full time. I liked to combine my appreciation for romance with my love of other genres like scifi and fantasy…"
tags:
- "clippings"
---
## Im sick of the mind games
[
![Lilith Helstrom](https://miro.medium.com/v2/resize:fill:88:88/1*YyY95-dMd1BZpr-a-_ltYQ@2x.jpeg)
](https://medium.com/@lilith.helstrom?source=post_page---byline--43086c0bab47--------------------------------)
[
![Deconstructing Christianity](https://miro.medium.com/v2/resize:fill:48:48/1*nmmzmEdbaDIYg9hcrY_b2w.png)
](https://medium.com/deconstructing-christianity?source=post_page---byline--43086c0bab47--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*wyTDs2jhUFfcoe1Ej_u1PA@2x.jpeg)
Photo by Gyorgy Szemok on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
A few years ago, before I was writing articles on Medium, I was writing romance novels full time. I liked to combine my appreciation for romance with my love of other genres like scifi and fantasy.
The Christians I knew acted really weird about it. My books had violence, sex, and magic in them. While all those things are allowed in the Bible, theyre suddenly bad when I write about them.
One of my cousins, on my Dads side of the family, is a youth pastor. He used to be in a band full time, but decided to take his guitar and live for Jesus instead.
His wife, him, and I saw each other at a funeral for his mothers late husband. We got to talking and everyone knows Im a writer, so he asked if I wrote anything interesting lately.
I told him, “I just released a scifi romance novel. Its set in a zombie apocalypse.”
“Thats cool,” he said. “And just so you know, Im not judging you or anything.”
I hadnt thought he was judging me until he said that and never implied that I was assuming any such thing.
“Okay, thats good,” I said, but now I felt awkward.
Why had he brought up judgment? I thought we were just having a conversation about my career. He was definitely judging me.
My Dad acts similarly. He knows Im bisexual. I came out to him a few years ago and I bring it up occasionally, but not too often. I feel nervous to do so because hes homophobic.
But Im not allowed to say Im nervous about that because he will deny hes homophobic if I ever bring it up.
“How could I be homophobic if I had a gay secretary for years?” He says to me, although I dont know what his ex-secretary has to do with anything. “I was nice to my secretary. I gave him presents and even met his husband. How could I do that if I were homophobic?”
“Okay,” I say. “But do you think same sex marriage should be legal?”
“I never said I believed in that,” he says.
“Okay,” I say. “Then you werent very nice to your secretary because you didnt believe he should be allowed to get married.”
“Thats different,” hed say.
Multiple times a week, Ill write articles and many of them will include mean things Ive heard Christians say, like this one. Some were Christians that went to church with me. Some are ones I saw on TV, heard in the news, or saw on Tiktok. Christians get furious with me.
“No Christians do that,” theyll say. “Ive never met a Christian who judges people like that before.”
They act like its only five Christians whove ever said, “Love the sinner and hate the sin” and that somehow Ive met all five of them. Apparently these five Christians really get around because somehow all people with religious trauma must have met those five because theyre all that exist.
“Most Christians arent judgmental like that,” they say. “And the ones who are, arent actually Christians.”
“Okay,” I always say. “But are you going to confront those people? Because if thats true, then theyre making your religion look bad.”
And most of them let me know that \*Im\* the problem because \*Im\* the one full of hate.
And it makes me think that all the Christians who say those things are gaslighters who are like my father. Dont ever accuse them of being homophobic, but theyre also against same sex marriage. ==They dont want to be labeled as hateful, they just want to act hateful.==
They love everyone and they show this love by ripping apart everything about other people. And dont I dare confront their criticisms because thats too critical of me.
Theyve never met a Christian thats hateful and thats why they hate when I confront judgmental Christians. Because they dont exist and Im making it up.
And even though I have PTSD from it, its all imaginary and doesnt exist.
The evidence that these Christians exist are the plethora of victims that I meet everywhere I turn.
But these Christian gaslighters are about keeping the religion mean, but forcing everyone to say its nice.
@@ -1,270 +0,0 @@
---
title: "Containers: has the pendulum swung too far?"
source: "https://itnext.io/containers-has-the-pendulum-swung-too-far-208ad02a6b42"
author:
- "[[Niels Cautaerts]]"
published: 2024-08-15
created: 2024-10-29
description: "Once upon a time, not so long ago, the techno-sphere was divided into two hemispheres: development (Dev) and operations (Ops). The job of the people in Dev was to hack together an application. When…"
tags:
- "clippings"
---
## Containerization has revolutionized the software industry, but using them blindly for everything without considering their drawbacks or alternatives leads to poor outcomes.
[
![Niels Cautaerts](https://miro.medium.com/v2/resize:fill:88:88/1*FccZ3vAsAv7JUn7xlj1j4w.jpeg)
](https://medium.com/@cautaerts?source=post_page---byline--208ad02a6b42--------------------------------)
[
![ITNEXT](https://miro.medium.com/v2/resize:fill:48:48/1*yAqDFIFA5F_NXalOJKz4TA.png)
](https://itnext.io/?source=post_page---byline--208ad02a6b42--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*_WHEsKmlb0iOmj7-teuhAw.png)
## Why we use containers
Once upon a time, not so long ago, the techno-sphere was divided into two hemispheres: development (Dev) and operations (Ops). The job of the people in Dev was to hack together an application. When they were done, they threw it over the wall to Ops who had to figure out how to deploy it and keep it running in production. This way of working was a nightmare on many levels, which is well described in the fiction book [The Phoenix Project](https://itrevolution.com/product/the-phoenix-project/) by Kim, Behr and Spafford. The technical reasons boil down to:
- **Inconsistent environments**: Dev runs and tests their application in some environment which does not match the production environment where Ops deploys it. Breakage happens. No one knows how to fix it. Dev deflects with the iconic “[it works on my machine](https://donthitsave.com/comic/2016/07/15/it-works-on-my-computer)”.
- **Deployment complexity**: Deploying a complex application may require a lot of steps. These are unique for each applications and difficult to automate.
The result is that a deployment is fragile and complex, making a new release to production risky. Combine this with all sorts of process and organizational issues, and you get an unacceptably long release cycle.
Containerization is arguably the key technological breakthrough that bridged the Dev and Ops divide, thereby laying the foundations for the DevOps field. Containers solve the problems above and more by promising the following:
- **Build once, run anywhere:** a container image bundles an application and all of its dependencies. The only dependency required on a host system is a container runtime. The container image is static, and the container process is isolated from the host OS. This means that whether Dev spins up the container on their laptop or Ops runs it in production, the behavior should be identical. With containers, “it works on my machine” should mean “it works on any machine”.
- **Standardization of deployment process**: the container build process is encoded in a definition file (e.g. Dockerfile), which is custom for each application. All deployments involve building a container image, pushing it to a registry, pulling it in the production environment, and spinning up a container from it.
Containers substantially de-risk, simplify and standardize the deployment process of most applications. The hard Ops work in deploying an application is reduced to writing a correct definition file, which is where Ops meets Dev. All this enables much faster iteration and shorter release cycles.
The attractive features of containers has lead to their widespread adoption for all types of use cases, so much so that the container has become the de-facto standard for any “runable unit”. But like any technology, containers also come with drawbacks, which makes them less fit for some purposes where people still stubbornly use them. In the rest of this article, I will highlight some of these issues in no particular order, and discuss some alternatives.
## Challenge 1: Bloat
With popular mantras like “storage is cheap” and “we can always scale vertically in the cloud”, it seems that very few in the software industry care about efficient utilization of resources. With this attitude, naive container use can quickly lead to a spiral in disk and bandwidth consumption.
The core concept behind a container is that it packages ALL dependencies with the application into a single artifact. The only thing that is shared between the host and the container is the (Linux) kernel, which is a key distinction that separates it from a virtual machine. That means container images tend to take up a disproportionate amount of disk space, as well as bandwidth to push/pull them from A to B. This is further exacerbated by the philosophy that each application should live in its own container, and thus have its own image.
For a sizeable and complex application, shipping an artifact that is larger than strictly necessary may be a worthwhile trade for ease of deployment and consistency guarantees.
However, is building, storing and shipping a 12 GB container image, containing a mini-OS, a Python interpreter, and a bunch of packages, really the best way to run a simple Python script in production? I do ponder this question when I need to push this type of image from my asymmetric home internet connection that is capped at 10 Mbps upload. This situation is common, and feels a lot like sending a cargo container with a single banana to China.
There are a few strategies to deal with the pains induced by container bloat: bloating infrastructure to match, image optimization, and effectively using cached layers.
Infrastructure bloating is basically ignoring the problem and instead scaling up the supporting infrastructure to whatever containers demand. A start is getting the most specced-out Macbook. Even better is building your containers in the cloud where you have a more suitable network connection to push and pull images, preferably as part of a CI/CD flow. The optimal configuration seems to be using the specced-out Macbook to run a browser in order to monitor CI/CD runs.
Image optimization, i.e. stripping down a container image to the bare minimum, is an art that is mastered by few developers. Usually this is done by those who provide popular base images. The effort tends to go to waste once the dev dumps in their app and its dependencies.
Cached layers are a feature of some containerization technology like Docker. Instructions in a Dockerfile are run from top to bottom, and each instruction produces a “layer” that is cached. Layers can be pushed and pulled independently. When an instruction in the Dockerfile is changed, the build can start from the cached layer from the instruction before. Layers are cumulative, so a change early in the definition file requires a rebuild of all subsequent layers. By smartly organizing the instructions in the Dockerfile, devs can minimize container build and push times. You can do even better with [multi-stage builds](https://docs.docker.com/build/building/multi-stage/).
Still, these strategies are no panacea. A key problem is that containers are popular for deploying applications written in languages that severely exacerbate container bloat: Python and JavaScript/TypeScript. The container build definitions usually adhere to the following recipe:
1. Start from an optimized base image containing the interpreter
2. Install system packages
3. Install app dependencies
4. Copy in app source code and install the app
5. Define a default entry point
The problem is situated mostly in step 3. Modern Python and JS apps have a lot of fat dependencies that all need to be stored in the container. Even if the app only needs a tiny subset of the functionality provided by some library, you need to ship the entire library with your app. Thus, layer 3 tends to be beefy.
This is a problem, because adding new dependencies happens quite frequently. If you build an environment containing your dependencies on your dev machine, incrementally updating your environment is no big deal. However, in container land there is no built-in intra-layer caching mechanism. This means you have to rebuild the container from layer 3 onward each time you add a new dependency. That means downloading all other dependencies again, recreating your entire environment, and pushing all this data again on deploy. If we revisit our cargo container analogy, its like scrapping our entire container and manufacturing a new one when we want to put a sticker on the banana that were sending to China.
So far, the industry has mostly responded to container bloat with system bloat and tolerating slightly annoyed devs. However, in the current age of “AI”, the industry will be forced to deal with smarter ways to manage basic applications built on top of CUDA, PyTorch and transformer models, where container images easily exceed 10 GB.
## Challenge 2: Reproducible at run time, not at build time
Once a container image exists, it is an immutable artifact that will always produce identical behavior when run as a container. However, it is not necessarily true that rebuilding an image from a definition file produces an identical image.
Non reproducible builds can be problematic for many reasons. For example, suppose you work on an application that needs to be deployed as a container. Your build works just fine. A new colleague joins the project and their build breaks production. You can spend many hours debugging their code before realizing the problem was actually a non-reproducible build step, which you couldnt reproduce because you had a working cached layer.
We encountered this situation in the past, where a build step in the Dockerfile installed setuptools with an unpinned version. A new collaborator built and deployed the app and everything broke. It took quite some time to figure out the build had installed a borked version of setuptools.
Container images are also not stored forever (for reasons described in the bloat section). Often it is assumed there is a one-to-one relationship between a container image and the definition file in a git commit. But that is only true if the built process is reproducible, which is rarely the case.
While pinning of app dependencies with lock files is common and mitigates the worst issues, many definition files still contain `apt-get update && apt-get install ...` as part of their build steps; this is not reproducible. Base image versions are also not always precisely pinned. It is often assumed system packages and base images are stable enough to avoid breakage. But why take the chance?
## Challenge 3: Awkward Dev experience
Devs like to minimize friction in their development process. But if the deployment target is a container, developing for it always introduces what I can best describe as “awkwardness”.
The ideal scenario is developing and testing the code directly in the container that will be deployed. However, a container image is immutable, and any change you make to files in a running container is not persisted. For de-bloating purposes, it may also not be wise to install all your favorite dev tools into every container.
A common pattern is creating a container where you employ a volume mount to mount your project directory (and potentially your virtual environment) on your host system into your container. With this approach, you can simultaneously develop your app on your host system using your favorite dev tools, whilst being able to see the changes reflected in a running container without rebuilding.
Unfortunately this approach also requires you to maintain multiple definition files: at least one for the container you use for development, and one for the real container that will be deployed. Theres a good chance these will drift over time. Non-reproducible builds can become an aggravating factor. Sometimes a rebuild of both containers will be necessary, for example when you need a new system level package. This can be annoying.
As a consequence, many devs simply develop in a local environment created on their machine, and then package up what is needed in a container. This way of working sustains a gap between production and the environment in which the code is developed, which can result in issues down the line. For example, the container may be missing a necessary system package that was installed on the development host. This issue will likely not be detected until deployment in a test environment, because unit tests are typically run outside the container on the dev machine.
## On dev containers
A relatively recent development is the concept of a “dev container”, whereby a complete development environment, including IDE and dev tools, is created inside a container. They may also be referred to as “cloud IDEs”.
The proposed benefits are that all devs work in identical environments, that this environment is not polluted by the host configuration, and that development can be performed through the browser on a remote machine. Potentially the biggest advantage of dev containers is that they can be run directly in the test or even production environment, which allows devs to test their code against external dependencies that are not accessible from their machine e.g. a database.
At the same time this paradigm introduces significant systemic bloat: effectively we create a separate development host for each project!
Additionally, when employing dev containers, you face a dilemma: should the dev container persist data or not? If, for example, you persist the virtual environment and project directory in a volume, the environments inside the dev containers of different developers will drift over time. However, if you do not persist any data the developer experience is negatively impacted: the dev container will have to be rebuilt on every change to the environment, and code changes can only be persisted by committing and pushing.
Finally, dev containers do not entirely bridge the gap between the development environment and production, since the prod container will have to be built from inside the dev container. Depending on who you ask, Docker-in-Docker represents the greatest thing since sliced bread or the worst thing since Scaled Agile For Enterprise.
## Challenge 4: Limits to portability & consistency
Containers are often compared to cargo containers, but the comparison is not entirely accurate.
The cargo container is at the core of international logistics because they are standardized: they have identical dimensions, ways to open them, ways to stack them, and ways to connect them to means of transportation. All of logistics, from freight trains, to harbor infrastructure, to ships, is tailored to this standard. And so, you can ship anything across the globe as long as you can fit it into a shipping container.
Analogously, the software container allows you to deploy any software to anywhere a container runtime is installed, and global cloud infrastructure has somehow converged on [OCI](https://opencontainers.org/) standards and adjusted accordingly.
However, the claim that containers run everywhere is not entirely true. Yes, you can run the same container on Linux and Mac OS, but that is only because the container runtime on Mac OS has a built-in Linux VM. Most containers are built to run on the Linux kernel, and in the past most machines had a X86/amd64 CPU architecture, so containers could pretend to be portable to any machine. With the increased popularity of the ARM64 architecture, containers have become a lot less portable. This problem is “solved” using additional levels of virtualization and/or [cross-platform image building](https://docs.docker.com/build/building/multi-platform/). However, these solutions can become very tricky, since all compiled artifacts inside the container also need to be compatible with the target CPU architecture.
Additionally, a critical difference between a cargo container and a software container is that the former is a closed system, whereas the latter is not.
While a container runtime is the only dependency required to start the container, it is far from the only thing necessary to run the application successfully. To name a few, an application may depend on:
- other applications, e.g. a database
- external state, e.g. files on the file system or in remote storage
- network access
Containers are ideal for stateless applications. Unfortunately, most practical applications rely on some form of external state or means of storing state. That means you need separate systems to manage state, and this implies practical limitations to the portability and consistency of a container. For example, an application may need access to a database, which is not accessible from a developers machine. There are tricks to mock external services, like using a local PostgreSQL container populated with dummy data, but again this is not the same as running the container in production.
Many applications get complex enough that they consist of several communicating containers. In fact, with the hype around micro-services, this often happens by design. Thus, very quickly you need additional tooling to organize deployments. On the complexity spectrum, these range from docker-compose to Kubernetes. Thus containers invite a new kind of systemic complexity to sustain them; this is discussed in the next section.
Of course, limited portability and consistency are usually a lot worse without containers. The point is that containers can only deal with a subset of the issues that differentiate environments; you can not put the entire world in your container.
## Challenge 5: Complexity shifts from application deployments to systems and platforms
This one may be less relevant to developers, but it is certainly relevant to operations people and organizations as a whole.
The Ops work of yore, involving juggling complex app deployments, scheduling releases, and tracking server configurations, is mostly a thing of the past thanks to containers and infrastructure as code (IAC). However, it has been replaced with immense system and platform complexity to support containerized workloads. Someone has to manage this complexity.
The industry standard for container orchestration and deployment is Kubernetes, a massive open source project initially developed at Google. At this point, the complexity of Kubernetes [is a meme](https://faun.pub/top-20-kubernetes-memes-b5cb4c5af395). The [Kubernetes iceberg](https://asankov.dev/blog/2022/05/15/demystifying-the-kubernetes-iceberg-part-1/) goes deep, and once you have a decent grasp on the basic concepts there is still the [insurmountably large ecosystem of tooling](https://landscape.cncf.io/) built around and on top of this technology. To deploy relatively simple containerized applications, the supporting infrastructure has become a Frankenstein monster.
This opens up lucrative business opportunities. Few organizations have the personnel and resources to manage a sprawling “cloud native” platform. Thus vendors step in to convince you that you need this type of platform, but that they will take over the heavy lifting of integrating and maintaining components. Thus, paying for their “managed” services is a necessity, and certainly a bargain compared to the DIY approach.
Cloud providers are the biggest winners, offering their own flavors of Kubernetes and proprietary “serverless” services. Additionally, countless startups have sprung up to offer services of integrated open source components that hide complexity behind a simpler interface. In theory most of the technology is open source, and you can migrate to a competing vendor or embark on the DIY approach. In practice, theres always just enough proprietary magic woven through the products to make a lift and shift impractical. The service might be cheap at first, but since the vendor is controlling the ships wheel of the Kubernetes vessel, they will eventually drive up the price to the highest point you will tolerate.
It [almost](https://world.hey.com/dhh/we-have-left-the-cloud-251760fb) undeniable that in most cases Cloud and vendor managed products offer better value for money than building and maintaining your own cloud native platform. The question is: does every organization really need this type of platform? Or is this demand induced by technology choices we dont dare to question anymore, like containers?
## … and seeps back into deployments
In parallel to platform sprawl, container deployments themselves have become mindbogglingly complex. While the container is presented as a standard runnable unit, whatever application is inside can not be abstracted away. Most applications still need to be configured, which is done by injecting environment variables (or by using ConfigMaps in Kubernetes). This configuration is application specific.
These days, complex multi-container app deployments are defined in Helm charts, which combines YAML config with Jinja templating, because writing out all the raw Kubernetes YAML manifests would be too cumbersome. The format of the configuration YAML is specific to each Helm chart and can easily span thousands of lines. Hence, customizing a deployment requires quite a bit of study; a process that must be repeated for each application you deploy.
At some point one might wonder whether containers are still achieving the aims of simple, standardized and reproducible deployments, and whether the platforms that host them simplify operations. It is ironic when technologies that aim to solve old woes come full circle.
## Alternative 1: Statically linked binaries
Those who are high on the cloud-native Kool-Aid will find this argument absurd, but please allow me to cook and save your judgement for the end.
With containers we aim to produce a portable self-contained runnable unit that does not rely on external dependencies, save for the container runtime.
Operating systems have had a feature like this for decades without the need for a container runtime: statically linked executables. Golang and Rust applications tend to compile down to a single binary that contains all of its runtime dependencies. Get this file onto any system and just run it; nothing but the OS kernel required.
Statically linked binaries are more bloated than dynamically linked binaries, but this added bloat dwarfs in comparison to the bloat of a container with a simple Python app. Additionally, since we prefer to avoid dependency hell, dynamically linked binaries would these days anyways be deployed as a container with all runtime dependencies included. So why not skip the container wrapper all together and aim for statically linked binaries?
Not only do statically linked binaries drastically reduce bloat compared to containers, they make reproducible builds more straightforward, simplify the dev experience, have the same limits to portability as containers, and dont require complex supporting infrastructure.
As long as application dependency versions are well managed (i.e. with requirement and lock files in version control), the compiler version is pinned, and compiler flags are fixed, a build should be reproducible and should map directly onto a git commit. No subtle trickiness in container definition files.
With statically linked binaries, there is no gap between development and production. As part of the development process, a dev must compile and run the app on their machine. Going to production simply means getting that same binary onto the production system. While repeated compilation can be annoying, Golang compilation times are short, and it sure as hell beats repeated building of containers.
A binary has the same limitations on portability as a container: they work on a specific CPU architecture + OS combination, and may depend on external state. Cross compilation of a binary is typically simpler than multi-platform container builds, since cross compilation is fully managed by the compiler. In modern languages like Golang, this feature is well supported.
Containers invite complex systems. Since they aim to be completely isolated from the host on which they run, a lot of additional tooling and abstractions are required to undo some of this isolation when it is required. For example, when a container needs to interact with other processes, interact with data on the host or external systems, coordinate communication among containers, inject application configuration, etc. we need to make “holes” in our container using abstractions like volumes.
Thus, behemoths like Kubernetes are born to serve as a pseudo OS for containers. Complexity invites misconfiguration and security problems; just Google Docker/Kubernetes privilege escalation.
By contrast, a process spawned from a binary has a decent default level of isolation provided to it by the OS, and yet does not require complex machinery to interact with other processes or data on the host. Depending on the application, this reduced level of isolation can be a good or a bad thing, but often it seems we jump through hoops to do things with containers that a regular process on the host could have easily done.
Of course the comparison between a container and a binary is not entirely fair. Containers have isolation features that are difficult or impossible to replicate with a regular process. Containers have an isolated filesystem, isolated process namespace, isolated networking, decoupled user and group IDs, and more. Regular processes all see the same filesystem, other processes running on the host, the same network, and the same users and groups. Some scenarios may call for the isolation level of containers. But is this always the case? And does this absolute isolation really simplify deployments? Since we often want to connect and exchange data between the isolated systems inside containers, I would argue no. Especially in the age of cloud, where everything is running on a VM anyway, do we gain much by inserting this additional virtualization layer?
Instead, it seems that containers are primarily used today as a bloated pseudo-binary for applications written in languages that dont have real binaries. While this democratizes production to a wider range of applications, which can be great for legacy applications, it does not incentivize writing new applications in more performant, leaner languages. Is it a good thing that we can dump a 10 GB box of Python spaghetti into production without a second thought about resource utilization? The “deliver business value fast” crowd will say yes, the devs who have to deal with the fallout later down the line and [the planet](https://greenlab.di.uminho.pt/wp-content/uploads/2017/10/sleFinal.pdf) may disagree.
## Alternative 2: Nix and NixOS
[Nix](https://nixos.org/) is a unique package manager for Unix systems, with very attractive features that show promise in closing the Dev and Ops gap. It behaves in a very different way compared to typical package managers like apt or homebrew. NixOS is a Linux distribution built on top of the Nix package manager.
For those unfamiliar with Nix and NixOS: a not so quick debrief.
## What is Nix(OS)?
Nix aims to guarantee fully reproducible builds, environments and configuration. These are all expressed declaratively in a domain specific functional [Nix language](https://nix.dev/tutorials/nix-language.html), which looks a bit like JSON but functionally behaves more like Haskell.
Nix expressions can be used to produce “derivations”, which correspond to software packages in most cases, but can also correspond to user environments, system configuration, or even an arbitrary collection of files. Nix ensures that outputs are always fully reproducible and do not depend on any system level software, by building derivations in isolated environments and enforcing that all inputs (files, dependencies, other derivations) are explicitly declared.
Nix makes dependency management a breeze. All outputs get stored in the “Nix store”, with a file path that contains a hash calculated from all inputs and the declared build process. This ensures that any change in inputs or configuration results in a new “version” of the package that is stored on a different path. Therefore, multiple versions of packages can perfectly coexist with Nix. No package depends on system level software, all dependencies down to different glibc versions exist in the store.
An environment or shell configuration consists of a collection of packages that exist in the Nix store plus potentially some configuration and hooks. This offers a much more comprehensive alternative to things like Python virtual environments. A Python `venv` only stores Python packages and modifies the `PYTHONPATH`, but it can not manage the Python interpreter or any other system package. Nix can create a complete and reproducible environment that is fully isolated from any system level packages.
Most package managers permanently and irreversibly mutate the state of a system. For example, when you run `apt upgrade`, old versions of software are typically removed and replaced with new ones. This is not the case with Nix, as the Nix store is immutable—old versions of packages are never overwritten. Instead, they coexist in the store until they are explicitly cleaned up to save disk space. In Nix, changes in system behavior are managed by intelligently updating symlinks that point to the active versions of packages. This approach ensures that all changes are non-destructive and can be easily rolled back to any previous state, a feature that Nix supports natively.
Finally, NixOS is a Linux distribution built on top of the Nix package manager. All system configuration is expressed declaratively in a configuration.nix file. This means that the state of your entire OS can be managed in version control. All packages, services, and all system settings, become fully reproducible.
## How do Nix and NixOS offer an alternative to containers?
The unique nature of Nix allows us to run different packages in isolated environments on the same machine, just like containers allow us to do. Each application can have its own set of dependencies (some of which may be shared and exist once in the Nix store), as well as configuration and environment variables. We can run them simply as native processes on the host. If the host runs NixOS, we can declare all these services and their configuration in the systems configuration.nix file. Therefore the OS acts a bit like a very lightweight, single machine Kubernetes cluster.
Nix(OS) can address some of the challenges created by containers:
- **Less bloat**
Nix is more bloated than the average system package manager, but it is only as bloated as it needs to be to guarantee reproducibility.
On a developers machine, one can draw an analogy between Nix derivations output and container image layers, as both act as a form of cache. However, there is a key difference: Nix organizes its cache at the package level, connecting derivations via a dependency graph, which allows for fine-grained sharing and reuse of individual components. In contrast, container image layers correspond to a series of imperative build instructions and are organized in a linear chain. This means that in Nix, changes to a single package result in only that package being rebuilt, whereas in containers, a change typically requires rebuilding all subsequent layers in the chain.
Instead of shipping around massive monolithic artifacts like containers, we only need to ship Nix code and our application code. The production environment can recreate an identical environment by pulling the Nix code, and then Nix can do the hard work of syncing the environment with the definitions. To avoid that the production servers need to rebuild outputs (which could involve downloading sources and compiling), a recommended architectural pattern is using builder servers and a centralized cache, see [this book](https://leanpub.com/nixos-in-production).
- **Reproducible by design**
This one is self explanatory. Nix was built from the ground up to guarantee reproducible builds. It is an afterthought for Docker containers.
- **Superior dev experience**
Thanks to Nix, devs can develop in an isolated and reproducible environment directly on their machine; no need for container hackery or dev containers. Each project has an environment definition file (e.g. [shell.nix](https://nixos.wiki/wiki/Development_environment_with_nix-shell)) which is tracked with version control. It ensures that each dev working on the project works in exactly the same evolving environment and that the environment can be rolled back to any commit. It is a much less painful process than being forced to rebuild containers throughout the development process.
Additionally, we can re-use the same Nix code for deploying the application in production.
- **Similar portability characteristics**
Containers need a container runtime to function, Nix expressions require the Nix interpreter to be installed on each system. The best results are achieved when the host OS is NixOS, especially in the production system. This is not required for dev machines, though Linux is probably preferred.
- **Simpler systems and platforms**
With Nix(OS), we can achieve many of the same characteristics that make containers desirable, like isolation and consistency, using simpler primitives. Running applications directly on the host means we can cut out an entire layer of abstraction that adds complexity which is not always necessary. Simpler systems means cheaper and more secure systems.
## Nix ♥ containers
We have so far been discussing Nix(OS) as an alternative to containers, but this need not be. If deployment infrastructure for containers is already in place, it can be hard to justify not deploying a container. In this case we can benefit from Nixs [dockerTools](https://ryantm.github.io/nixpkgs/builders/images/dockertools/), which allows us to build Docker containers in a declarative and reproducible way, as opposed to using the imperative and non-reproducible Dockerfile. [Heres an interesting talk/blogpost about i](https://xeiaso.net/talks/2024/nix-docker-build/)t.
## The drawbacks of Nix
Nix and NixOS are about 10 years older than Docker containers (2003 vs. 2013), but the level of maturity is much lower. There has been a [recent rise in popularity](https://trends.google.com/trends/explore?date=today+5-y&q=nixos&hl=en), but still pales in comparison to containers. The project was started as part of a PhD thesis and evolved into a community lead effort; it has nowhere near the level of corporate backing compared to Docker or Kubernetes. The community is unfortunately well recognized for its high levels of drama, [especially recently](https://github.com/KFearsoff/nix-drama-explained), a trait it shares with the Rust community. Still, there are [serious companies funding the project](https://opencollective.com/nixos), and some opting to use [Nix(OS) in production](https://leanpub.com/nixos-in-production).
The Nix language is somewhat arcane with odd syntax, which hinders adoption. In order for devs to collaborate on a project, all of them must know the basics of the Nix language and adopt Nix tooling to manage their local environment. It can be tricky to assemble such a team, since the Nix documentation is scattered, patchy and often outdated. Often, the best way to figure out how things work is by sifting through the [Nixpkgs code](https://github.com/NixOS/nixpkgs/tree/nixos-unstable).
A major downside of Nix is that in order to benefit from it, everything in the project must be done “the Nix way”. Nix should be the only package manager that connects all packages, otherwise reproducibility is lost. “The Nix way” is often very distinct from the default way projects and their dependencies are managed in most programming languages, and thus requires a culture shift. Additionally, all outputs, like binaries, should have been produced through Nix derivations, which can be tricky when all you have is a precompiled binary from a proprietary application. The Nix philosophy necessitates a break with the Unix [FHS](https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard), which means that dynamically linked binaries that expect an FHS compliant system dont work out of the box. There are some workarounds like [nix-ld](https://github.com/Mic92/nix-ld), [patchELF](https://github.com/NixOS/patchelf) and [buildFHSUserEnv](https://ryantm.github.io/nixpkgs/builders/special/fhs-environments/), but it can be fiddly to get these types of applications to run. Statically linked binaries are of course always simple to work with.
## Summary
Containers have become ubiquitous in the modern IT landscape. Alongside it, a maze of infrastructure and tooling has sprung up to support it. Containers have a lot of benefits, but also a number of drawbacks which I discussed in this article, namely:
- they tend to be very bloated for the small amount of functionality that is often shipped
- making image builds reproducible was an afterthought
- they make for an awkward dev experience
- they are not always as portable as is claimed
- they have given rise to extremely complex systems to run and manage them
These drawbacks can eventually have real consequences on the security, cost, and sustainability of our systems.
I explored two completely different approaches to develop and deliver software, and compared them to containers: deploying statically linked binaries and developing with Nix(OS). These can mitigate some of the aforementioned drawbacks of containers, but are of course no substitute for all situations. These approaches are not mutually exclusive with containers either: statically linked binaries can make containers much leaner, and Nix can help make container builds reproducible whilst improving the dev experience.
Containers and Kubernetes may be the answer for some situations; the main question I raise in this piece is whether they should be the only answer for everything.
Thank you for coming to my TED talk, feel free to share your opinion in the comments!
*Opinions expressed in these pieces are my own. Check out my* [*personal blog*](https://nielscautaerts.xyz/) *where I occasionally write about random things that interest me, and feel free to* [*connect with me*](https://nielscautaerts.xyz/contact.html)*.*
@@ -1,98 +0,0 @@
---
title: "Decommissioned! An Unformatted Hate Email Was Enough For A Popular Node.js Project"
source: "https://tomaszs2.medium.com/decommissioned-an-unformatted-hate-email-was-enought-for-a-popular-node-js-project-c24fd287f582"
author:
- "[[Tom Smykowski]]"
published: 2024-05-17
created: 2024-10-29
description: "James Sumners is one of the most respected figures in the Node.js wide community due to maintaining multiple essential projects. Among this projects you know for sure Fastify, a light Node.js web…"
tags:
- "clippings"
---
[
![Tom Smykowski](https://miro.medium.com/v2/resize:fill:88:88/1*QBY4yLB-8qciSZmu9tYqpA.jpeg)
](https://tomaszs2.medium.com/?source=post_page---byline--c24fd287f582--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*J5AwdEr2hNQzhcc6gFlv5g.png)
## A lack of time, usage and an outrageous email led LDAPjs core maintainer to decommission it. When people will learn to format their code?
James Sumners is one of the most respected figures in the Node.js wide community due to maintaining multiple essential projects.
Among this projects you know for sure [Fastify](https://github.com/fastify/fastify), a light Node.js web server or [Pino](https://github.com/pinojs/pino), fast json logger, he was involved also as a core [maintainer](https://james.sumners.info/) of PL/JSON.
Hes B.Sc., Mathematics accomplished at Clayton State University / US.
Since August 2019 he also maintains another Node.js gem: LDAPjs:
> LDAPjs provides a framework for building LDAP servers, and a client to interact with standard LDAP servers, for applications built with JavaScript on Node.js.
LDAP is a communication [protocol](https://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol):
> The Lightweight Directory Access Protocol (LDAP /ˈɛldæp/) is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed directory information services over an Internet Protocol (IP) network.\[1\]
Its a standard used broadly by many organisations to discover and connect devices like servers or printers.
LDAPjs specifically is an implementation of the protocol for Node.js. That way Javascript developers can build services utilizing this LDAP easily.
Among companies and projects that use LDAPjs we can find Seagate, Tracktr, Infiscal, Homarr, OpenSign, and Amazon.
That list only some of the companies and there are many many more.
Were talking about successful, open source project with wide usage, 1.6k stars, 402 forks and 68 contributors.
Unfortunately today James Sumners decided to archive the project. It means that in that state, project does not accept any new contributions but is still available online.
I was thinking maybe it got deprecated or wasnt used at all. But its used and is actively developed. Last version is from December 2023 what is natural for long standing, mature projects.
So what happened?
On the official page of the project we can read the reasons for the projects [decommission](https://github.com/ldapjs/node-ldapjs).
These boil down to three major issues:
1. The core maintainer doesnt have time
2. He isnt in a position where hed use it anymore
3. He got a hate email
The first two points are quite important to discuss first. James developed this project when he needed it in his company. But he moved to other company where he doesnt need it. So he doesnt have the purpose to develop it further.
Its perfectly understandable. He writes that some features would need a full workweek to be finished, an amount of time he cant afford.
Thats also perfectly reasonable. Why would he spend his time, as a trained specialist on a project, if he gains nothing in return.
There are many other activities person can take in his free time that are far more fun than maintaining pro-bono an open source project for corporations.
What I am quite surprised of is that all of these companies didnt make sure LDAPjs developers can allocate time to work on a project that they use. I mean money of course.
Its unfortunately a sad moment for the project, but as every other its also a good moment to appreciate the hard work James and other contributors have put into the project over the years. We have to remember James, and tens of hundreds of developers arouns the world do a lot of open source pro-bono work.
Usually such prominent developers dont reach the headlines working on open source projects for free just because they find it a meaningful to do.
Unfortunately, not everyone knows that, wants to acknowledge it or even maintain the basics of politeness.
James unfortunately was targeted by one individual that decided to vent in an email to him over his trouble with using the LDAPjs project. The email is way below any [standards](https://github.com/ldapjs/node-ldapjs) so I wont even quote it.
For James that email was enought. In his announcement he mentions that email as one of the causes why he decommissions the project.
Its perfectly understandable for me. He works very hard over the years to support the wide community and companies with great tools. He doesnt get paid, and recognized. At the end he just gets a hate email.
Whats technically the most outrageous part for me is that the dude even didnt care to format his code:
![](https://miro.medium.com/v2/resize:fit:700/1*3qXlWD6YDif-pv4ewgJn3w.jpeg)
Source: https://github.com/ldapjs/node-ldapjs
It tells about this dude even more than the rest of the outrageous email.
And thats all we really need to know. While LDAPjs is decommissioned, James wrote he is open to handing the project into good hands if he will be able to properly validate if the new person or organization in charge will be a good and safe fit for the project.
Also, since the projects is online it can be still used, and also forks can be developed.
While that means users of LDAPjs are safe, I really wished important open source projects didnt lose such prominent contributors.
I think Ill send some recognition emails to the maintainers of the projects I use. Hopefully it will make a day for them.
Cheers!
@@ -1,54 +0,0 @@
---
title: "Der richtige Umgang mit Gefühlen: 3 Fehler, die selbst emotional stabilen Menschen passieren"
source: "https://www.brigitte.de/liebe/persoenlichkeit/psychologie--3-fehler--die-selbst-emotional-stabilen-menschen-passieren-13895480.html"
author:
- "[[Merle Blankenfeld]]"
published: 2024-10-27
created: 2024-10-29
description: "Unseren Gefühlen den Raum zu geben, den sie benötigen, ist nicht immer leicht. Selbst psychisch stabilen Menschen passieren manchmal Fehler im Umgang mit ihren Emotionen. Etwa diese hier."
tags:
- "clippings"
---
## Psychologie 3 Gefühlsfehler, die selbst emotional stabile Menschen manchmal machen
![Frau schaut nachdenklich auf ein Feld: 3 Fehler, die selbst emotional stabile Menschen manchmal machen](https://image.brigitte.de/13767484/t/Y4/v1/w1440/r1.5/-/3-fehler-die-selbst-emotiona-stabilen-menschen-passieren.jpg)
© Bostan Natalia / Adobe Stock
Unseren Gefühlen den Raum zu geben, den sie benötigen, ist nicht immer leicht. Selbst psychisch stabilen Menschen passieren manchmal Fehler im Umgang mit ihren Emotionen. Etwa diese hier.
Nur weil sich etwas kurzfristig gut anfühlt, heißt das leider nicht, dass es uns auch wirklich guttut. Diese Wahrheit trifft auf verschiedene Lebensbereiche zu, auf das, was wir essen, auf unsere Beziehungen und auch auf unsere Gefühle. Und gerade ein gesunder, reflektierter Umgang mit Emotionen ist oft nicht einfach. Wirklich zu fühlen, was in uns vorgeht, kann schmerzhaft sein viele Menschen haben deshalb oft ganz unbewusst Bewältigungsstrategien entwickelt, um mit unliebsamen Gefühlen wie Wut, Schmerz oder Trauer umzugehen.
Emotional stabile Menschen haben in der Regel gelernt, ihre Gefühle auf eine gesunde Art und Weise zu verarbeiten. Aber auch ihnen passieren manchmal emotionale Fehler das ist schließlich nur menschlich.
## Diese 3 Fehler passieren selbst emotional stabilen Menschen hin und wieder
### 1\. Versuchen, ihre Gefühle zu kontrollieren
Wenn negative Emotionen sie in schwierigen Situationen zu überwältigen drohen, versuchen viele Menschen, diese Gefühle unter Kontrolle zu bringen. So wollen sie sich beruhigen, wenn sie aufgebracht sind, oder sich selbst aufheitern, wenn sie traurig sind. Aber so einfach ist es leider nicht. Nur weil wir jetzt gerade glücklich sein wollen, können wir diese Emotion nicht einfach hervorrufen und eine andere, vielleicht Schmerz oder Trauer, ausschalten. Selbst wenn es uns gelingt, uns in diesem Moment besser zu fühlen, weil wir uns möglicherweise ablenken, wird das unverarbeitete Gefühl uns sehr wahrscheinlich zu einem späteren Zeitpunkt einholen.
Das wissen auch emotional stabile Menschen, und dennoch kann auch ihnen der Versuch passieren, ihre Gefühle zu kontrollieren, anstatt sie anzunehmen und zuzulassen.
### 2\. Ihren Gedanken glauben
Wie wir uns fühlen, ist meist viel weniger von Menschen und Situationen im Außen abhängig, als wir glauben. Vielmehr spielen unsere Gedanken dabei eine große Rolle. Wenn wir uns selbst ständig einreden, dass wir die Präsentation morgen sicher verhauen, werden wir uns unsicher und nervös fühlen. Denken wir permanent, dass wir ein Loser sind und uns sowieso nichts gelingt, werden wir uns schlecht fühlen und unser Selbstwertgefühl minimieren. Dieser innere Kritiker ist zu großen Teilen dafür verantwortlich, wie wir uns fühlen.
Das ist auch emotional stabilen Menschen klar, weshalb sie es sich zur Gewohnheit machen, liebevoll mit sich selbst umzugehen auch in Gedanken. Aber auch ihnen kann es passieren, dass sie ihren eigenen negativen Gedanken Glauben schenken, anstatt sie kritisch zu hinterfragen und positiv auf sich selbst zu blicken.
### 3\. Andere für ihre Gefühle verantwortlich machen
In den meisten Fällen sind wir gar nicht von etwas verletzt oder über etwas wütend, das uns widerfährt, sondern von unserer Interpretation dieser Ereignisse. Wenn deine Freundin beispielsweise einen abfälligen Kommentar über etwas macht, das du ihr erzählst, denkst du vielleicht, ihre Aussage tut dir weh. Tatsächlich ist aber schmerzhaft, wie du diese Aussage auffasst und was sie in dir konkret auslöst. Das heißt natürlich nicht, dass es egal ist, was deine Freundin sagt aber unsere Emotionen in Bezug darauf haben wir viel mehr selbst in der Hand, als wir häufig glauben.
Dieser Fehler, Menschen oder Situationen für ihre Gefühle verantwortlich zu machen, unterläuft aber selbst emotional stabilen Personen hin und wieder. Obwohl sie eigentlich gelernt haben, wie Emotionen funktionieren und welchen Anteil sie selbst an ihrem Fühlen haben, lassen sie sich auch manchmal von ihren Reaktionen auf Dinge, die ihnen widerfahren, überwältigen.
**Das Gute an allen diesen Fehlern ist, dass wir daraus lernen können.** Egal, wie emotional stabil wir sind, wir alle lassen uns manchmal von unseren Gefühlen leiten oder lenken uns von ihnen ab. Aber jedes Mal, wenn uns das passiert, haben wir die Chance, zu lernen und zu reflektieren und so nach und nach gesündere emotionale Muster aufzubauen.
*Verwendete Quellen: yourtango.com, psychologytoday.com*
mbl Brigitte
#Themen
- [Psychologie](https://www.brigitte.de/liebe/persoenlichkeit/themen/psychologie-10698956.html)
- [Emotionalität](https://www.brigitte.de/liebe/hochzeit/themen/emotionalitaet-10732910.html)
- [Gefühlschaos](https://www.brigitte.de/liebe/beziehung/partnerschaft--diese-7-gruende-sollten-nicht-reichen--um-an-einer-beziehung-festzuhalten-10139096.html)
@@ -1,125 +0,0 @@
---
title: "Does Donald Trump Show Signs of Neurodegenerative Disease?"
source: "https://drvincentgreenwood-89455.medium.com/does-donald-trump-show-signs-of-neurodegenerative-disease-871ec668a5f9"
author:
- "[[Vince Greenwood]]"
- "[[Ph.D.]]"
published: 2024-10-16
created: 2024-10-29
description: "What would it mean if Donald Trump (or any candidate seeking higher office, for that matter) were suffering from a deteriorating neurological syndrome rather than just the typical vicissitudes of…"
tags:
- "clippings"
---
[
![Vince Greenwood, Ph.D.](https://miro.medium.com/v2/resize:fill:88:88/1*664CXGYDG9Q6s-oe_o7UTQ.jpeg)
](https://drvincentgreenwood-89455.medium.com/?source=post_page---byline--871ec668a5f9--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*IbhquunG0B7n-dU_9glGwQ.jpeg)
## The data suggests he does and the implications are serious.
by Vincent Greenwood, Ph.D., founder of [DutyToInform.org](https://dutytoinform.org/)
What would it mean if Donald Trump (or any candidate seeking higher office, for that matter) were suffering from a deteriorating neurological syndrome rather than just the typical vicissitudes of aging? The mild decline in memory, attention, and verbal fluency associated with normal aging often emerges as one reaches their late 70s or early 80s. Such decline would not necessarily be disqualifying, even regarding the demanding responsibilities of the presidency. However, a diagnosis of a deteriorating neurological disorder would have profound implications for their fitness for office. If the ex-president crossed that fateful diagnostic threshold, the public would have a right to be informed and a reason to be alarmed.
Although many observers, including healthcare professionals, have commented on Donald Trumps verbal and cognitive struggles over the past couple of years, conventional wisdom has concluded that it is simply not possible to make a valid diagnosis of neurological decline with Trump. Many good faith investigative reporters and health care professionals cite two reasons why we are not able to diagnose the possibility of a neurological disorder: the lack of medical information released by Trump and his doctors; and the inherent limitations of diagnosing at a distance, which is the only resort available since Trump has refused to undergo a comprehensive neuropsychological examination.
These are reasonable objections that need to be addressed. The frustration over Trumps refusal to release detailed health information is captured in a recent article by investigative journalists at the New York Times titled [What Are We Told About the Health of Biden and Trump? They Decide.](https://www.nytimes.com/2024/04/04/us/politics/biden-trump-health.html) Trump and his medical team have gone out of their way in not providing detailed information. His most recent [report](https://truthsocial.com/@realDonaldTrump/posts/111444920245122377) (November 2023) is a three-paragraph statement where his physician described his health as “excellent.” Earlier health reports have been criticized as “[fawning and vague](https://www.nytimes.com/2023/11/20/us/politics/trump-medical-report.html),” marked by the use of superlatives ([“the healthiest individual ever elected to the presidency”](https://www.nytimes.com/2018/01/12/us/politics/trump-physical-exam.html)), and lack of details.
And full of disinformation. Here, we need to mention Trumps assertions about a “cognitive test” he took in 2018, the Montreal Cognitive Assessment Test (MoCA). The MoCa, a one-page, 30-point test that can be administered in 10 minutes, is an *initial* screening device that can detect signs of full-scale dementia. It is not particularly helpful in identifying signs of early dementia, which requires much more rigorous and lengthy testing. Trump reported a perfect score of 30, [claiming](https://abcnews.go.com/Politics/trump-bragging-acing-simple-test-detect-mental-impairment/story?id=71945342) doctors told him that “rarely can anybody do what you just did” and that the test contains “very hard” questions. The average score on the test is 27 (and even that average is taken from a sample of people suspected of cognitive impairment). A score of 30 is considered normal, not exceptional. Examples of questions from the supposedly tricky part of the test include repeating a sentence out loud, naming as many words as you can starting with the letter F, trying to identify the similarity between different objects such as trains and bicycles (modes of transportation), and saying what the current date is. [Dr. Jonathan Reiner](https://news.yahoo.com/cnn-doctor-trolls-trump-over-045944368.html?guccounter=1&guce_referrer=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8&guce_referrer_sig=AQAAAMqgW5827ByZDpQZt6GCRrQAcgdI1mVs4a6Mnrr1Co4UHTDOwS4sQ989j0GjArdVF9QR6Zcdy0JqFlknkAFoFmg-DKC-dRieKJQ6UdPaDQ5-AV31fNqkwskO7O0dyODslq1mUTrGeKHH0sWl5JLTE-Xt6YQRjhUU2qb9yxsiTEDR), professor of Medicine and Surgery at George Washington Hospital, wryly observed, “If you think a dementia screening test is very difficult, you may have early dementia.”
We are not able to make a serious appraisal of whether Trump does or does not display brain illness based on his released medical records since they lack any specificity and have been politicized.
Since Trump has refused to collaborate in a comprehensive neuropsychological exam, which would yield a wealth of relevant data, we must rely on diagnosing at a distance to try to determine the possibility of meaningful cognitive decline. The limitations of such an approach are outlined in a recent Washington Post article, [What Science Tells Us about Biden, Trump and Evaluating an Aging Brain](https://www.washingtonpost.com/science/2024/05/18/biden-trump-age-cognitive-decline/). Experts interviewed for that story assert that an informed opinion on the ex-presidents cognitive health is only possible with the robust data generated from an in-depth exam. They note, correctly, that video mashups of verbal gaffes lack scientific rigor and can be misleading. These video mashups on social media can be guilty of cherry-picking bad moments and equating signs of normal aging with severe cognitive decline.
Are we forced to throw up our hands with the possibility of providing a more scientific and objective opinion about whether Trump suffers from a neurocognitive disorder?
The answer is no. **There is a legitimate path to arrive at an informed, scientifically-based opinion on Trumps brain health. That path involves subjecting all the relevant information to the guidelines enumerated in the chapter on Neurocognitive Disorders in the latest version of the Diagnostic and Statistical Manual of Mental Disorders. When we carry out those diagnostic steps, we find that Trump very likely has a Neurocognitive Disorder that is already beginning to have its way with his cognitive functioning and is destined to deteriorate, perhaps significantly, over the next few years.**
With all its implications, such a serious assertion demands a serious explanation. Lets start with the scientific standing of the diagnostic bible of the mental health profession. The Diagnostic and Statistical Manual of Mental Disorders — Version 5 (DSM-5), the authoritative and up-to-date (latest revision in 2022) resource that provides a unified classification of mental health and brain-related conditions. DSM-5 offers a common framework and language to define primary psychopathological syndromes and then provides specific criteria to diagnose them.
The manual organizes those conditions into chapters that focus on distinct groups of disorders. Neurological disorders, including dementia, are discussed in the Neurocognitive Disorders chapter. Neurocognitive Disorder is a general term that describes decreased cognitive functioning due to a medical disease other than a psychiatric illness. The authors of the Neurocognitive Disorders chapter in DSM-5 included some of the globes leading experts in geriatric psychiatry, neurology, neuropsychology, and psychiatric research. This group of experts (The Neurocognitive Disorders Work Group) spent five years evaluating the latest advances in scientific knowledge and honing the definitions of neurological conditions. From that effort, they distilled the broad array of neurological difficulties and the various brain illnesses that can produce those difficulties, such as Alzheimers or cerebrovascular disease, into three primary syndromes, three basic Neurocognitive Disorders (NCDs).
The three basic syndromes or primary diagnoses are Delirium, Mild Neurocognitive Disorder, and Major Neurocognitive Disorder.
Delirium is an altered state of consciousness in which the patient is confused, disoriented, and unable to think or remember clearly. It comes rapidly, usually within hours or days, and is treatable, especially if the diagnostician can identify the underlying cause. There is no particular concern that Trump suffers from delirium.
Nor is there concern that Trump meets the diagnostic criteria for Major Neurocognitive Disorder at the present moment. Major NCD is the syndrome we associate with full-scale dementia where there is a dramatic loss of capacities that undermines ones ability to live independently.
This leaves the syndrome of Mild Neurocognitive Disorder — what we think of as likely early dementia — as the condition that might explain Trumps recent struggles. In Mild NCD, independent living continues, but the person displays moderate decline and signs of struggle in one or more essential areas of functioning.
To determine if Donald Trump displays Mild NCD, we need to look at the DSM-5 criteria for this diagnosis. The diagnosis of a Neurocognitive Disorder is all about *the decline* in a critical area of human functioning, referred to as cognitive domains in DSM-5. The diagnostician is looking for decline across six such domains, which are:
Attention
Memory
Language
Executive Functioning
Perceptual-Motor
Social Cognition
The authors of the Neurocognitive Disorder Chapter determined that if you can demonstrate a decline in *even just one of these domains*, you must consider a diagnosis of one of the neurocognitive syndromes. If the decline is “substantial” and the struggle with independent living is significant, the diagnosis of Major NCD (full-blown) dementia is warranted. If the decline is “moderate” and the struggle with independent living is just beginning to emerge, a diagnosis of Mild NCD is justified.
If there is concern one might be in the throes of a Neurocognitive Disorder, you would undertake a comprehensive assessment of these domains. The gold standard of such an evaluation would involve administering fine-grained neuropsychological tests in each domain. This is where frustration over Trumps refusal to release details of his medical exams or collaborate in such testing is felt.
However, even without this cooperation, there are two other sources of potentially relevant information: (1) reports from biographers or close observers of Trump and (2) direct observation of his behavior in these domains.
What can we glean from these sources vis-a-vis the six key cognitive domains?
Information from close observers — colleagues, employees, family, friends, journalists, such as Tony Schwartz, co-author of *The Art of the Deal —* and well-sourced biographies is beneficial in assessing *executive functioning*, *attention,* and *social cognition*. These domains consist of a broad swath of behavior, much of it occurring off-camera. To get a decent appraisal, one must assess these behaviors over many situations and months, if not years.
From these many insider accounts and biographies, we have copious evidence that Trumps functioning in these areas is markedly below average. He has a notoriously short attention span; disdains the planning, focus on details, and self-control that comprise executive functioning; and has a lifelong history of disagreeableness and lack of empathy that are at the heart of competent social cognition.
However, it seems hard to argue that Trumps struggles in these areas are a result of a neurodegenerative disease process. Remember, diagnosing a Neurocognitive Disorder requires the demonstration of decline in one or more of the six cognitive domains. A comprehensive review of Trumps biographies reveals persistent deficiencies in attention, executive functioning, and social cognition dating back to childhood and quite prominent in his middle age.
Still, thanks to reams of videotape on Trump, we have access to many behavioral observations to evaluate for possible cognitive decline. Direct behavioral observation is particularly relevant for the domains of *memory*, *perceptual-motor skills* (how one can navigate the world physically), and *language.*
Trump occasionally mixes up people — Nikki Haley for Nancy Pelosi, mayor Willie Brown for a councilman are recent examples — rather than just names. This confusion can be a sign of cognitive decline in the memory domain. Trumps bent, forward-listing posture, jerking right arm and leg, and arm weakness are also [worrisome signs](https://www.psychologytoday.com/us/blog/the-fallible-mind/202010/we-are-entitled-ask-president-trump-his-brain-scan) of neurological dysfunction and not just normal aging. However, while there are several red flags of neurological issues for Trump in the areas of memory and perceptual-motor skills, there is not sufficient evidence to give a definitive diagnosis of Neurocognitive Disorder.
This leaves us with one domain to evaluate such a possibility: language. Fortunately, this domain does not require collaboration with Trump. Thats because you can execute a detailed, clinically meaningful appraisal directly from speech samples, which are readily available on YouTube. Furthermore, you can zero in on possible decline in the language domain by comparing speech samples from the past to the present.
To measure decline more rigorously, we developed the following checklist of seven specific verbal expressive behaviors that have been linked to neurodegenerative brain illness.
## Table 1: Verbal Markers Linked To Neurocognitive Disorder
![](https://miro.medium.com/v2/resize:fit:700/0*eg5RwnfWBuwMQNGK.png)
Because of their specificity, these markers allow for a more objective determination of cognitive decline in the language domain. Because of their empirical support, they allow for a more valid determination of clinically meaningful decline.
We then applied the checklist to randomly selected speech samples of Trump from his middle age and recent past. Trump displayed shifts in all seven markers. He received ratings of “never” or “rarely” for all markers from the years 19752000 versus “moderately” or “frequently” for all markers from the years 2020 — present. I also developed a list of seven specific verbal expressive behaviors associated with normal aging, such as speech volume and rate. I applied that checklist to the same Trump speech samples. For a man of his age, Trump actually displays minimal signs of aging in his verbal expressive behavior.
==*Thus, Trump shows clinically significant signs of cognitive decline in the language domain beyond normal aging.*==
The findings outlined above are reinforced by other studies that have examined Trumps language behavior. In [*Trump Wasnt Always So Linguistically Challenged-What Could Explain The Change?*](https://www.statnews.com/2017/05/23/donald-trump-speaking-style-interviews/) Begley noted “striking and unmistakable” shifts In his vocabulary level and ability to string sentences together. In *Pop*[*ular Press Claims Regarding Linguistic Change in President Donald J. Trump*](https://www.frontiersin.org/journals/psychology/articles/10.3389/fpsyg.2018.02311/full)*,* a study that zeroed in on word-finding difficulties, investigators found Trump displayed a “systematic increase in the use of filler words.” The author of a [*recent study*](https://newrepublic.com/post/184690/cognitive-decline-experts-find-evidence-trumps-mind-slowing) that applied a metric of analytic thinking to Trumps contemporary speeches concluded, “I cant tell you how staggering this is. He does not think in a complex way at all.” STAT, a media organization focused on health research, asked experts in memory, psychology, and linguistics to compare clips of Trumps speech from 2017 to clips from 2024. They [concluded](https://www.independent.co.uk/news/world/americas/us-politics/donald-trump-cognitive-decline-election-2024-b2593296.html) that “Trumps speech included more short sentences, a confused order of words, repetition and extended digressions.”
*We now have accumulating evidence that Donald Trump displays a meaningful decline in language functioning. Language functioning is one of the six key cognitive domains cited in DSM-5, where a moderate decline in functioning is sufficient to trigger a formal diagnosis of Mild Neurocognitive Disorder, a condition associated with underlying brain disease.*
The implications of this diagnosis are sobering when one considers the responsibilities of the presidency. First, if Trump is showing meaningful decline in one cognitive domain, it is likely that troubles are beginning to emerge in the other areas of functioning. What might this look like in practical terms? Here are some examples:
· Attention — tasks take longer to complete than previously, and work must be double-checked for errors.
· Executive functioning — requires more effort to finish multistep projects, has trouble resuming an interrupted task, and has difficulty organizing, planning, or making decisions.
· Learning and memory — difficulty recalling recent events, relies on reminders and list-making.
· Perceptual-motor skills — may rely more heavily on maps or notes for directions.
· Social cognition — less ability to read social cues, such as facial expressions, decreased empathy, or decreased inhibition.
Second, and most critically, this condition almost always progresses to full-scale dementia. How fast? Studies indicate that just within one year, [15 percent](https://www.ohsu.edu/sites/default/files/2023-04/IMR23-Thurs-08-Mansoor.pdf) or even [20 percent](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8970424/) of those with Mild NCD will develop full-scale dementia (Major NCD). That percentage, called the annual conversion rate, applies to successive years, thus increasing the risk of full-scale dementia over time, rising to over 50% within four years.
Another risk factor for Trump is the fact his father, Fred, was diagnosed with Alzheimers. Individuals with a first-degree relative, such as a parent, who had Alzheimers, a[re more likely to develop the condition](https://www.health.harvard.edu/mind-and-mood/alzheimers-in-the-family) — their risk increases by about 30 percent. Scientists have identified a gene variant, called apolipoprotein4 (APOE4), that [increases your risk three times beyond that.](https://www.nytimes.com/2024/05/06/health/alzheimers-cause-gene-apoe4.html) Testing for the gene is safe, straightforward, and inexpensive. I could not find anywhere in his reported health records that Trump had submitted to that genetic test.
Given the evidence of likely neurodegenerative illness, I would like to make a plea to the ex-President:
*It might be frightening to undergo a comprehensive neuropsychological workup or genetic testing. Taking such a step is typically considered a personal choice and a protected right for any individual. However, a core value in a democracy is an informed citizenry. Citizens have a right to information that is relevant and meaningful for those seeking office for positions that affect the general welfare. This duty to inform would include, but not be limited to, considerations of dangerousness.*
*As difficult as it might be, you have a moral duty to inform the public about the distinct possibility that you might be in the beginning stage of a deteriorating neurological disorder. Sir, please do the right thing and collaborate on a comprehensive neuropsychological exam.*
Please note: This article is not financed by or related to any political campaign and may not be considered political advertising or action on behalf of any political candidate. All statements and opinions are those of the author alone, including any political endorsements made. The information published in this article is for information only and is not intended to provide psychological therapy or diagnostic advice and/or recommendations to any persons aside from its subject, Donald J. Trump, public figure. The content of this article is intended to provide informational, scientific, and educational material based on psychological science. The content of this article solely reflects the views and perspectives of its author and does not necessarily reflect the views or positions of the American Psychological Association, medium.com, or any other person and/or entity not otherwise listed as an author.
@@ -1,162 +0,0 @@
---
title: "Dungeons and Dragons and Sexual Harassment"
source: "https://aninjusticemag.com/dungeons-and-dragons-and-sexual-harassment-a5ee012f227f"
author:
- "[[Dr. Casey Lawrence]]"
published: 2024-08-20
created: 2024-10-29
description: "The “magic” of Dungeons and Dragons (D&D) is created through choices made by both the Dungeon Master (DM) and the players. Players go on an adventure together, usually in a Tolkienesque fantasy…"
tags:
- "clippings"
---
## [Nonfiction](https://clawrenc.medium.com/list/nonfiction-personal-d6e3541d22f9)
## Isnt it obvious why there arent more women playing TTRPGs?
[
![Dr. Casey Lawrence](https://miro.medium.com/v2/resize:fill:88:88/1*hmOT2muiTYmQLdHWGGZgCQ.jpeg)
](https://clawrenc.medium.com/?source=post_page---byline--a5ee012f227f--------------------------------)
[
![An Injustice!](https://miro.medium.com/v2/resize:fill:48:48/1*suDnvWWEvtqQCxA2NEHoRA.png)
](https://aninjusticemag.com/?source=post_page---byline--a5ee012f227f--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/0*9BRdRIHbRWgug1Ej)
Photo by [Cassiano K. Wehr](https://unsplash.com/@cassianokw?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
The “magic” of Dungeons and Dragons (D&D) is created through choices made by both the Dungeon Master (DM) and the players. Players go on an adventure together, usually in a Tolkienesque fantasy setting, using dice to determine outcomes.
For example, a character might say, “I attack that orc with my sword,” and roll a D20 (20-sided dice). If they roll high enough, they get to decrease the enemys hit points. If they roll too low, they miss, and the DM narrates what happens next.
Your choices actively determine the story, with the help of the DM and the dice. The world is what you make it, basically.
> So why are these worlds so often toxic to female players?
## A one-time thing
In my very first game of D&D, we played a “one-shot” — a story told all in one sitting — with pre-made characters to get used to the mechanics. I was the only woman in a group of guys, including my husband.
The DM set up a scenario with the hopes that our characters would essentially break into two “teams.” A party was happening at a nearby manor and some bad guys wanted to steal a [MacGuffin](https://en.wikipedia.org/wiki/MacGuffin); half the players would be working with the thieves, and the other half to protect the item.
My character was supposed to be on the protect-the-item “team,” and so I made the choice to eavesdrop on a conversation Brians character, Pervy Wizard, was having with the bartender of a tavern about the item.
> Note: Pervy Wizard did not have to be pervy. He *became* pervy based entirely on choices made by Brian, the person playing him.
Pervy Wizard rolled high enough to notice me on a perception check. Rather than confront my character, or ask me to join his quest to protect the item, or any of the infinite number of options he had —
PW made a comment to the bartender about my *fictional characters* *body*. I believe it was something like, “Check out that hot piece of ass!” and a wolf whistle. He then asked to roll an *attack* to pinch my fictional butt.
The DM shut that shit down, but as a direct result of this interaction, we never formed a team. For the entire one-shot, I was on my own — which is not the best way to play D&D.
I explored the manor on my own. I looked for the item on my own. I battled a guard on my own. I tried to climb a wall, fell off, and almost died because I was down so many hit points from battling a guard on my own.
The story was *really* unsatisfying. The DM had to run three encounters simultaneously instead of two, and when the two main groups finally met up in a confrontation over the item, I wasnt even there.
In the end, Brian made some really stupid choices, including trying to switch teams in the middle of the big showdown. Pervy Wizard was promptly chopped in half by an enemy, which at least offered closure for my character— or would have, if shed been there to see it…
![](https://miro.medium.com/v2/resize:fit:700/0*aSadx29xMBi0GcmC)
Photo by [Gian-Luca Riner](https://unsplash.com/@lucrin?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
This first experience playing D&D was a off-putting, but I liked the game itself, my husband had a great time, and our DM was sympathetic, so I bit my tongue. *After all*, I thought, *the dynamic was just a one-time mishap, part of a one-shot, and wouldnt be an issue if I kept playing.*
## The campaign
I worked with the DM to build my character for our main campaign, a game that would hopefully continue for several months. Some players use the same character for years, if a group manages to continue scheduling sessions to play together.
Worried that the dynamic established in our one-shot would taint the atmosphere for future games, I altered *my* behaviour to change the vibe at the table. I didnt want to make it a “thing.” I wanted to be Cool Girl. Or really, I wanted to play D&D, and the way to do that was to be Cool Girl.
![](https://miro.medium.com/v2/resize:fit:245/1*8U5CVAREAmuwRQ0TBav6Ig.gif)
[GIF](https://gifer.com/en/9SKG) from “Gone Girl,” © 20th Century Studios
My new character, Dipsy Flickerbean, was a deliberately *uncomfortable* one: a gnome bard with gigantic boobs and a disturbingly childlike face and voice, like an anime character. I leaned into the thing that made me anxious — the idea of getting sexualized — and made her whole premise pervy in a way *I* controlled through *my* choices.
I loved Dipsy. She could keep up with the boys and was *explicitly gay*, so there was no possibility of any men trying to romance her. Better yet, my bards “talent” was [performing dirty limericks](https://medium.com/amusing-responses/15-dirty-d-d-limericks-1fefd819f419), so I could out-perv any potential perving at the table.
I thought I had fixed the problem.
But then things got weird again.
One of the *first* interactions between Dipsy and Brians new character was him loudly accusing my character of being a “prostitute sent to seduce him” at Pervy Wizards funeral (RIP). The crowd turned on him instantly. We all laughed.
At first, I thought this was a bit of a self-deprecating improv — Brian was playing a “vegetarian vampire” described as a “fruit bat,” a squeamish, effeminate elf from a wealthy background. I *thought* the joke was that his character was a gay man pretending to be a hetero guy, which wasnt the best “joke character,” but at least was better than Pervy Wizard.
It was *not* better than Pervy Wizard. From the first session, Fruit Bats behaviour ranged from subtle microaggressions to overt harassment. He made excuses to touch my character, to comment on her body, and to unironically sexualize her at every turn. He also acted this way toward female NPCs (non-player characters).
It finally came to a head when, during a fight, Fruit Bat went down (to zero hit points) and I cast the spell Cure Wounds, which required me to touch him. I narrated this as performing CPR. Fruit Bat gasped comically into consciousness then immediately narrated how “seeing my breasts in his face” during CPR caused him to “pass out again” and nosedive into my characters cleavage. He made motorboat sounds.
After that session, I asked the DM to intervene. Brian cut back on the dirty jokes and things were okay for a session or two. But then Brian made a point of claiming that his character had had a sexual awakening and was now gnome-sexual.
*Great*.
The other players werent as bad, but occasionally piled on when Brian started his antics. “Adult” jokes are a pretty common feature of D&D. I didnt want to be the buzzkill, especially since *most* of the time, I was having fun.
I was fine with a character “rolling for penis size” to intimidate an enemy, or dumb jokes about a sword wound accidentally circumcising someone. Some of it was funny.
But I felt like I was being treated differently — especially by Brian — whenever I did or said *anything*. I became reluctant to draw attention to myself, knowing that an inappropriate comment would be the result.
The vibe at the table was strained.
Eventually, we stopped playing together. The timing wasnt working out for scheduling sessions, then someone moved and the group disbanded. We ended our months-long campaign on a cliffhanger, with our party trapped in an enemy camp.
And I was *relieved*.
![](https://miro.medium.com/v2/resize:fit:700/0*H3UuSz2kgxDi-RiK)
Photo by [Carlos Felipe Ramírez Mesa](https://unsplash.com/@cafera13?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
I wish my story was a unique one, but apparently harassment in TTRPGs is a common problem. *Vice* [ran a story](https://www.vice.com/en/article/qbeev7/notallroleplayers-a-history-of-rapey-dungeon-masters) a few years ago with the title “#NotAllRolePlayers” about a DM attempting to role-play sexual fantasies with a player who had rejected his real-world advances.
You can never Cool Girl enough in these situations. Either you go along with a scenario that makes you deeply uncomfortable (or even unsafe), or youre the Frigid Bitch Who Cant Take a Joke.
## Fantasy means different things to different people
According to Dr. Justin Dyszelskis [PhD thesis](http://rave.ohiolink.edu/etdc/view?acc_num=miami1146539391) on gender dynamics in TTRPGs, more than 55% of female players have been “*made to feel uncomfortable, judged, or harassed because of their gender*.” Its been almost two decades since this was written, and I fear that little has changed.
Sexual violence and misogyny are often part of fictional worlds to make them “dark” and “gritty” — when female characters exist at all.
Frequently, even extremely triggering topics like rape and incest are included as part of fantasy settings for “historical realism” — as if elves and orcs are historically accurate. Worst of all is when sexual violence is played for some sort of “comedy”:
> A guy who normally didnt play with us was acting as a sort of “DMs helper” by playing an NPC \[Non-player Character\]. He used the NPCs superhuman strength and power to rape and murder my character, which he thought was really funny (Dyszelski, 2006: 1212).
In both the *Vice* article and Dyszelskis study, many players reveal that theyve witnessed fictional sexual violence at their D&D tables. *Vice* reports that sexual violence in TTRPGs, and particularly fictional rape (whether of players characters or NPCs), is “*controversial*” because that violence is “*always at the hands of either another party member or a character controlled by the Dungeon Master*.”
==It is== ==*always*== ==a deliberate choice to include sexual or gender-based violence in a TTRPG. The same holds true for misogyny, homophobia, and racism; the fantasy setting can be anything the DM and players want it to be, and the world doesnt== ==*have*== ==to include those things.==
> So why is it so common?
The origins of Dungeons & Dragons is steeped in misogyny — and not just from toxic players and DMs. The game itself was created by a self-described “*biological determinist*” who believed “*male and female brains are different*” and thus created D&D as a deliberately *male* fantasy:
According to *Vice*, creator Gary Gygax said that while the game wasnt “*designed to exclude women*,” there was no question for him that “*females do not derive the same inner satisfaction from playing games*” as men, and therefore didnt consider women/their needs when creating D&D. The *Vice* article argues that
> \[Gygaxs\] opinions, while fairly in line with the overwhelmingly male niche culture of war games that laid the groundwork for D&D in the early 1970s, have helped enshrine a legacy that the game has had difficulty leaving behind.
But people *are* trying to leave it behind — and so is the company that now owns D&D, Wizards of the Coast (which itself is now owned by Hasbro).
![](https://miro.medium.com/v2/resize:fit:540/0*zyFpra8ZM_-TEW1E.gif)
GIF of Brennan Lee Mulligan on Dimension20 © Dropout.tv / CH Media
## Getting out from under Gygax
As of the 5th edition (5e), the tone of D&D has shifted. The 5e rulebook notes that players need not “*be confined to binary notions of sexuality and gender,*” which is a far cry from the games origins as a male violence fantasy. Overall, the source material is more inclusive and welcoming, with an emphasis on consent and collaboration.
In the 1980s, the estimated number of female D&D players was [about 2.3%](http://www.believermag.com/issues/200609/?read=article_lafarge). A [survey in 2000](http://www.theescapist.com/WotCsummary1.htm) saw that number rise to 20%, and I suspect it has probably doubled by the 2020s, with the popularity of “Actual Play” shows like *Dimension20* and *Critical Role*.
I fell in love with D&D from watching Brennan Lee Mulligan DM for a diverse cast of comedians on *Dimension20*. His games are inclusive, thoughtful, and welcoming. The quality D&D content available now set my expectations pretty high, and I was let down that my home game didnt feel the way I expected.
![](https://miro.medium.com/v2/resize:fit:600/0*vPQK6gkYA4WqRtZb.gif)
GIF from “The Seven” on Dimension 20 © Dropout.tv / CH Media, starring Aabria Iyengar, Rekha Shankar, Becca Scott, Erika Ishii, Isabella Roland, and Persephone Valentine as the Seven Maidens.
The roots of the game are misogynistic, and thats hard to avoid, even using the rebranded, post-Gygax material. Because I was both a new player and “just someones wife,” I didnt protest as vocally as I wish I would have when I was uncomfortable.
The vibe of the table is what players and the DM collaboratively make it. Choosing to role-play with people who want the same kind of experience as you is essential to getting the most out of a hobby that requires a huge investment of time, energy, creativity, and even money.
Unfortunately, its not always easy to find a group of people to play D&D with *at all*, let alone one that feels safe and welcoming. I hope to one day find my ideal group and explore that world again, but for now, I have to settle for watching other people play.
@@ -1,46 +0,0 @@
---
title: "Freedom on the Net 2024: So frei ist das Internet im internationalen Vergleich"
source: "https://netzpolitik.org/2024/freedom-on-the-net-2024-so-frei-ist-das-internet-im-internationalen-vergleich/#netzpolitik-pw"
author:
- "[[netzpolitik.org]]"
published: 2024-10-25
created: 2024-10-29
description: "Die Freiheit im Internet geht global weiter bergab. Das zeigt der neue Freedom on the Net Report der NGO Freedom House. China und Myanmar führen die Negativliste an, während Island wieder ganz oben steht. Deutschland hält seinen guten Score, doch ob das so weiter geht, ist fraglich."
tags:
- "clippings"
---
![Auf einer Weltkarte werden die einzelnen Länder je nach Freiheitsgrad grün, gelb oder lila eingefärbt.](https://cdn.netzpolitik.org/wp-upload/2024/10/FOTN24MAP-e1729761789744-860x484.png)
Die NGO Freedom House evaluiert jährlich die Internet-Freiheit auf der Welt dieses Jahr in 72 Ländern. Grün steht für frei, Gelb teilweise frei und Lila unfrei. Alle Rechte vorbehalten [Freedom House](https://socialpresskit.com/fotn24)
Seit 15 Jahren veröffentlicht die US-amerikanische NGO Freedom House den [Freedom on the Net Report](https://freedomhouse.org/report/freedom-net/2024/struggle-trust-online). Jährlich fasst der Bericht zusammen, wie es um die Internetfreiheit auf der Welt steht. Die diesjährige Bilanz: Von 72 untersuchten Ländern verbesserte sich die Internetfreiheit in 18, während sie sich in 27 Ländern verschlechterte. Es ist das 14. Jahr in Folge, in dem sich die Internetfreiheit global verschlechterte. Wichtige Faktoren dafür waren laut Freedom House die Zunahme von Gewalt und Zensur im Internet, Wahlmanipulationen und fehlende Informationstransparenz.
### Die Schlusslichter
[China](https://netzpolitik.org/?s=china) bildet seit Jahren das traurige Schlusslicht im Freedom on the Net Report. Dort besteht eine massive staatliche Kontrolle über den Zugang zum Internet, einschließlich strenger Zensurmaßnahmen und weitreichender Überwachung. Jüngstes Beispiel ist eine aktuelle Kampagne der chinesischen Regierung, die den [Einsatz bestimmter Wortspiele und Memes verbietet](https://netzpolitik.org/2024/zensurumgehung-china-will-wortspiele-noch-mehr-wegzensieren/), um gegen „unregelmäßige und unzivilisierte“ Sprache im Internet vorzugehen.
Den letzten Platz teilt sich China dieses Jahr mit ihrem Nachbarland Myanmar. Seit dem Militärputsch 2021 hat die Militärjunta ein rigides Überwachungs- und Zensurregime etabliert. Besonders gravierend war die Einführung neuer Technologien zur [Blockierung von VPNs](https://www.heise.de/news/Myanmars-Militaer-Bei-VPN-App-am-Handys-droht-Geiselnahme-9767027.html), die den Bewohnern bis dahin als sicheres Mittel dienten, die Zensur zu umgehen.
Am tiefsten gestürzt im diesjährigen Ranking ist Kirgisistan. Unter dem Vorwand des Schutzes von Traditionen erließ Präsident Sadyr Dschabarow in diesem Jahr ein [Gesetz, das die freie Meinungsäußerung massiv einschränkt.](https://www.zois-berlin.de/publikationen/zois-spotlight/unter-dem-vorwand-der-tradition-die-unterdrueckung-der-medien-in-kirgistan)
Doch der Bericht lässt auch positive Entwicklungen nicht außer Acht. Island wird seit Jahren mit durchweg starken Bewertungen erwähnt und sichert sich auch in diesem Jahr den ersten Platz. Neu in die Untersuchung aufgenommen wurden dieses Jahr Chile und die Niederlande, jeweils mit guten Werten. Den größten Fortschritt zum Vorjahr hat Sambia im südlichen Afrika gemacht, im internationalen Vergleich gilt es dennoch nur als „teilweise frei“.
### Wie schneidet Deutschland ab?
Den Zustand der Internetfreiheit in Deutschland stuft Freedom House als „stark“ ein. Ein [individueller Bericht wird zwar erst noch folgen](https://freedomhouse.org/country/germany/freedom-net/2024), doch der Score von 77/100 ist seit 2022 derselbe geblieben. Ob dieser Wert im nächsten Jahr gehalten oder gar verbessert werden kann, ist fraglich. Das aktuell umstrittene [„Sicherheitspaket“ der Ampel](https://netzpolitik.org/2024/biometrische-ueberwachung-ampel-beschliesst-umstrittenes-sicherheitspaket/) bietet großes Potenzial für Überwachung und Diskriminierung im Internet.
Doch bereits früher im Jahr gab es Enthüllungen, die zeigten, dass es in Deutschland nicht immer glatt läuft mit der Internetfreiheit: Die von [netzpolitik.org aufgedeckten Databroker-Files](https://netzpolitik.org/2024/databroker-files-firma-verschleudert-36-milliarden-standorte-von-menschen-in-deutschland/) demonstrierten im Juli, wie einfach es ist, sensible Daten von Millionen von Menschen über Datenhändler zu erhalten. Ob solche massiven Verstöße des Datenschutzes in die Bewertung von Deutschlands Internetfreiheit eingeflossen sind, geht nicht restlos aus dem Bericht hervor.
[Um die jeweiligen Wertungen zu berechnen](https://freedomhouse.org/reports/freedom-net/freedom-net-research-methodology), klären die über 95 Analyst:innen für jedes Land Fragen zu drei Hauptbereichen: Mögliche Zugangshürden, Beschränkungen von Inhalten und Verletzungen der Nutzerrechte. Jede Frage wird auf einer Skala bewertet und die Summe aller Werte ergibt dann die Punktzahl zwischen 1 und 100. Ein Land mit einem Score von unter 40 Punkten gilt als unfrei, bis 69 Punkte als teilweise frei und ab 70 Punkten als frei.
Herausgeberin des jährlichen Reports ist die US-amerikanische Nichtregierungsorganisation Freedom House. Neben Freedom on the Net gibt sie auch den populären [Freedom in the World](https://freedomhouse.org/report/freedom-world) Bericht heraus. Die Organisation selbst wurde in der Vergangenheit [für ihre Nähe zur US-Regierung kritisiert](https://www.spiegel.de/politik/die-firma-freiheit-a-8de0fa7e-0002-0001-0000-000057457840), bis heute stammt ein [Teil ihres Budgets aus US-Töpfen](https://freedomhouse.org/about-us/financials). Diese Kritik ist zuletzt aber abgeebbt.
![](https://cdn.netzpolitik.org/wp-upload/2023/10/FotN_map1-1-380x214.jpg)
Wie steht es um die Freiheit des Internets? Dieser Frage geht der jährlich erscheinende „Freedom of the Net“-Bericht der NGO Freedom House nach. In diesem Jahr liegt der Fokus auf Künstlicher Intelligenz. Die Technologie ist noch nicht ausgereift und doch berge sie großes Potenzial für Diktatoren.
[Lesen Sie diesen Artikel: KI als Bedrohung für das freie Internet](https://netzpolitik.org/2023/freedom-of-the-net-2023-ki-als-bedrohung-fuer-das-freie-internet/)
![Mann im Anzug vor einer Aufschrift "Russia October"](https://cdn.netzpolitik.org/wp-upload/2024/10/imago-Xi-Jinping-scaled-e1729691081960-380x214.jpg)
![Illustration im Bauhaus-Stil. Ein großes Auge wacht über einem Zebrastreifen. Im Vordergrund läuft eine Frau mit Handy.](https://cdn.netzpolitik.org/wp-upload/2024/10/handy-auge-frau-bauhaus-380x214.jpg)
@@ -1,227 +0,0 @@
---
title: Getting Started with Obsidian Bases
source: https://obsidian.rocks/getting-started-with-obsidian-bases/
author:
- "[[Tim Miller]]"
published: 2025-06-19
created: 2025-08-29
description: Bases is a brilliant new tool from the Obsidian team. It allows you to create interactive filtered lists of notes. It is user-friendly and extremely powerful, and I think one of the most important additions to Obsidian that weve ever seen. Bases are designed to be easy-to-use and, unlike Dataview, they dont require any programming […]
tags:
- clippings
imported:
---
Bases is a brilliant new tool from the Obsidian team. It allows you to create interactive filtered lists of notes. It is user-friendly and *extremely* powerful, and I think one of the most important additions to Obsidian that weve ever seen.
Bases are designed to be easy-to-use and, unlike Dataview, they dont require *any* programming knowledge. Getting started with Obsidian Bases takes only five minutes, and allows you to turn your notes from *meh* to *amazing*.
What are we waiting for? Lets jump in and learn how to use Bases!
On This Page \[[hide](https://obsidian.rocks/getting-started-with-obsidian-bases/#)\]
- [1 Your First Base](https://obsidian.rocks/getting-started-with-obsidian-bases/#Your-First-Base)
- [2 Searching for Tags with Bases](https://obsidian.rocks/getting-started-with-obsidian-bases/#Searching-for-Tags-with-Bases)
- [3 Choosing What Your Base Displays](https://obsidian.rocks/getting-started-with-obsidian-bases/#Choosing-What-Your-Base-Displays)
- [4 Adding Views to a Base](https://obsidian.rocks/getting-started-with-obsidian-bases/#Adding-Views-to-a-Base)
- [5 Reusing Bases](https://obsidian.rocks/getting-started-with-obsidian-bases/#Reusing-Bases)
- [6 Solutions](https://obsidian.rocks/getting-started-with-obsidian-bases/#Solutions)
- [6.1 Better Backlinks](https://obsidian.rocks/getting-started-with-obsidian-bases/#Better-Backlinks)
- [6.2 Tracking My Writing](https://obsidian.rocks/getting-started-with-obsidian-bases/#Tracking-My-Writing)
- [6.3 Create a Bookshelf](https://obsidian.rocks/getting-started-with-obsidian-bases/#Create-a-Bookshelf)
- [6.4 Create a Read it Later App](https://obsidian.rocks/getting-started-with-obsidian-bases/#Create-a-Read-it-Later-App)
- [6.5 Project Tracker](https://obsidian.rocks/getting-started-with-obsidian-bases/#Project-Tracker)
- [6.6 Workouts](https://obsidian.rocks/getting-started-with-obsidian-bases/#Workouts)
- [7 Conclusion](https://obsidian.rocks/getting-started-with-obsidian-bases/#Conclusion)
## Your First Base
I want to start by showing you how easy it is to create a Base, using your own notes.
The only prerequisite is that you have to enable the plugin. Go to Settings > Core Plugins, and enable the “Bases” plugin:
![A screenshot of the core plugins in Obsidian, with Obsidian Bases enabled.](https://i0.wp.com/obsidian.rocks/wp-content/uploads/2025/06/properties-1.png?resize=1024%2C756&ssl=1)
A screenshot of the core plugins in Obsidian, with Obsidian Bases enabled.
You might want to enable “Properties” too, if you havent already. Both Bases and Properties make it easier to manage metadata in your vault.
There are a few ways to create a new Base. You can use [the command palette](https://obsidian.rocks/for-beginners-and-pros-alike-the-command-palette-in-obsidian/) and search for “Create new base”. You can click the “New Base” button in the ribbon menu. Or you can right-click on a folder in your vault and click “New base”.
Use the method that works best for you, and Obsidian will create and drop you into your first Base. It will look something like this:
![A screenshot of an untitled new Base in Obsidian.](https://i0.wp.com/obsidian.rocks/wp-content/uploads/2025/06/properties-1-1.png?resize=1024%2C522&ssl=1)
A screenshot of an untitled new Base in Obsidian.
Congratulations! You now have a base. Now what can we do with it?
## Searching for Tags with Bases
One of my favorite uses for Bases is simply to aggregate notes that contain a certain tag. If you use tags very much, this alone can unlock all kinds of new features for your vault.
For example, I have a Base that displays the articles I am working on. For rough ideas, I use this tag: `writing/idea`.
I can now create a Base that displays all of the articles ideas I have in my vault. How do I do that?
Through the power of *filters*.
In the top right of every Base, there are two links: Filters and Properties. In your own base, click on Filters first. You should see something like this:
![The default filters view in an Obsidian Base.](https://i0.wp.com/obsidian.rocks/wp-content/uploads/2025/06/properties-2.png?resize=1024%2C523&ssl=1)
The default filters view in an Obsidian Base.
Now to filter by a tag, we need to add a `file` filter. Click where it says “Property” and select “file” (its usually at the top of the list, but you can also search for it).
Then click the dropdown menu and select “has tag”:
![An example of a simple filter in an Obsidian Base.](https://i0.wp.com/obsidian.rocks/wp-content/uploads/2025/06/properties-3.png?resize=1024%2C511&ssl=1)
An example of a simple filter in an Obsidian Base.
Now click on the input to the right of that dropdown menu (where it says “Empty”), and Obsidian will show you a list of your tags. Again you can type to search, or just select a tag from the list.
In my case I will select `writing/idea`, and the Base will instantly update to show me all of my notes with that tag:
![An Obsidian base with a single tag filter applied.](https://i0.wp.com/obsidian.rocks/wp-content/uploads/2025/06/properties-4.png?resize=1024%2C399&ssl=1)
An Obsidian base with a single tag filter applied.
Fantastic!
## Choosing What Your Base Displays
So thats the basics on how to *filter* your Base. But how do we choose what information we want the table to display?
If youre following along above, you should have an “Untitled” base that is filtered to show notes with a single tag. Thats a good start!
But that alone is not all that useful. Your Base shows you the name of each file and gives you a link, but we often need more *context* to make a database useful.
We can add *context* with the help of the Properties menu.
Next to Filters, theres a link to the “Properties” menu. Click that, and you should see something that looks like this:
![The Properties selector screen in an Obsidian Base.](https://i0.wp.com/obsidian.rocks/wp-content/uploads/2025/06/properties-5.png?w=860&ssl=1)
The Properties selector screen in an Obsidian Base.
This shows you all the properties available in your vault. Its a “smart” menu, so it tries to guess which property you are looking for, and puts those at the top. If you dont see one of your properties, then you may have to search for it.
You can check the box next to any property, and it will automatically show up in your Base. For my use-case, Im going to add my *modified* date property and the *folder* for each file. That ends up looking like this:
![An Obsidian Base with a few more properties than default.](https://i0.wp.com/obsidian.rocks/wp-content/uploads/2025/06/properties-6.png?resize=1024%2C425&ssl=1)
An Obsidian Base with a few more properties than default.
So far so good!
Its interesting to note that *some* properties can be edited inline in a Base, and others cannot. For example you cant change the *file path* in a Base, but you *can* update tags. Something to keep in mind.
## Adding Views to a Base
Last but not least, we need to discuss *views* in Bases.
Views are super helpful, because they allow you to create a Base that gives you multiple perspectives.
Again going to my writing example, `writing/idea` isnt my only writing tag. I also have `writing/draft`, `writing/published`, and I use all three of these for different purposes.
I *could* create three separate Bases, one for each of these. But that seems a little redundant: I want to use the same settings for each of these views, and just swap out the tag.
To do that, we can use *views*. In the top *left* of your Base, you can see the word “Table” with arrows next to it. Click that, and you will see this:
![The view selector screen in an Obsidian Base.](https://i0.wp.com/obsidian.rocks/wp-content/uploads/2025/06/properties-7.png?w=827&ssl=1)
The view selector screen in an Obsidian Base.
Welcome to the Views menu! The first view in any Base is always called “Table”, but we can rename it by clicking on the arrow next to the word “Table”.
![Changing the settings in an Obsidian Base view.](https://i0.wp.com/obsidian.rocks/wp-content/uploads/2025/06/properties-9.png?resize=620%2C590&ssl=1)
Changing the settings in an Obsidian Base view.
Then click “Configure view”, and Obsidian will allow you to rename this view. Handy! I call mine “Writing / Ideas”.
Then we can go back a step and create a *new* View by clicking the “New View” button:
![A view in an Obsidian Base with the name "Writing / Ideas" and the "add view" button highlighted.](https://i0.wp.com/obsidian.rocks/wp-content/uploads/2025/06/properties-11.png?resize=576%2C382&ssl=1)
A view in an Obsidian Base with the name "Writing / Ideas" and the "add view" button highlighted.
It will ask you to name your new view. Im calling mine “Writing / Drafts”.
Then it will drop you into a new view! From here you can configure it how you like, using the Filters and Properties menus as we discussed before.
Once you have them configured as you like it, you can then switch between views effortlessly by using that menu in the top left corner. My final Base I call “Content Creation”, and it has SEVEN views currently:
![A screenshot of an Obsidian Base with seven separate views in it!](https://i0.wp.com/obsidian.rocks/wp-content/uploads/2025/06/properties-12.png?resize=640%2C715&ssl=1)
A screenshot of an Obsidian Base with seven separate views in it!
> Pro tip: In the Filters menu you can also set up “all views” filters that affect every view. Handy if you have a bunch of views in one Base that you want to update all at once.
>
> Note: The Obsidian team is talking about adding views *other* than Table views, so eventually we should have a few other options for Bases than just seeing tabular data. No telling what those views will be though, until they release them.
## Reusing Bases
Those are the basics of how we *create* Bases, but did you know that we can also *reuse* them in many ways?
Unlike most files in Obsidian, Bases are *not* Markdown files. But they *are* still plain-text, which means you can transfer them from vault to vault, and they will still work. You can copy or download someone elses Base, and it will work (as long as you have the appropriate metadata).
You can also embed Bases, both in notes and also in your sidebars. The easiest way to do that is to drag-and-drop a Base from your sidebar to where you want it, but inside notes you can also use the default embed syntax:
```
![[Content Creation.base]]
```
You can embed a specific view by adding an octothorpe and the name of the view:
```
![[Content Creation.base#Newsletter]]
```
Note though that you *do* need to have the `.base` file extension, otherwise Obsidian will look for a Markdown file.
## Solutions
You now know the basics of creating and editing views. Now the question is, what can we do with them practically?
Let me show you some of the things I have done, and maybe it will spark some ideas for you.
### Better Backlinks
I love the backlinks pane in Obsidian, I use it all the time. But sometimes it does feel a bit *limited*, and I wish I could see more information.
Well now you can! If you use `file.hasLink(this)` as an *advanced* filter, and then drag that Base to your sidebar, it becomes a bit like an upgraded backlinks pane. You can then select the properties you want to see and even edit properties from your new Backlinks pane. Handy!
### Tracking My Writing
Weve already talked about my tag system for writing articles, but it is one of my main Bases, I use it every day. I simply use filters that show me my `writing/idea` tags, my `writing/draft` tags, and my `writing/published` tags. Simple, but effective.
### Create a Bookshelf
I have a [Simple System Bookshelf](https://obsidian.rocks/simple-systems-for-obsidian/#simple-bookshelf) available for purchase that sorts, categorizes, and gives you stats for the books you have read in any given year. You can do *many* of the same things with Bases.
I have a Base that pulls in *all* of the books that are in my vault, and another that scopes it for certain years. Both are useful (although not as pretty as my Simple System).
I love [reading books with Obsidian](https://obsidian.rocks/how-to-take-book-notes-in-obsidian/) and Ive been doing it long enough that its very satisfying to see the results reflected in an Obsidian Base.
### Create a Read it Later App
I love using Obsidian as a read-it-later app. And Bases makes it even better for that.
How? First I use the [Obsidian Web Clipper](https://obsidian.rocks/the-obsidian-web-clipper-fixes-everything/) to clip articles. Then I use Bases to show articles that I have *clipped*, but not *read*.
`read` is a [checkbox property](https://obsidian.rocks/an-introduction-to-obsidian-properties/#Checkbox), so I can easily create a filter that filters *out* notes that have already been read.
### Project Tracker
I like [managing projects in Obsidian](https://obsidian.rocks/how-to-manage-projects-in-obsidian/), and I do that primarily with tags. Like my writing view, my project tracker follows the progress of projects using tags.
I use `project/active`, `project/ongoing`, `project/soon`, and `project/archive`. I also sort by priority and deadline, which is another handy part of Bases.
### Workouts
I like to track my workouts in my [daily notes](https://obsidian.rocks/supercharge-your-daily-notes-in-obsidian/ "daily notes"), and with a little bit of cleverness I can create a Base that shows my workout progress over time.
## Conclusion
Getting started with Obsidian Bases is easy, and I hope youve learned the basics of how to make them useful for you. I think Bases are one of the most important tools Obsidian has come out with in a long time, and I look forward to using them for many years to come!
-101
View File
@@ -1,101 +0,0 @@
---
title: "Having Kids Is Not A Choice"
source: "https://aninjusticemag.com/having-kids-is-not-a-choice-5ca838315178"
author:
- "[[Christyl Rivers]]"
- "[[Phd.]]"
published: 2024-07-05
created: 2024-10-29
description: "— Feminists do not tell women to get out and “work” or “Do not be mothers.” (Autonomy is the entire point of free choice.) — Global warming results in more complications and more deaths during…"
tags:
- "clippings"
---
## Forget about Overpopulation, there are so many reasons why there is no “right to choose”
[
![Christyl Rivers, Phd.](https://miro.medium.com/v2/resize:fill:88:88/0*CafI8q1T7n1U17Jt.)
](https://christylrivers.medium.com/?source=post_page---byline--5ca838315178--------------------------------)
[
![An Injustice!](https://miro.medium.com/v2/resize:fill:48:48/1*suDnvWWEvtqQCxA2NEHoRA.png)
](https://aninjusticemag.com/?source=post_page---byline--5ca838315178--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/0*xso0mSHjCRcFAkU1)
Photo by [National Cancer Institute](https://unsplash.com/@nci?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
## Roaring Rivers
Torrents, currents, and ripples by **Christyl Rivers,** PhD.
## Babies are what happens while God is making other plans
For the love of GOD, (or if youre atheist) please stop saying women having kids is a choice.
*Yes, it SHOULD be a choice in a civilization. But, its not yet.*
…Here are some facts and feelings to think about.
— Feminists do not tell women to get out and “work” or “Do not be mothers.” (Autonomy **is** the entire point of free choice.)
— The world has made childbearing unaffordable and unsustainable.
— Often, even billionaires do not take care of their own kids.
— Global warming results in more complications and more deaths during pregnancy, and for women with [children](https://www.unicef.org/reports/uprooted-growing-crisis-refugee-and-migrant-children).
— There are human relationships that cannot sustain childbirth.
— Millions of women get pregnant every day by accident.
— Trans women (who do exist) may not be able to have kids.
— There are places in the world where women have forced birth.
— There is date rape, and spouse rape, and even child rape.
— About 1,000 women per day die in pregnancy related deaths.
— Not every womans body can handle a pregnancy.
— Many women are infertile. (Christyl raises her protesting fist)
— Not all women are socialized and biologically programed to reproduce.
— Women have, at best, one third of their lives to be fertile.
— Fertility treatments, are rarely covered by insurance.
— The “choice” for IVF is more than $10,000 per cycle.
— Even conception is under the gun, (or, Pope robe?) in many faiths.
— Not all women love children.
— Many families already have kids from prior relationships.
— Few people can afford to adopt kids; often a for profit system with no guarantees, and very costly.
— Even if adoption were not racist, sexist, or costly, it can take years and years.
— Finally, did you know there are *men* who dont want to support kids? Or even have them?
You may be able to think of other reasons. If so, speak up.
Every day we see stories and diatribes telling women to ***have*** kids, or to ***not*** have kids (usually by implying they should not be slutty, or careless, or both.) We hear of pro-natal nations who reward large families, or of infertile people who cant have kids. Every precious life has different circumstances. We hear that women (or sometimes men) should find a fabulous breadwinner. We hear lots of financial advice telling men and women to budget, plan, manage, and optimize their time to accommodate their preferred number of kids. We hear that whole nations will collapse because there are not enough of young people working to support the elderly. This is the pro-natal stance which rewards fertility.
==Shouldnt we also reward small families who do== ==*not*== ==contribute as much to the climate disasters we now have?==
We hear that men and womens roles are in peril. We hear the world is not fit for children. (Or, conversely, that it really, really *needs* them now). We hear that if not enough of “our kind” reproduce, we will lose “our way of life.” We hear that no one even loves motherhood anymore. We hear that traditions are being lost.
But [WHO](https://www.who.int/westernpacific/health-topics/reproductive-health) numbers and the [UN](https://press.un.org/en/2024/sgsm22295.doc.htm), in addition to thousands of other global organizations, know that women seldom have affordable, healthy, strong, and educated kids in many, many nations.
Even as I write, many women are losing babies, and/or birthing babies in war zones and refugee camps. Yet every child born deserves to be wanted.
Most every position on the topic of “having children” centers on the idea that having children is a personal choice.
Oh, what freedom we would have were that the case!
@@ -1,106 +0,0 @@
---
title: "How the UK is becoming a third-world economy"
source: "https://medium.com/the-geopolitical-economist/how-the-uk-is-becoming-a-third-world-economy-8fbdfdb412ea"
author:
- "[[Vikas]]"
published: 2024-10-13
created: 2024-10-29
description: "The United Kingdom, which at its peak was an empire where the sun never set, ruled around 25% of the world and colonised the wealthiest countries of that time, is now slowly moving towards economic…"
tags:
- "clippings"
---
## Wealth and Decline — The UKs Struggle Behind the Glitter
[
![Vikas](https://miro.medium.com/v2/resize:fill:88:88/1*ivGayOk3VhGjZ9lkU_Kfbg.jpeg)
](https://medium.com/@vikas162202?source=post_page---byline--8fbdfdb412ea--------------------------------)
[
![The Geopolitical Economist](https://miro.medium.com/v2/resize:fill:48:48/1*Dv_rJJlCHM7jkCJ6X97auQ.png)
](https://medium.com/the-geopolitical-economist?source=post_page---byline--8fbdfdb412ea--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/0*fRYNcotyS6mOwr_a)
Image from [HM Land Registry](https://www.money.co.uk/cost-of-living/cost-of-living-statistics)
The United Kingdom, **which at its peak was an empire where the sun never set**, ruled around 25% of the world and colonised the wealthiest countries of that time, is now slowly **moving towards economic decline.**
London, which is considered as the **“City of Dreams,**” is one of the wealthiest urban areas globally.
> **Its economy, worth around £508 billion ($652 billion), would rank as the 22nd largest economy worldwide.**
>
> **If London was an independent state, placing it above nations like Argentina and Sweden.**
Despite this, Londons prosperity is atypical for the rest of the United Kingdom. This small area of Southeast England, home to about one-third of the countrys population, generates nearly half of its GDP.
> **Without Londons output, British living standards would fall by 14%, barely staying ahead of Mississippi, the poorest state in the U.S.**
However, the U.K. has seen better days. The last decade has been particularly tough, with real disposable income (income after taxes and benefits) still needing to grow.
> **As the cost of goods and services increases, the average Briton can buy less today than they could ten years ago.**
Meanwhile, productivity remains low, among the weakest of any major economy, and housing has become unaffordable, contributing to the U.K. holding the record for the highest number of homeless people in the developed world.
![](https://miro.medium.com/v2/resize:fit:700/0*9rAYw5W0WBlRO4GB.jpeg)
Image source: [Statista](https://proxy.parisjc.edu:8293/chart/28262/breakdown-of-the-rising-cost-of-living-in-the-uk/)
## **A History of Economic Setbacks**
The roots of these issues lie in past political decisions. Over the years, Britain has stumbled through a series of crises and has yet to have a quick fix in sight. Ironically, the U.K., once the worlds first industrialised nation, now faces the risk of becoming the first to deindustrialise. Britains economy is on a downward trajectory, with rising inflation and housing prices.
> Housing prices reportedly jumped by more **than 20 to 25%** in just one month, although this shocking statistic received minimal media attention.
Ground News offers invaluable insights, allowing users to view the full spectrum of media coverage.
**For example, only ten sources covered the housing price spike, and less than 10% of these outlets were government sources, highlighting how governments often avoid discussing domestic complications.**
## **The Cost of Austerity**
Britains economic struggles date back to 2008 when the global financial crisis left long-lasting effects. Like many countries, **the U.K. suffered, but its response set it apart. After borrowing roughly £141 billion to bail out its banks, the government opted for austerity rather than investing in fiscal and social policies.** There were no significant tax cuts, minimum wage increases, inflation controls, housing assistance, or job creation programs.
For ordinary citizens, the consequences were devastating. Real household income fell and remained stagnant for the next 15 years, a period often referred to as Britains **“lost decade.”**
> **In 2007, the average British household was only 8% less prosperous than those in Norway and 6% behind the United States.**
Here is the difference
> **Today, British households lag 20% behind Norway and 16% behind the U.S. in terms of real income.**
![](https://miro.medium.com/v2/resize:fit:600/0*aN6bT07Ak0iYeqBz.jpg)
This decline in living standards is keenly felt by the middle class, whose real household income is a key driver of economic growth.
While the government prioritised corporate interests, even the corporate world saw only short-term gains. Productivity, one of the most efficient ways to grow an economy, should have been addressed. Productivity is not about working harder but about increasing economic output without increasing labour.
**However, after the 2008 crisis, the U.K.s productivity stagnated, bucking a trend that had been in motion since the 1980s.**
## **Brexit, COVID-19, and the Ukraine War**
The simultaneous effects of low household income and poor productivity explain much about the U.K.s economic decline. Yet, this slow deterioration went largely unacknowledged by political parties, with no discourse to address it. Instead, the crisis manifested itself in the form of Brexit, which only worsened the economic situation.
> **Between 2016 and 2021, Brexit caused a 25% drop in direct foreign investment, according to the Bank of England.**
Then came the COVID-19 pandemic, exacerbating the brewing crisis. **The government borrowed an additional £280 billion to manage the pandemic, with interest rates at historic lows of around 0.1%.** This seemed manageable at the time, but the Ukraine war in 2022 added a new layer of complexity. Sanctions on Russian oil and gas caused an energy crisis, tripling household heating costs. **The government stepped in again, this time with £60 billion to £100 billion in financial support, pushing the national debt even higher.**
Today, debt servicing has surged to £100 billion annually, a £60 billion increase from previous years. **This expense has become the second-largest item in the national budget, surpassed only by health spending.** Other public services have suffered, with such a large portion of funds going towards debt repayment.
As the pandemic subsided, most advanced economies saw a recovery in their workforces.
> **But not the U.K. Its workforce never bounced back**, with a missing 11 million people classified as **“economically inactive.”**
This includes students, early retirees, and those with caring responsibilities. To fill the gaps, the government has turned to immigration, leading to an influx of workers from South Asia and Sub-Saharan Africa.
While this helps sustain the economy, **it has also increased social tensions. In August 2024,** anti-immigration protests rocked over 20 towns across the U.K., reflecting the simmering discontent within the nation.
## **A Bleak but Not Hopeless Future**
Britains economic woes have triggered a chain reaction of crises, from debt to workforce issues, from housing to social tensions.
Yet, every nation goes through ups and downs, and the U.K. is no exception. London remains one of the wealthiest and most innovative cities globally, a glimmer of hope amid the challenges.
==**Things may eventually improve, but for now, Britain must navigate the consequences of its past decisions.**==
@@ -1,98 +0,0 @@
---
title: "I Installed These 4 Unorthodox Command Line Tools To Revamp My Terminal Experience"
source: "https://levelup.gitconnected.com/i-installed-these-4-unorthodox-command-line-tools-to-revamp-my-terminal-experience-68dcd07ed161"
author:
- "[[Rishabh Agarwal]]"
published: 2024-10-06
created: 2024-10-29
description: "Terminals have been around for more than 75 years now and in this period a number of tools have been developed to simplify the day-to-day job of a person working with them. Many tools like ls, cat…"
tags:
- "clippings"
---
## Discover How These Unique Tools Breathe New Life into a Classic Interface
[
![Rishabh Agarwal](https://miro.medium.com/v2/resize:fill:88:88/1*yicJmouyplHz2kBSWrnpdg.png)
](https://medium.com/@the_infinity?source=post_page---byline--68dcd07ed161--------------------------------)
[
![Level Up Coding](https://miro.medium.com/v2/resize:fill:48:48/1*5D9oYBd58pyjMkV_5-zXXQ.jpeg)
](https://levelup.gitconnected.com/?source=post_page---byline--68dcd07ed161--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*mNik76xZThyvFavj-UG0qw.png)
> Terminals are almost as old as the computers!
Terminals have been around for more than 75 years now and in this period a number of tools have been developed to simplify the day-to-day job of a person working with them. Many tools like `ls`, `cat`, `pwd`, and `grep` have become so common that working without them is unimaginable.
Most of these commonly used tools were developed decades ago when computers were totally different from what we know them today. But such was the versatility of these tools that they are still useful after years of their development.
While most existing tools work well, the software community has developed a plethora of new options in recent years to elevate our terminal experience.
I recently installed 4 such tools and since then found them greatly useful when working on terminal. Let us talk about them.
## bat — A cat clone with wings
The [bat](https://github.com/sharkdp/bat) tool is a clone of famous cat program with support for syntax highlighting and git integration.
Conveniently, using `bat` is similar to using the `cat` program.
```
~ sudo apt install bat ~ brew install bat
```
A detailed guide for installing it on various distribution is provided [here](https://github.com/sharkdp/bat?tab=readme-ov-file#installation).
## Ultimate Plumber — Tool for crafting Linux Pipes
`up`, or the **Ultimate Plumber**, is a tool for writing Linux pipes in a terminal-based UI interactively, with instant live preview of command results.
The primary goal of **Ultimate Plumber** is to facilitate interactive and incremental exploration of textual data in Linux. It simplifies the process of building complex pipelines with a fast feedback loop. This is accomplished by enhancing traditional Linux text-processing utilities — such as *grep*, *sort*, *cut*, *paste*, *awk*, *wc*, and *perl* — by offering a quick, interactive, and scrollable preview of their results.
![](https://miro.medium.com/v2/resize:fit:700/0*_p8IaNvncAob_gQp.gif)
To install the Ultimate Plumber on MacOS, we can use brew as follows.
```
~ brew install up
```
Other methods to download and use this tool can be found [here](https://github.com/akavel/up?tab=readme-ov-file#usage).
## asciinema — Terminal Session Recorder
The **asciinema** (aka asciinema CLI or asciinema recorder) is a command-line tool for recording terminal sessions.
Unlike typical *screen* recording software, which records visual output of a screen into a heavyweight video files (`.mp4`, `.mov`), asciinema recorder runs *inside a terminal*, capturing terminal session output into a lightweight recording files in the [asciicast](https://docs.asciinema.org/manual/asciicast/v2/) format (`.cast`).
![](https://miro.medium.com/v2/resize:fit:700/0*wvldG1kt5NDftBoU.gif)
To record a session run this command in your shell:
```
asciinema rec demo.cast
```
The installation guidelines for asciinema can be found [here](https://docs.asciinema.org/manual/cli/installation/).
## navi — Cheatsheet for Command Line
[navi](https://github.com/denisidoro/navi) allows you to browse through cheatsheets (that you may write yourself or download from maintainers) and execute commands.
The great thing is that there are a number of repo for common commands like `git`, `kubectl`, and `docker`. Here are some of the benefits of using this tool ~
- it will spare you from knowing CLIs by heart
- it will spare you from copy-pasting output from intermediate commands
- it will make you type less
- it will teach you new one-liners
The recommended way to install navi is using brew.
```
~ brew install navi
```
![](https://miro.medium.com/v2/resize:fit:700/0*Uxvlkdqct5ExxYg9.gif)
@@ -1,92 +0,0 @@
---
title: "I Visited America After 15 Years, Heres What I Saw"
source: "https://medium.com/publishous/i-visited-america-after-15-years-heres-what-i-saw-724548047e57"
author:
- "[[Niharikaa Kaur Sodhi]]"
published: 2024-09-30
created: 2024-10-29
description: "I visited America after 15 years this summer to spend a few weeks with my family. I enjoyed so much that I extended my stay from 3 to 6 weeks, out of which I didnt work for four weeks. Perks of…"
tags:
- "clippings"
---
## Six Observations During My Six Weeks in the USA
[
![Niharikaa Kaur Sodhi](https://miro.medium.com/v2/resize:fill:88:88/1*Bek4JBLascewlqJY74sp4Q.jpeg)
](https://medium.com/@niharikasodhi?source=post_page---byline--724548047e57--------------------------------)
[
![Publishous](https://miro.medium.com/v2/resize:fill:48:48/1*Hj6vUEMxO2xHhofeVl7iWA.png)
](https://medium.com/publishous?source=post_page---byline--724548047e57--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*rIT7Aa4YmaDpn6c2NxODXA.jpeg)
Image of the author
I visited America after 15 years this summer to spend a few weeks with my family. I enjoyed so much that I extended my stay from 3 to 6 weeks, out of which I didnt work for four weeks. Perks of being a solopreneur, I know.
My daily routine was walking in the morning, followed by strength training thrice a week or sometimes just a stretch. Id then cut strawberries, blueberries, and blackberries on my plate and relish them as I sat on the deck outside, viewing trees. These are fruits I dont get back home, and when I do, they nearly arent as good (or affordable). Thats why I relished berries and cherries twice a day.
I spent my afternoons reading, gossiping with my grandma post lunch and then family time after 5 PM.
This was my routine when we werent travelling or sightseeing. For reference, I was living in Maryland, an hour from Washington, D.C.
Here are some things that surprised me.
## Greenery
Theres *so* much greenery everywhere, even in residential areas. I walked 56km every morning and saw wild rabbits and deer peacefully nested in their areas and even crossing the road.
Thats why I walked for an hour or two every morning, even during a holiday because something about it was so healing. As though nature was rejuvenating me and making me feel alive, happier, content, and grounded. Its a new experience for me because I dont walk back home in Delhi, India. Bad weather, pollution, no infrastructure, constant honking, overpopulation and stray animals fill the roads. Going out to walk here is anything but peaceful.
But my morning walks felt like an entirely different world I wasnt exposed to. Now I know why people often recommend taking a walk to solve problems, because it works, and because they can.
## Vastness of… everything
Sometimes, its easy to overlook how I come from a big land that is also filled with a billion more people than America. Here, there was so much area left free. The parking spaces were so vast that I wondered if they were ever full, and how people have the motivation to be here when its snowing and they need its quite a walk to the store.
Everything was… big. The stores were so large, and as someone who has mainly traveled across Europe for the past seven years, this was shocking. My eyes couldnt even see till the end of the store. There were way too many varieties available for everything in the world. I dont know how people decide here with so much out there.
Between my mum, grandma, and me, we always shared two mains. There was way too much food. I cant imagine eating all that. They say that your stomach can [shrink or expand](https://www.healthline.com/health/how-long-does-it-take-for-your-stomach-to-shrink) depending on the portions you eat. I dont know why anyone would choose to expand it.
## Infrastructure
The area I was living in had plenty of playing areas, parks, sports facilities, pools, a library, and more—for barely any cost. My cousin threw his 13th birthday party in the pool in their community, which looked so fun and easy to do. My friends spend at least $1000 for their kids parties because showing off and trying to look the best is so prevalent in our society. Such a waste of money, I tell you!
The last time I borrowed a book was in college. So when my cousin took me to the Frederick Public Library, I was in awe! It would be my dream to have such a library close to me! To be able to borrow such a vast amount of books with everything available under one roof. How much Id want to spend my days there, relaxing and cosying up with a book.
Of course, Im jealous of good roads and access to nearly everything one wants.
## Gaining weight
After walking 56 km a day and strength training for 40 min 35 times a week, I still gained weight!!!! I even ate healthy (okay, maybe a bit too much ice cream). Im now working hard, even two months later, to shed it off.
I dont know how this happened, but Im not happy about it.
## True marketing
Whole wheat means whole wheat, healthy means healthy. What you see on the label is in the ingredients. As someone who shops after seeing ingredients for a decade as thats when I started my fitness journey, this was stress-free for me.
In my country, whole wheat bread has 60% flour. Almond biscuits have 2% almonds and most items marketed to be healthy are filled with sugar. The laws are rather loose and you cannot trust what's written outside.
In the U.S., I was shocked that right in front of ice cream packets, it was mentioned that artificial flavoring was used. This is terrible for sales, but its honest. If something says no preservatives, it doesnt have them. This makes buying groceries a little less stressful when you arent reading labels for everything.
## Even more \[personal\] space
Our neighbour had an ambulance and police for half a day. In India, youd know what happened. But here its impolite to ask because you need to give people their space.
In India, you would know *everything* about what happened in that house.
## Lastly
Since Im pretty active on the Internet, its not uncommon to see Americans cribbing often. I know theres a lot that's not going well and things that upset them. But theyre… really first-world problems.
From what I observed, they live a rather safe and secure life. I cannot even go out for a walk here because of the fear of being attacked by a stray dog or harassment (87 rapes/ day were [recorded](https://www.tbsnews.net/world/countries-highest-rape-incidents-144499) in India in 2019), Im always on guard. In the US going out for a walk or wearing whatever I wanted was so easy. Just wearing what you want feels like a freedom I hadnt experienced before for such a long period.
==They have running water, air conditioning, and electricity. Im from a fairly privileged part of this country, and I cant ever imagine these luxuries. Its that far-fetched. What I can only dream of is basic for them.==
Anyhoo, Im so glad I went. Im excited to visit NYC for the first time in November this year because its been my dream ever since I started watching English movies!
@@ -1,115 +0,0 @@
---
title: "I Will Debate Anyone on the Existence of the Afterlife, And Win"
source: "https://medium.com/the-neville-goddard-manifestation-club/i-will-debate-anyone-on-the-existence-of-the-afterlife-and-win-0bbb8207d958"
author:
- "[[El Creativo]]"
published: 2024-10-03
created: 2024-10-29
description: "I am sick and tired of giving the right of way to people who say “science” shows that there is no afterlife. Which scientific department? Regurgitating stuff you heard from your high school teacher…"
tags:
- "clippings"
---
## Simple facts because I know my stuff
[
![El Creativo](https://miro.medium.com/v2/resize:fill:88:88/1*eqZtpGmNdfw24EsM7Eah2w.jpeg)
](https://medium.com/@emiliencreativo?source=post_page---byline--0bbb8207d958--------------------------------)
[
![Exploring Near-Death Experiences](https://miro.medium.com/v2/resize:fill:48:48/1*56SSt27J0xajD4C0zxgQ9g.jpeg)
](https://medium.com/the-neville-goddard-manifestation-club?source=post_page---byline--0bbb8207d958--------------------------------)
![Image of a man showing his hands as if to say I got nothing to hide.](https://miro.medium.com/v2/resize:fit:700/1*KsNBqoiv3hLKuEs5yTD3Dw.jpeg)
Image from [www.freepik.com](https://www.freepik.com/free-photo/expressive-bearded-man-pink-tshirt_10961619.htm#fromView=search&page=1&position=6&uuid=af850c28-8849-4282-b735-2f7a14e266ef)
I am sick and tired of giving the right of way to people who say “science” shows that there is no afterlife.
Which scientific department? Regurgitating stuff you heard from your high school teacher is not talking science. Its recalling what your brain thinks was spoken.
Now, lets speak facts.
## Are You Sure You Are Alive?
How do you know you are alive?
Is it because an EKG monitor traced your QRS complex? A QRS complex is a cardiologist's indicator of the state of your hearts rhythm.
You know because you are aware of being alive as opposed to being dead.
So, somewhere in your database, you know how to differentiate your state of life from death without the scientific method.
==When you are dead, you will be aware that you have transitioned from a state called life to a state called death.==
Simple, is it not?
## There Wont Be a Heaven, It Will Be Nothing
Saying the afterlife state of being is only heaven or hell is like saying the sun rises up and goes down.
If you havent been out in space, your eyes would tell you that the sun is moving around us. But Earth is spinning around itself. The sun doesnt even do anything; Earth creates its own days and nights.
The same goes for the afterlife; the realm itself doesnt change. But the state of the awareness that looks at it changes.
If your awareness projects the afterlife to be two states, it will remain two states until you change your own perspective on it.
On the hour of your death, what will end is your tunnel vision on your brain signals. The rest will be the same.
Instead of beholding reality by excluding everything except what the brain tells you, you will look at everything with no exclusion. Hence, whats described in near-death experiences as feeling expansion or perceiving everything with all the details.
## The Brain is Not The Processing Unit
The brain is a receptive unit, not a processing unit. Your awareness is the one processing it (your brain).
If you get knocked unconscious and, say, you perceive oblivion. Who saw seeing this oblivion? Since you were “OUT.”
When your brain stops feeding you data, you process reality data unaltered by your body's senses. It appears to be nothing because you are not identified with anything.
If you dont have an identity to help you categorize, everything looks the same. And if everything looks the same, it appears as if you are looking at nothing.
Put the filter back on, and you see the differentiated states. Then you say,
“Ohh, now I can see stuff. This means I am alive and real because I have a brain and a body.”
“Ohh, look at my leg. I can move it. This is the only proof that I exist.”
“OH my god, thoughts, I can think. Woow, more proof that I am a living being.”
Meanwhile, forms of life that dont rely on thoughts and a brain are amazed about how you can easily negate things because they dont work like you.
## I AM 100% SURE OF THE AFTERLIFE
I, El Creativo, am 100% sure of the afterlife because I know the difference between being alive and dying.
Being aware that my body is off means I will be experiencing the moment after my death. I will be like, “This is my post-death format.”
I am currently too busy with life; therefore, I will know what to do when that moment comes.
After-death is an adventure for another now.
I will debate this with anyone and win. And I will find every possible backdoor in any of the arguments presented to me on this topic.
Also, writing “bullshit” and hiding behind the general term “science” doesnt count. Bring me the written word in detail, and lets f\*\*\*\*\* go.
## One Last Thing
Those who say accounts of near-death experiences cant be valid proof because they are word of mouth.
Heres a list of **“**TRUE**”** things that are only word of mouth.
1. Court testimony
2. Most historical accounts on anything past the year 1000 AD
3. Tales of battles (ancient kingdoms)
4. Your name
Thank you for reading.
If you are inspired to, you may buy me a coffee here @ — ▶ My [Ko-fi page](https://ko-fi.com/pause)
❤️
You can [subscribe to my list to receive stories](https://emiliencreativo.medium.com/subscribe) in your email when I publish. [***If you are new here, I write about Near-death experiences, metaphysics, and spirituality.***](https://emiliencreativo.medium.com/)
@@ -1,129 +0,0 @@
---
title: "I have Asked This SSH Question in Every AWS Interview — And Heres the Catch"
source: "https://aws.plainenglish.io/i-have-asked-this-ssh-question-in-every-aws-interview-and-heres-the-catch-ee2013a83e99"
author:
- "[[Rahul Sharma]]"
published: 2024-09-16
created: 2024-10-29
description: "Learn how to troubleshoot SSH issues on AWS EC2 instances. Discover common mistakes and interview insights to ace your next AWS technical interview."
tags:
- "clippings"
---
## I have Asked This SSH Question in Every AWS Interview — And Heres the Catch
[
![Rahul Sharma](https://miro.medium.com/v2/resize:fill:88:88/1*D7Cix-fP2e5BWg2J7QByeA@2x.jpeg)
](https://devopstory.com/?source=post_page---byline--ee2013a83e99--------------------------------)
[
![AWS in Plain English](https://miro.medium.com/v2/resize:fill:48:48/1*6EeD87OMwKk-u3ncwAOhog.png)
](https://aws.plainenglish.io/?source=post_page---byline--ee2013a83e99--------------------------------)
![SSH Question in Every AWS Interview](https://miro.medium.com/v2/resize:fit:700/1*sSIaYTyrm7UMRRMVssDw2g.png)
Feature Image Created in Canva.
When I interview people, I always ask questions about problems that people face in the real world.
“**You are trying to SSH into an EC2 instance but it is failing.**”
This is one of the questions I ask most often. How would you try to figure out whats wrong?” It looks like a simple question, but it can tell you a lot about how much someone knows about cloud infrastructure, how they solve problems, and how much experience they have with AWS.
Over the years, I have had the pleasure of interviewing many AWS engineers and system administrators, and the way they handle this question gives me insight into their level of expertise. In this blog, I will share the best practices for troubleshooting SSH connection issues on AWS EC2 instances, practices I look for in candidates answers.
## Security Groups: A Common Pitfall I Have Seen in Interviews
In almost every interview where I ask this question, the first thing I expect a candidate to mention is **Security Groups**. Unfortunately, not everyone does. Many candidates immediately dive into complex network configurations or system-level settings, ==forgetting that AWS security groups act as firewalls that control== ==**inbound**== ==and== ==**outbound**== ==traffic.==
## What I Look For in a Candidates Answer:
The best candidates know that the first thing to check is whether port 22 (SSH) is allowed in the security group associated with the instance. I can usually tell right away if someone is familiar with AWS EC2 by whether they ask, “**Is the security group allowing inbound SSH traffic?**”
## How to Check Security Group Settings:
1. **AWS Console** → EC2 → **Instances** → Select your instance.
2. **Description Tab****Security Groups** → Click to view.
3. Ensure inbound rules allow SSH (port 22) from your IP or IP range.
![Security Group Inbound Rule Configuration](https://miro.medium.com/v2/resize:fit:700/1*4l1ZHEM5ITj_V19Op2alzA.gif)
Image Showing Security Group Inbound Rule Configuration
## Key Pair Permissions
When I ask candidates this question, the ones who have worked with EC2 know that SSH keys are another frequent stumbling block. They will mention that one of the next steps is to verify that the SSH private key file has the correct permissions, a detail that many candidates overlook.
## What I Look For in a Candidates Answer:
Experienced candidates will bring up the importance of the private key files permissions. They will know that if the key file is too permissive, the SSH connection will fail for security reasons. I always listen for them to mention the ***chmod*** command, which shows they have dealt with this issue in the real world.
## Step-by-Step:
1. **Command**: *chmod 400 your-key.pem*
- This ensures the file is readable only by you, which SSH requires.
2\. **Connect** using the private key
```
ssh -i /path/to/your-key.pem ec2-user@your-ec2-public-ip
```
**Short story:** I remember one candidate who told me a story about how they would spend an hour troubleshooting a connection issue only to realise the permissions on their key file were too broad. Its these small, easily overlooked steps that separate AWS beginners from those with hands-on experience.
## Confirm the Instance is Running
Its surprising to me that some candidates dont even think to check to see if the EC2 instance is running. I have asked follow-up questions like, **“What state is the instance in?”** in a few interviews, and the candidate understood that checking the instance status is an important step that is often missed.
## What I Look For in a Candidates Answer:
Good candidates will mention this fairly early in the process. If the instance is stopped or terminated, no amount of troubleshooting is going to make SSH work.
## How to Check Instance Status:
1. In the **AWS Console****EC2 Dashboard**, verify that your instance state is “running.”
- If its in a **stopped** state, simply select the instance and click **Start Instance** from the **instance state** options.
## Network ACLs and Route Tables: Where True Experts Shine
When a candidate starts talking about **Network ACLs** or **Route Tables**, I know I am dealing with someone who understands AWS networking. This step is where I can separate candidates with surface-level knowledge from those with deeper expertise. Network ACLs and route tables control traffic at the subnet and VPC levels, and misconfigurations here can prevent SSH traffic from reaching your instance.
## What I Look For in a Candidates Answer:
I pay close attention to whether candidates ask questions about VPC-level settings. Specifically, they should mention that Network ACLs might block SSH traffic or that the route table could be incorrectly routing traffic away from the internet gateway.
## How to Troubleshoot:
1. **Network ACLs**: Ensure that both inbound and outbound rules allow traffic on port 22.
**2\. Route Tables**: Verify that your instances subnet is correctly routed to an Internet Gateway for public instances or a NAT Gateway for private instances.
## Using EC2 Instance Connect: A Lifesaver When All Else Fails
The candidates who stand out are those who know multiple ways to solve a problem. Some of the best engineers I have interviewed will mention AWSs **EC2 Instance Connect** as an alternative when SSH troubleshooting fails. This service allows you to connect to your instance directly through the AWS Console, bypassing issues with keys or network settings.
## What I Look For in a Candidates Answer:
Candidates who mention this as a last resort are typically those who have been in real troubleshooting situations. They know that EC2 Instance Connect can help them access the instance even when everything else seems to go wrong.
## How to Use EC2 Instance Connect:
1. Go to **EC2 Console****Instances** → Select the instance.
2. Click **Connect** and use the **EC2 Instance Connect** option.
![EC2 Connect](https://miro.medium.com/v2/resize:fit:700/1*Q6DzRcS0Ps0AhdB5jepGkw.gif)
Image Showing EC2 Connect
During one interview, a candidate told me how they once used EC2 Instance Connect to recover access to a critical server after accidentally locking themselves out by messing up the security group rules. Its always a relief to hear when candidates know about this AWS feature and have used it in a crunch.
## Conclusion
As an interviewer, I have found that the way candidates approach SSH troubleshooting on AWS EC2 can reveal a lot about their experience and problem-solving abilities. The steps I have outlined here are not just best practices, they are the kind of methods I look for when evaluating candidates. Whether they are checking security groups or diving deep into network settings, the ability to think methodically and work through problems is a key indicator of AWS expertise.
If you are preparing for an interview or simply brushing up on your AWS skills, keep these steps in mind. And next time someone asks, “What would you do if SSH fails on an [EC2 instance](https://aws.amazon.com/ec2/?p=pm&c=mt&pd=ec2&z=4)?”, you will have the answer ready.
@@ -1,168 +0,0 @@
---
title: "Impressive Open-Source Projects That Only A Few Programmers Know"
source: "https://levelup.gitconnected.com/impressive-open-source-projects-that-only-a-few-programmers-know-c0f6b81d15fe"
author:
- "[[Shalitha Suranga]]"
published: 2024-10-22
created: 2024-10-29
description: "Free and open-source software projects, also known as FOSS projects turn million-dollar-worth innovative ideas into practical software products that anyone can use for free. Unlike budgeted, massive…"
tags:
- "clippings"
---
## Priceless open-source innovations that impress any programmer
[
![Shalitha Suranga](https://miro.medium.com/v2/resize:fill:88:88/1*3sLPPPykpFXoPCr3OYlunw.jpeg)
](https://shalithasuranga.medium.com/?source=post_page---byline--c0f6b81d15fe--------------------------------)
[
![Level Up Coding](https://miro.medium.com/v2/resize:fill:48:48/1*5D9oYBd58pyjMkV_5-zXXQ.jpeg)
](https://levelup.gitconnected.com/?source=post_page---byline--c0f6b81d15fe--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*sNhaHM0vvKaYlb7A9ObTCQ.png)
Photo by [Kari Shea](https://unsplash.com/@karishea?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash) on [Unsplash](https://unsplash.com/photos/macbook-pro-on-top-of-brown-table-1SAnrIxw5OY?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash), edited with Canva
Free and open-source software projects, also known as FOSS projects turn million-dollar-worth innovative ideas into practical software products that anyone can use for free. Unlike budgeted, massive proprietary software owned by commercial organizations, open-source software usually gets started by one enthusiastic programmer or a small developer group with non-profit goals. Once the specific open-source product becomes popular, experienced technical users contribute to the project to further improve it.
Experienced programmers typically build and maintain open-source desktop, mobile, CLI apps, and various software libraries or developer tools that other programmers can use for free even to develop commercial software projects. In some scenarios, programmers release their existing closed-source software projects or a usable part of a specific proprietary project to the open-source community.
We all know popular open-source projects like Linux, React, Apache HTTP server, Git, Node, etc., but there are more remarkable open-source projects that only a few programmers know. This article will explore several innovative open-source projects built upon impressive, priceless technical ideas.
## Pyodide — Running Python on the Browser via WebAssembly
What if you are given a task to develop a web-based Python REPL or Python editor that can execute Python code? Most developers will plan to run the official Python interpreter on a server and implement a communication line with the web app frontend using HTTP or WebSockets.
The innovative [Pyodide](https://github.com/pyodide/pyodide) open-source project ports the official Python implementation (also known as CPython) into WebAssembly using the Emscripten compiler to let developers execute Python directly on the web browser:
![](https://miro.medium.com/v2/resize:fit:700/1*MGRPET2TT0nQcEIneUWyMQ.gif)
Using the [online Pyodide REPL](https://pyodide.org/en/stable/console.html) on Google Chrome, a screen recording by the author
Pyodide lets developers download Python modules to the browser using the Python-based micropip package manager.
Installing Pyodide is so simple as it comes as a simple JavaScript library. Here is how you can use Pyodide in a plain HTML project:
```
<script src="https://cdn.jsdelivr.net/pyodide/v0.26.2/full/pyodide.js"></script><script> async function main() { let pyodide = await loadPyodide(); console.log(pyodide.runPython(\` import math math.sqrt(20.1) \`)); // 4.483... }; main();</script>
```
You can also install Pyodide into your favorite frontend library-based projects by installing the `[pyodide](https://www.npmjs.com/package/pyodide)` NPM package.
## Lite-XL — A Native, High-Performance, and Minimal Alternative to VSCode
Most developers nowadays use the popular Visual Studio Code (VSCode) editor to work with various software codebases. Because of productivity-focused features and the massive extension ecosystem, VSCode has become the most recommended code editor in the modern software industry.
However, VSCode has [hidden performance issues](https://levelup.gitconnected.com/native-apps-are-dead-189a4b9459e9) since its a hybrid desktop app that runs on the popular Electron framework. VSCode doesnt render native UI elements and it uses typical DOM elements even to render thousands of source code segments, as shown in the following preview:
![](https://miro.medium.com/v2/resize:fit:700/1*2BBFC-3Jm54OZ9_MFTRNww.gif)
VSCode implements the syntax-highlighting feature with traditional DOM elements, a screen recording by the author
The [Lite-XL](https://github.com/lite-xl/lite-xl) editor is a minimal, cross-platform code editor program that offers most VSCode features. Lite-XL is written using Lua and C. It renders graphical elements natively using the SDL2 low-level multimedia library and embeds the minimal Lua language to implement code editor features:
![](https://miro.medium.com/v2/resize:fit:700/1*QKvg_pTk05zo5xx7XVwKRQ.png)
Lua-based initialization script in the Lite-XL project, a screenshot by the author
Lite-XL follows an impressive architectural pattern by separating code editor features into several Lua-based plugins with a self-explanatory internal API. Lite-XL is built as an extensible code editor that programmers can use to build their own code editor version by writing or modifying plugins or updating the editor core.
Lite-XL is a fork of the Lite open-source code editor. The following story explains further about the Lite code editor project:
## Serenity OS — A Fully-Featured Operating System Developed from Scratch
Ask your co-worker to build a POSIX-compatible, GUI operating system from scratch without using any code dependency and copying code from other open-source projects. The typical response is that developing an operating system from scratch alone is hard. Well have to write kernel modules, device drivers, file systems, network layers, libraries, process runners, and inbuilt applications ourselves. But, nothing is impossible — any motivated programmer can build a fully-featured, complete operating system.
[Serenity OS](https://github.com/SerenityOS/serenity) is a complete GUI operating system written in C++ maintaining good POSIX compliance. The importance of this operating system is that every component in the codebase is written from scratch and initiated by only one programmer (now there are more project contributors on GitHub).
This operating system implements a Windows 95-like GUI and offers several pre-included general-purpose software like a web browser, terminal, text editor, and calculator:
![](https://miro.medium.com/v2/resize:fit:700/1*dIRu7eKcclebXuPHZqmfKw.png)
A screenshot of Serenity OS, image taken from the GitHub repository licensed under the BSD 2-clause license
Serenity OS also implements a pre-included IDE called Hack Studio and includes ports for popular software and developer tools like GNU C compiler, Bash, etc.
## Ladybird — a Truly Independent Modern Web Browser
Google and Mozilla dominate the current web browser market since they maintain the Chromium and Firefox web browsers respectively. Due to the popularity within the open-source ecosystem and easy embedding capabilities, companies started building their own custom web browsers using Google Chromium open-source browser. For example, Microsoft Edge and Opera started using Chromium browser engine components.
Chromium is not a project that started from scratch, it uses a fork (called Blink) of the WebKit web browser engine which was originally a part of the KDE project:
![](https://miro.medium.com/v2/resize:fit:700/1*JvVpPYQ4BRUBtSr14QAHKA.png)
KDE and Apple (WebKit) copyright details in the Blink engine license headers, a screenshot by the author
What if there is a fully-featured, modern web browser that is built from scratch by a non-profit organization? Users wont be motivated to use company-specific services and wont be a part of a massive monetization process — the user will be able to surf the web with freedom!
[Ladybird](https://github.com/LadybirdBrowser/ladybird) is a fully-featured, modern web browser backed by a non-profit organization. Ladybird uses C++ as the implementation language and doesnt borrow a single code line from other web browser projects.
This project was originally initiated from the Serenity OSs web browser. The Ladybird project is still under development and is planned to be released in 2026 for the general public as a competitive Chrome-Firefox alternative.
## Temple OS — A Minimal Operating System Developed by One Programmer
Software development is typically a collaborative process where more than one programmer contributes to a codebase for building a software system. However, some enthusiastic programmers love to work alone even if they are building something complex.
[Temple OS](https://github.com/cia-foundation/TempleOS) is a 64-bit minimal GUI operating system that renders graphics via a 16-color low-resolution viewport. According to [Wikipedia](https://en.wikipedia.org/wiki/TempleOS), The sole author of the Temple OS project wrote more than 100000 LOC (Lines of Code) alone to finalize the project. This project is written in HolyC, a C/C++-like programming language that generates x64 Assembly:
![](https://miro.medium.com/v2/resize:fit:700/1*VlJ6VXKPNlRUUcYzQrMsyg.png)
Temple OS logo, a screenshot of the official project website
Temple OS offers several general-purpose apps and many games. Its not a highly usable, general-purpose, fully-featured operating system, but its undoubtedly a good motivation for all solo open-source programmers to never give up their dreams!:
![](https://miro.medium.com/v2/resize:fit:700/1*znKq5gMQJiPF0u4wx96wLg.png)
A part of the bootstrapped HolyC compiler source, a screenshot by the author
The Temple OS project is not maintained now and is considered finished since the original author isnt alive. However, the [ZealOS](https://github.com/Zeal-Operating-System/ZealOS) project is an active codebase fork that offers a modernized version of Temple OS.
## QuickJs — A Lightweight, Embeddable JavaScript Engine Written in C
I found the [QuickJs](https://github.com/bellard/quickjs) project while searching the longest C source file. I thought the GNU C compiler parser module was the longest C source file ever created (27430 LOC), but the QuickJS engine's primary source file has 55980 LOC:
![](https://miro.medium.com/v2/resize:fit:700/1*W_iz0XAADnDyFbVRWMd88A.png)
The [quickjs.c](https://github.com/bellard/quickjs/blob/master/quickjs.c) source file has 55980 LOC, a screenshot by the author
QuickJs project implements a modern ECMAScript-compatible, embeddable, lightweight JavaScript engine for embedded system programmers. QuickJs supports modern JavaScript, but has no external dependencies and increases your embedded system bundle by only 210 KiB.
The popular Google V8 JavaScript engine isnt suitable for embedded programming since it weighs megabytes because of JIT-like performance enhancements. QuickJs doesnt implement JIT but runs JavaScript with only kilobyte-sized compiled code size.
## Lua — the Easiest General-Purpose Programming Language Ever Created
Most programmers think that Python is the easiest general-purpose programming language. Lua is not as popular as Python in the modern developer community, but its undoubtedly easier to learn and use than Python for any general-purpose programming requirement. Lua implements a minimal, productive general-purpose programming language with 22 keywords, 8 data types, and only one data structure.
[Lua](https://github.com/lua/lua) is a minimal language, but it offers a fully-featured standard library, a module system, and multi-paradigm programming. Look at the following simple [Git](https://levelup.gitconnected.com/git-commands-and-features-that-every-developer-should-know-a0abeec28cd2) Hook implemented in Lua:
```
#!/usr/bin/env lualocal commit_msg_file = arg[1]local msg = io.open(commit_msg_file):read()if msg:find("^#%d+: .") == nil then print("commit-msg: Incorrect commit message format.") os.exit(1)end
```
Lua is written in C without extra dependencies and weighs about ~200 KB when compiled, so embedding Lua for embedded system projects is easy.
Lua is designed as an extensible, minimal language and released under the MIT open-source license, so anyone can create custom programming languages by modifying the Lua language grammar and features.
For, example, the Roblox game development team created the [Luau](https://github.com/luau-lang/luau) language by improving performance factors and language syntax.
The following story explores the impressive Lua language features that you should know:
## FabricJs — A Library to Turn the HTML Canvas into an Interactive Graphics Editor
The modern web API specification often strives to offer standard, inbuilt APIs to let web developers write fast websites without using third-party dependencies. The standard HTML canvas API lets developers draw high-performance, dynamic, interactive 2D graphic elements on the web surface without using traditional DOM elements.
However, the standard canvas API is a low-level API, so web developers should write extra code for interactive graphic objects to build graphic editors, photo editors, painting programs, and other interactive graphics processing software.
The [FabricJs](https://github.com/fabricjs/fabric.js) open-source project implements a high-level library for HTML canvas API with pre-developed features like freehand drawing, painting brushes, shape objects, and image filters. FabricJs adds interactive features for each graphical object on the HTML canvas so, we can use it to build any web-based graphics editing software with less code.
Look at the following web-based simple photo editing app created with FabricJs and React:
![](https://miro.medium.com/v2/resize:fit:700/1*u6a2ztk5XaWJt6H6bbd5Dg.gif)
A simple photo editing app developed using FabricJs and React, a screen recording by the author
You can even use FabricJs to build an Adobe Photoshop or CorelDraw alternative!
-39
View File
@@ -1,39 +0,0 @@
---
title: "Introduction to Bases"
source: "https://help.obsidian.md/bases"
author:
- "[[Obsidian Help]]"
published:
created: 2025-08-29
description: "Introduction to Bases - Obsidian Help"
tags:
- "clippings"
---
[Obsidian Help](https://help.obsidian.md/Home)
Bases is a [core plugin](https://help.obsidian.md/plugins) that lets you create database-like views of your notes. Using a base you can view, edit, sort, and filter files and their [properties](https://help.obsidian.md/properties). Bases can help you organize everything from projects to travel plans, reading lists, and more.
Each base can have several [views](https://help.obsidian.md/bases/views) with different layouts such as tables and cards. Below is an example of table view where each row is a file, and each column is a property of that file.
![Example of a base showing a table view with a list of books](https://publish-01.obsidian.md/access/f786db9fac45774fa4f0d8112e232d67/Attachments/bases-noshadow.png)
Example of a base showing a table view with a list of books
All the data in Obsidian Bases is stored in your local [Markdown](https://help.obsidian.md/syntax) files and their [properties](https://help.obsidian.md/properties). The views are described by the [Bases syntax](https://help.obsidian.md/bases/syntax), which can be saved as a `.base` file or [embedded](https://help.obsidian.md/bases/create-base#Embed%20a%20base) in code blocks within your Markdown files.
## How to use bases
- [Create a base](https://help.obsidian.md/bases/create-base)
- Learn how to create and embed a base.
- [Views](https://help.obsidian.md/bases/views)
- Explore filters, properties, and layouts.
- [Functions](https://help.obsidian.md/bases/functions)
- Functions you can use in formulas and filters.
- [Bases syntax](https://help.obsidian.md/bases/syntax)
- How base files are formatted.
Introduction to Bases
Interactive graph
How to use bases
@@ -1,132 +0,0 @@
---
title: "Java : Must Know Functional Programming Features"
source: "https://skilledcoder.medium.com/java-must-know-functional-programming-features-088980534cb4"
author:
- "[[Skilled Coder]]"
published: 2024-09-13
created: 2024-10-29
description: "Functional programming brings clarity and efficiency to Java applications. In this guide, well explore ten strong functional programming features available in Java, explained in simple language with…"
tags:
- "clippings"
---
## Ways to Make Java Functionally Fun
[
![Skilled Coder](https://miro.medium.com/v2/resize:fill:88:88/1*VdyzJXs9C1tq3M8AAvrQ3w.png)
](https://skilledcoder.medium.com/?source=post_page---byline--088980534cb4--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*VKI_AMjfecmj4zNBk3m46A.png)
Functional programming brings clarity and efficiency to Java applications. In this guide, well explore ten strong functional programming features available in Java, explained in simple language with practical code examples to help you improve your coding skills.
## **Lambda Expressions**
Lambda expressions enable you to treat functionality as method arguments or code as data. They provide a clear and concise way to implement single-method interfaces (functional interfaces) using an expression.
```
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");names.forEach(name -> System.out.println(name));
```
The lambda expression `name -> System.out.println(name)` passes each element of the list `names` to the `println`method.
## **Functional Interfaces**
A functional interface is an interface that contains exactly one abstract method. They can be implemented using lambda expressions, method references, or anonymous classes.
```
@FunctionalInterfaceinterface Greeting { void sayHello(String name);}public class FunctionalInterfaceExample { public static void main(String[] args) { Greeting greeting = (name) -> System.out.println("Hello, " + name); greeting.sayHello("World"); }}
```
The `Greeting` interface is a functional interface. We implement it using a lambda expression.
## **Stream API**
The Stream API provides a functional approach to processing sequences of elements. It supports operations like `map`, `filter`, `reduce`, `collect`, and allows for parallel execution.
```
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);List<Integer> squares = numbers.stream() .map(n -> n * n) .collect(Collectors.toList());System.out.println(squares);
```
We use `map` to apply a function to each element and `collect` to gather the results into a list.
## **Method References**
Method references provide a way to refer to methods without invoking them. They can be used in place of lambda expressions.
```
List<String> messages = Arrays.asList("Hello", "Functional", "Programming");messages.forEach(System.out::println);
```
`System.out::println` is a method reference to the `println` method, used here as a consumer in `forEach`.
## **Optional Class**
`Optional` is a container object used to contain not-null objects. It helps in avoiding `NullPointerException` and provides methods for functional-style operations.
```
Optional<String> optionalName = Optional.ofNullable(getName());optionalName.ifPresent(name -> System.out.println("Name is: " + name));
```
`ifPresent` takes a consumer that is executed if the value is present.
## **Higher-Order Functions**
Functions that take other functions as arguments or return functions are called higher-order functions.
```
public static void main(String[] args) { Function<Integer, Integer> multiplyByTwo = createMultiplier(2); System.out.println(multiplyByTwo.apply(5)); }public static Function<Integer, Integer> createMultiplier(int factor) { return x -> x * factor;}
```
`createMultiplier` returns a function that multiplies its input by a given factor.
## **Functional Composition**
Functional composition involves combining functions to build more complex functions.
```
Function<Integer, Integer> multiplyByTwo = x -> x * 2;Function<Integer, Integer> addThree = x -> x + 3;Function<Integer, Integer> composedFunction = multiplyByTwo.andThen(addThree);System.out.println(composedFunction.apply(5)); // Output: 13
```
`andThen` composes two functions; it first applies `multiplyByTwo` and then `addThree`.
## **Currying and Partial Application**
Currying transforms a function with multiple arguments into a sequence of functions each with a single argument. While Java doesnt natively support currying, it can be simulated.
```
public static void main(String[] args) { Function<Integer, Function<Integer, Integer>> add = x -> y -> x + y; Function<Integer, Integer> addFive = add.apply(5); System.out.println(addFive.apply(10)); }
```
`add` is a curried function that returns a function when applied with an argument.
## **Lazy Evaluation with Suppliers**
Lazy evaluation delays the computation until the value is needed. In Java, this can be achieved using `Supplier`.
```
public static void main(String[] args) { Supplier<Double> lazyValue = () -> computeValue(); System.out.println(lazyValue.get()); }public static double computeValue() { System.out.println("Computing..."); return Math.random();}
```
The `computeValue` method is not called until `lazyValue.get()` is invoked.
## **Immutable Data Structures**
Java provides unmodifiable collections that help in writing functional programs by ensuring data immutability.
```
List<String> list = List.of("A", "B", "C"); list.add("D");
```
`List.of` creates an immutable list; attempting to modify it results in an exception.
These features illustrate how Java incorporates functional programming concepts. You can write Java programs that benefit from the advantages of functional programming, such as improved modularity, easier concurrency, and reduced side effects.
On my [**Twitter**](https://twitter.com/theskilledcoder) and [**Instagram**](https://www.instagram.com/theskilledcoder) accounts, I frequently share my programming journey and development experiences.
Follow and subscribe to emails for unique coding articles.
Keep exploring, keep learning, and keep coding!
Thanks for reading :)
@@ -1,58 +0,0 @@
---
title: "Java: Because I eliminated all the “if (object == null)” in the project, my boss rewarded me with…"
source: "https://levelup.gitconnected.com/java-because-i-eliminated-all-the-if-object-null-in-the-project-my-boss-rewarded-me-with-29b316c32329"
author:
- "[[Dylan Smith]]"
published: 2024-08-23
created: 2024-10-29
description: "In this article, I will introduce how to combine lambda expressions with Optional to make Java judge whether an object is null more elegantly."
tags:
- "clippings"
---
Recently, a friend of mine joined a new company. Since there was a lot of code in the project that directly judged whether an object is null. So my friend optimized it by using Optional and was praised by the boss.
Now lets introduce it in detail.
In the previous article we have introduced [Lambda expression in java](https://medium.com/@junfeng0828/lambda-expression-in-java-439268b0ab97). In this article, I will introduce how to combine Lambda expression and Optional make Java handle null more gracefully.
Suppose we have a student objectand an Optional wrapper for the student object:
```
public class OptionalTest { public static void main(String[] args) { Student student = new Student("Bob", 18); Optional<Student> studentOpt = Optional.ofNullable(student); } @Getter @AllArgsConstructor public static class Student { private String name; private Integer age; }}
```
Optional cannot make the original cumbersome null check simpler if it is not used in conjunction with Lambdasuch as
```
if (student == null) { return UNKNOWN_STUDENT;} else { return student;}if (!studentOpt.isPresent()) { return UNKNOWN_STUDENT;} else { return studentOpt.get();}
```
Only when Optional is used in combination with Lambda can its true power be exerted!
Lets now compare the following four common null handling differences between Java8s Lambda + Optional and traditional Java.
**Situation 1 — Start if it exists**
```
if (student != null) { System.out.println(student);}studentOpt.ifPresent(System.out::println);
```
**Case 2 — Return if it exists, if not return fart or throw exception**
```
if (student == null) { return UNKNOWN_STUDENT; } else { return student;}return studentOpt.orElse(UNKNOWN_STUDENT);return studentOpt.orElseThrow(RuntimeException::new);
```
**Case 3 — If it exists, it is returned. If not, it is generated by the function**
```
if (student == null) { return UNKNOWN_STUDENT;} else { return generateWithFunction();}return studentOpt.orElseGet(() -> generateWithFunction());
```
**Case 4 — Continuous null checks**
```
public class OptionalCase { public static void main(String[] args) { Student student = new Student("Bob", 18, new Street("Main Street", new City("Los Angeles", new State("CA")))); System.out.println(getStateFromJava7(student)); System.out.println(getStateFromJava8(student)); } private static String getStateFromJava7(Student student) { if (student != null) { Street street = student.getAddress(); if (street != null) { City city = street.getCity(); if (city != null) { State state = city.getState(); if (state != null) { String stateName = state.getName(); if (stateName != null) { return stateName; } return "unknown"; } return "unknown"; } return "unknown"; } return "unknown"; } return "unknown"; } private static String getStateFromJava8(Student student) { Optional<Student> studentOpt = Optional.ofNullable(student); return studentOpt .map(Student::getAddress) .map(Street::getCity) .map(City::getState) .map(State::getName) .orElse("unknown"); } @Getter @AllArgsConstructor static class Student { private String name; private Integer age; private Street address; } @Getter @AllArgsConstructor static class Street { private String name; private City city; } @Getter @AllArgsConstructor static class City { private String name; private State state; } @Getter @AllArgsConstructor static class State { private String name; }}
```
It can be clearly seen from the above four situations that Optional + Lambda allows us to write a lot less ifElse blocks. Especially for situation 4, the traditional Java writing method seems lengthy and difficult to understand, while **Optional+Lambda** is refreshing, clear and concise.
@@ -1,104 +0,0 @@
---
title: "Java: Because of a Question About try-catch, I Failed My Interview…"
source: "https://medium.com/javarevisited/java-because-i-didnt-know-whether-the-try-catch-block-should-be-placed-outside-or-inside-the-for-50de407dcf63"
author:
- "[[Dylan Smith]]"
published: 2024-09-09
created: 2024-10-29
description: "Today, lets talk about a relatively light topic. A friend was reprimanded by an interviewer some time ago. Because when my friend was preparing for the interview, he was preparing some relatively…"
tags:
- "clippings"
---
Today, lets talk about a relatively light topic. A friend was reprimanded by an interviewer some time ago. Because when my friend was preparing for the interview, he was preparing some relatively complex system interview questions and principle questions. As a result, the interviewer suddenly came up with a simple question:
> ***Should try-catch be written inside or outside the for loop? And state your reasons.***
For a moment, my friend didnt know what this question was asking, so he casually answered that he habitually placed it outside the for loop because it looked more beautiful.
But this left a bad impression on the interviewer and also laid the groundwork for the subsequent interview failure…😔
![](https://miro.medium.com/v2/resize:fit:700/0*dal74v1L1ppJk5oB)
Photo by [Walls.io](https://unsplash.com/@walls_io?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
In fact, the answer to this question is not that it is always better to put it inside or outside, or that it is bad. This needs to be answered in combination with specific usage scenarios.
## 1\. Usage Scenarios
Since putting try-catch outside or inside the for loop has different effects if an exception occurs.
So it needs to be considered in combination with specific business scenarios.
## ① Putting try-catch outside the for loop
Code example:
```
public static void outside() { try { for (int count = 1; count <= 4; count++) { if (count == 3) { int num = count / 0; } else { System.out.println("success, count:" + count); } } } catch (Exception e) { System.out.println("An exception occurs."); } }
```
Output:
```
success, count:1success, count:2An exception occurs.
```
Obviously, when try-catch is placed outside the for loop, if an exception occurs during the for loop, then the for loop will be terminated.
## ② Putting try-catch inside the for loop
Code example:
```
public static void tryInside() { for (int count = 1; count <= 4; count++) { try { if (count == 3) { int num = count / 0; } else { System.out.println("success, count:" + count); } } catch (Exception e) { System.out.println("An exception occurs."); } } }
```
Output:
```
success, count:1success, count:2An exception occurs.success, count:4
```
When try-catch is inside the for loop, if an exception occurs during the for loop, the exception is caught by catch and does not affect the continuation of the for loop.
If…during an interview, if you really didnt even get the usage effects of being outside or inside as mentioned above correct, then, really, you can wait for notification.
Next, lets discuss the differences in performance.
## 2\. Performance
In terms of time, there is actually no difference.
In terms of memory usage, if there is no exception, there is also no difference.
But if an exception occurs, then pay attention.
What needs to be paid attention to? Look at the following code:
```
public class TryCatchDemo { public static void main(String[] args) { Runtime runtime = Runtime.getRuntime(); long startMemory = runtime.totalMemory() - runtime.freeMemory(); for (int i = 0; i < 100000; i++) { try { if (i > 2) { int num = i / 0; } else { System.out.println("success, i:" + i); } } catch (Exception e) { System.out.println("An exception occurs."); } } long endMemory = runtime.totalMemory() - runtime.freeMemory(); long memoryUsed = endMemory - startMemory; System.out.println("memoryUsed: " + memoryUsed + " byte"); }}
```
Output:
![](https://miro.medium.com/v2/resize:fit:700/1*LBlmSC7ZwYlGQiODA49ffg.png)
As can be seen, when try-catch is placed inside the for loop, since an exception does not terminate the for loop. So if there is really a scenario where a large number of business processes will all have exceptions, it will consume a lot of memory in a short time.
If there are not many code errors, there is almost no difference between putting try-catch inside and outside the for loop.
**Finally, I want to say that interview preparation must not ignore basic knowledge. Only by laying a solid foundation can one handle more complex and profound problems with ease.**
The above is all the content shared this time! **If the article was helpful, please clap 👏and follow, thank you! ╰(\*°▽°\*)╯\***\*
**Im Dylan, looking forward to progressing with you. ❤️**
Recommend reading.
![Dylan Smith](https://miro.medium.com/v2/resize:fill:40:40/1*4oAGfnElULhbcKXWArnexA@2x.jpeg)
## Java Interview and Usage Skills.
![Dylan Smith](https://miro.medium.com/v2/resize:fill:40:40/1*4oAGfnElULhbcKXWArnexA@2x.jpeg)
## Mastering Redis And Cache
@@ -1,93 +0,0 @@
---
title: "Java Thread Performance Boost in Java 21: Virtual Threads"
source: "https://medium.com/@lbq999/java-thread-performance-boost-in-java-21-virtual-threads-aa3bf8304539"
author:
- "[[Boqiang & Henry]]"
published: 2024-10-02
created: 2024-10-29
description: "With the release of Java 21, the virtual threads introduced under Project Loom represent a breakthrough in Java thread performance. These lightweight threads offer a huge boost in scalability, making…"
tags:
- "clippings"
---
[
![Boqiang & Henry](https://miro.medium.com/v2/resize:fill:88:88/1*f-udQa03ahmwhGWW_dP_7w@2x.jpeg)
](https://medium.com/@lbq999?source=post_page---byline--aa3bf8304539--------------------------------)
## Introduction
With the release of **Java 21**, the **virtual threads** introduced under **Project Loom** represent a breakthrough in **Java thread performance**. These lightweight threads offer a huge boost in scalability, making it possible to manage vast numbers of concurrent tasks efficiently. But whats the magic behind this performance leap? The key lies in **continuations** — a powerful mechanism that allows threads to pause execution and resume later, enabling efficient thread management without blocking system resources.
This article explores how virtual threads, powered by continuations, deliver a dramatic performance improvement in Java 21. Well also dive into how virtual threads are implemented using Javas **Continuation API** and show how this API helps achieve such high levels of concurrency and scalability.
![](https://miro.medium.com/v2/resize:fit:700/1*4bvL2icWjTsYlfTprQbqhg.png)
## Overview of Virtual Threads
## What Are Virtual Threads?
Virtual threads are a new type of thread introduced in **Java 21**, designed to be lightweight and efficient. Unlike traditional **platform threads**, which are mapped one-to-one to operating system threads, virtual threads are **user-mode threads** managed by the **Java Virtual Machine (JVM)**. This design allows for the creation of millions of threads with minimal resource overhead.
The **virtual thread scheduler** dynamically **mounts** virtual threads onto platform threads only when CPU resources are needed. When a virtual thread is waiting (e.g., during I/O operations), it is **unmounted** from the platform thread, freeing up resources to run other tasks. This mechanism ensures that CPU resources are utilized more efficiently and threads are not blocked unnecessarily.
## Key Characteristics of Virtual Threads
1. **Lightweight Threads:** Virtual threads consume significantly less memory and can be created in large numbers.
2. **No Thread Pooling:** Since virtual threads are inexpensive to create and discard, theres no need for pooling.
3. **High Scalability:** Millions of virtual threads can exist simultaneously without overwhelming system resources.
4. **Efficient CPU Usage:** By pausing execution during blocking operations, virtual threads free up CPU resources for other tasks.
## Continuations: The Key to Virtual Thread Performance
## What Are Continuations?
**Continuations** are the core mechanism that makes virtual threads so efficient. They enable a programs execution to **pause** and **resume**, essentially storing the current state of the program. In the context of virtual threads, continuations allow a thread to pause its execution (for example, when its waiting for I/O) and later resume where it left off without blocking the underlying platform thread.
## How Continuations Work
A continuation captures a snapshot of a programs current execution state. When the thread needs to wait (e.g., for an I/O operation), the continuation **pauses** the thread and stores its state. Once the blocking operation completes, the continuation **resumes** the threads execution, effectively allowing the JVM to manage many threads without blocking critical system resources.
In Java, the **Continuation API** is used to create and manage continuations. While this API is primarily for internal use within the JVM, understanding how it works is key to grasping how virtual threads deliver such high concurrency.
## Full Code Implementation
## Virtual Thread Class
The virtual thread is implemented using a **Continuation**, which allows the thread to pause and resume its execution. This class also assigns an ID to each virtual thread for identification.
```
import java.util.concurrent.*;import java.util.concurrent.atomic.AtomicInteger;public class VirtualThread { private final Continuation continuation; private static final ContinuationScope SCOPE = new ContinuationScope("VirtualThreadScope"); private final int id; private static final AtomicInteger counter = new AtomicInteger(1); public VirtualThread(Runnable task) { this.id = counter.getAndIncrement(); this.continuation = new Continuation(SCOPE, task); } public void run() { System.out.printf("Virtual thread %d is running on platform thread %s%n", id, Thread.currentThread().getName()); continuation.run(); } public boolean isDone() { return continuation.isDone(); }}
```
## Virtual Thread Scheduler
The virtual thread scheduler manages a queue of virtual threads and assigns them to available platform threads for execution.
```
public class VirtualThreadScheduler { private final Queue<VirtualThread> queue = new ConcurrentLinkedQueue<>(); private final ExecutorService executor = Executors.newFixedThreadPool(3); public void start() { new Thread(() -> { while (true) { VirtualThread vt = queue.poll(); if (vt != null) { executor.submit(vt::run); } } }).start(); } public void schedule(VirtualThread vt) { queue.offer(vt); }}
```
## Simulating Blocking Operations
In the `WaitingOperation` class, a simulated blocking operation is performed. During the operation, the virtual thread pauses using `Continuation.yield()` and resumes after the operation completes.
```
import java.util.Timer;import java.util.TimerTask;public class WaitingOperation { public static void perform(String operation, int seconds) { System.out.printf("Waiting for %s for %d seconds%n", operation, seconds); Continuation.yield(VirtualThread.SCOPE); new Timer().schedule(new TimerTask() { @Override public void run() { Demo.scheduler.schedule(VirtualThread.current()); } }, seconds * 1000L); }}
```
## Main Program (Demo)
The `Demo` class demonstrates how to create and schedule multiple virtual threads. Each virtual thread simulates waiting for a resource (e.g., network or database) and resumes execution afterward.
```
public class Demo { public static final VirtualThreadScheduler scheduler = new VirtualThreadScheduler(); public static void main(String[] args) { scheduler.start(); VirtualThread vt1 = new VirtualThread(() -> { System.out.println("1.1"); WaitingOperation.perform("Network", 2); System.out.println("1.2"); System.out.println("1.3"); System.out.println("1.4"); }); VirtualThread vt2 = new VirtualThread(() -> { System.out.println("2.1"); WaitingOperation.perform("Database", 5); System.out.println("2.2"); System.out.println("2.3"); System.out.println("2.4"); }); scheduler.schedule(vt1); scheduler.schedule(vt2); }}
```
## Output Example
When executed, the virtual threads are scheduled on platform threads, perform their tasks, and simulate blocking operations:
```
Virtual thread 1 is running on platform thread Thread-01.1Waiting for Network for 2 secondsVirtual thread 2 is running on platform thread Thread-12.1Waiting for Database for 5 secondsVirtual thread 1 is running on platform thread Thread-01.21.31.4Virtual thread 2 is running on platform thread Thread-02.22.32.4
```
@@ -1,90 +0,0 @@
---
title: "Keeping a suspense file gives you superpowers"
source: "https://doctorow.medium.com/https-pluralistic-net-2024-10-26-one-weird-trick-todo-txt-3a58188ba241"
author:
- "[[Cory Doctorow]]"
published: 2024-10-26
created: 2024-10-29
description: "Ill be in Tucson, AZ from November 810: Im the Guest of Honor at the TusCon science fiction convention. Two decades ago, I was part of a group of nerds who got really interested in how each other…"
tags:
- "clippings"
---
Two decades ago, I was part of a group of nerds who got really interested in how each other managed to do what we did. The effort was kicked off by Danny OBrien, who called it “Lifehacking” and I played a small role in getting that term popularized:
[https://craphound.com/lifehacksetcon04.txt](https://craphound.com/lifehacksetcon04.txt)
While we were all devoted to sharing tips and tricks from our own lives, many of us converged on an outside expert, David Allen, and his bestselling book “Getting Things Done” (GTD, to those in the know):
[https://gettingthingsdone.com/](https://gettingthingsdone.com/)
GTD is a collection of relatively simple tactics for coping with, prioritizing, and organizing the things you want to do. Many of the methods relate to organizing your own projects, using a handful of context-based to-do lists (e.g. a list of things to do at the office, at home, while waiting in line, etc). These lists consist of simple tasks. Those tasks are, in turn, derived from *another* list, of “projects” — things that require more than one task, which can be anything from planning dinner to writing a novel to helping your kid apply to university.
The point of all this list-making isnt to do everything on the lists. While these lists *do* help you remember what to do next, what theyre *really* good for is deciding what *not* to do — at all. The promise of GTD is that it will help you *consciously choose* not to do some of the things you set out to accomplish. This is in contrast to how most of us operate: we have a bunch of things we want to do, and we end up doing the things that are easiest, or at top of mind, even if theyre not the most important things.
GTD recognizes that you can be very “productive” (in the sense of getting many things done) and *still* not do the things that you *really* wanted to do. You know what this is like: you finish a Sunday with an organized sock-drawer, all your pennies neatly rolled, the trash-can in your car emptied…and no work at all on that novel youre hoping to write.
You cant do everything, but you *can* control what you dont do, rather than just defaulting into completing a string of trivial, meaningless tasks and leaving the big stuff on the sidelines. Organizing your own tasks and projects is a hugely powerful habit, and one thats made a world of difference to my personal and professional life.
But while good to-do lists can take you very far in life, they have a hard limit: *other people*. Almost every ambitious thing you want to do involves someone elses contribution. Even the most solitary of projects can be derailed if your tax accountant misses a key email and you end up getting audited or paying a huge penalty.
Thats where the *other* kind of GTD list comes in: the list of things youre waiting for from *other people*. I used to be assiduous in maintaining this list, but then the pandemic struck and no one was meeting any of their commitments, and I just gave up on it, and never went back…until about a month ago. Returning to these lists (theyre sometimes called “suspense files”) made me realize how many of the problems — some hugely consequential — in my life could have been avoided if Id just gone back to this habit earlier.
My suspense file is literally just some lines partway down a text file that lives on my desktop called todo.txt that has all my to-dos as well. Heres some sample entries from my suspense file:
> *WAITING EMAIL Sean about ENSHITTIIFCATION manuscript deadline 10/24/24
> WAITING EMAIL Russ about missing royalty statement 10/12/24
> WAITING EMAIL Alice about Christmas vacation hotel 10/8/24 10/20/24
> WAITING EMAIL Ted about Sacramento event 8/12/24 9/5/24 10/5/24 10/20/24*
>
> *WAITING CALL LA County about mosquito abatement 10/25/24
> WAITING CALL School attendance officer about London trip 10/18/24*
>
> *WAITING MONEY EFF reimbusement for taxi to staff retreat $34.98 10/7/24*
>
> *WAITING SHIPMENT New Neal Stephenson novel from Bookshop.org 10/23/24*
This is as simple as things could possibly be! I literally just type “WAITING,” then a space, then the category of thing Im waiting for, then a few specifics, then the date. When I follow up on an item, I add the date of the followup to the end of the line. If I get some details that I might need to reference later (say, a tracking code for a shipment, or a date for an event Im trying to organize), Ill add that, too, as it comes up. Creating a new entry on this list takes 1025 seconds. When someone gets back to me, I just delete that line.
That is literally *it*.
Every day, or sometimes a couple of times a day, I will just run my eyes up and down this list and see if theres anything thats unreasonably overdue, and then Ill send a reminder or make a followup call. In the example above, you can see that Ive been chasing Ted about Sacramento for *months* now (this is a fake entry — no plans to go to Sacto at the moment, sorry):
> *WAITING EMAIL Ted about Sacramento event 8/12/24 9/5/24 10/5/24 10/20/24*
So now Ive emailed Ted four times. Maybe my emails going to his spam, and so I could try emailing a friend of Ted and ask them to check whether hes getting my messages. But maybe Teds trying to send me a message here — hes just not interested in doing the event after all. Or maybe Ted *is* available, but hes so snowed under that hes in danger of fumbling it, and I need to bring in some help if I want it to happen.
All of these are possibilities, and the fact that Im tracking this means that I now get to make an *active decision*: cancel the gig or double down on making sure it happens. Without this list, the gig would just die by default, forgotten by both of us. Maybe thats OK, but I cant tell you how many times Ive run into someone who said, “Dammit, I just remembered I was supposed to email you about getting that thing done and I dropped the ball. Shit! I *really* was looking forward to that. Is it too late now?” Often it *is* too late. Even if its not, the work of picking up the pieces and starting over is *much* more than just following through on the original plan.
Restarting my suspense file made me realize how many of the (often expensive or painful) fumbles Ive had since the pandemic were the result of me not noticing that someone else hadnt gotten back to me. In essence, a suspense file is *a way for me to manage other peoples to-do lists*.
Let me unpack that. By “managing other peoples to-do lists,” I dont mean that Im deciding for other people what they will and wont do (that would be both weird and gross). I mean that Im making sure that if someone else fails to do something we were planning together, its *because they decided not to do it*, not because they forgot. As GTD teaches us, the *real* point of a to-do list isnt just helping us remember what to do — its helping us choose what were *not* going to do.
This is not an imposition, its a kindness. The point of a suspense file isnt to nag others into living up to their commitments, its to form a network of support among collaborators where we all help one another make those conscious choices about what were *not* going to do, rather than having the stuff we really value slip away because we forgot about it.
I have frequent collaborators whom I know to be incapable of juggling too many things at once, and my suspense file has helped me hone my sense of when it would be appropriate to ask them if they want to do something together and when to leave them be. The suspense file helps me dial in how much I rely on each person in my life (relying on someone isnt the same as valuing them — and indeed, one way to value someone is to only rely on them for things theyre able to do, rather than putting them in a position of feeling bad for failing you).
Lifehacking gets a bad rap, and justifiably so. Many of the tips that traffick as “lifehacks” are trivial or stupid or both. Whats more, too much lifehacking can paint you into a corner where youve hacked any flexibility out of your life:
[https://locusmag.com/2017/11/cory-doctorow-how-to-do-everything-lifehacking-considered-harmful/](https://locusmag.com/2017/11/cory-doctorow-how-to-do-everything-lifehacking-considered-harmful/)
But ever since Danny coined the term “lifehack,” back in 2004, Ive been cultivating daily habits that have let me live the life I wanted to live, accomplishing the things I wanted to accomplish. I figured out how to turn daily writing into a habit and now Ive written more than 30 books:
[https://www.locusmag.com/Features/2009/01/cory-doctorow-writing-in-age-of.html](https://www.locusmag.com/Features/2009/01/cory-doctorow-writing-in-age-of.html)
A daily habit of opening a huge, ever-tweaked collection of tabs has made me smarter about the news, helped me keep tabs on my friends, helped me find fraudsters who were trying to steal my identity, and ensured that all those Kickstarter rewards and other long-delayed, erratic shipments didnt slip through the cracks:
[https://pluralistic.net/2024/01/25/today-in-tabs/#unfucked-rota](https://pluralistic.net/2024/01/25/today-in-tabs/#unfucked-rota)
==Daily habits are superpowers. Once something is a habit, you get it for free.== GTD turns on decomposing big, daunting projects into bite-sized, trackable tasks. I have a bunch of spaces around the house — my office, my closet, the junk sheds down the side of the house, our tiki bar — that I used to clean out once or twice a year. Each one was all-day, sweaty, dirty job, and for most of the year, all of those spaces were a dusty, disorganized mess.
A month ago, I added a new daily task: spend five minutes cleaning one space. I did the bar first, and after two weeks, Id taken down every tchotchke and bottle and polished it, reorganizing the undercounter spaces where things pile up:
[https://www.flickr.com/search/?user\_id=37996580417%40N01&amp;sort=date-taken-desc&amp;text=tiki+bar&amp;view\_all=1](https://www.flickr.com/search/?user_id=37996580417%40N01&amp%3Bsort=date-taken-desc&amp%3Btext=tiki+bar&amp%3Bview_all=1)
Now Im working through my office. Ever day, Im dusting a bookshelf and combing through it for discards to stick in our Little Free Library. Takes less than five minutes most day, and Ill be done in about three weeks, when Ill move on to my closet, then the side of the house, and then back to the bar. A daily short break where I get away from my computer and make my living and working environments nicer is a wonderful habit to cultivate.
Im 53 years old now. I was 33 when I started following Getting Things Done. In that time, Ive gotten a lot done, but whats even more relevant is that I *didnt* get a ton of things done — things that I *consciously* chose not to abandon. Figuring out what you want to do, and then keeping it on track — in manageable, healthy, daily rhythms that bring along the other people you rely on — may not be the *whole* secret to a fulfilled life, but its certainly a part of it.
**Tor Books just published two new, free “Little Brother” stories: “**[**Vigilant**](https://reactormag.com/vigilant-cory-doctorow/)**,” a about creepy surveillance in distance education; and “**[**Spill**](https://reactormag.com/spill-cory-doctorow/)**,” about oil pipelines and indigenous landback.**
![](https://miro.medium.com/v2/resize:fit:700/1*1WpGLQpc3AI_oLjaIYow4w.jpeg)
@@ -1,78 +0,0 @@
---
title: "Ketchup Sandwiches and Other Things Stupid Poor People Eat"
source: "https://humanparts.medium.com/ketchup-sandwiches-and-other-things-stupid-poor-people-eat-41617483b497"
author:
- "[[Anastasia Basil]]"
published: 2016-09-08
created: 2024-10-29
description: "I met this woman named Mae. Shes a van driver for a production company. She works 14-hour days but says she doesnt mind, says she keeps one eye on the road and the other on the prize — a paycheck…"
tags:
- "clippings"
---
## “Folks of privilege dont understand how $17 can ruin you”
[
![Anastasia Basil](https://miro.medium.com/v2/resize:fill:88:88/1*XRLF3_juAsaiLtxfKSm35w.jpeg)
](https://medium.com/@anastasiabasilcunningham?source=post_page---byline--41617483b497--------------------------------)
[
![Human Parts](https://miro.medium.com/v2/resize:fill:48:48/1*pfjoZOu08t9b-HHXv68ETg.png)
](https://humanparts.medium.com/?source=post_page---byline--41617483b497--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*O-_3txayaENGB-iP4gKKgA.jpeg)
Image: ANASTASIA BASIL
![I](https://miro.medium.com/v2/resize:fit:50/1*ZN8v5HDlpa6Ud1E6C-a30A.png)I met this woman named Mae. Shes a van driver for a production company. She works 14-hour days but says she doesnt mind, says she keeps one eye on the road and the other on the prize — a paycheck that has to last through the dead months.
Were driving through a poor stretch of Atlanta. Dirty streets. Old houses. Plastic toys upturned in front yards, no kids though. The neighborhood is quiet. I live in L.A., land of nannies and gardeners where the hills are alive with the sound of toddlers and leaf blowers. I prefer Atlanta. You can find parking at the grocery store in the middle of the day. In L.A. it doesnt matter what time it is, the Trader Joes is packed with SAHs and WAHs (stay-at-homes and work-at-homes).
We pass a decades-old Buick Skylark. I point it out.
“You into cars?” Mae asks.
Im not into cars, but my dad and I once abandoned one of those Buicks on the side of a Florida highway when I was a teenager. Thats how my family did cars — we bought them on their last leg and left them where they died. I tell her how Id come home from high school and thered be nothing in the fridge but a bottle of red wine vinegar and a head of lettuce. On the counter, thered be a bag of potatoes and a bottle of olive oil from the Dollar Store. That was dinner, potatoes and lettuce.
“I hear you,” she says. “We had ketchup sandwiches all the time growing up. We didnt complain. We ate them.”
Maes voice is rich, melodic, its Maya Angelou meets Gladys Knight. I tell her about the time I borrowed red stirrup pants. (Remember stirrup pants from the 80s?) I borrowed them from my friend Marla. Her two older brothers drove Corvettes, one each. Marla drove a more sensible car for a 16-year-old, an Oldsmobile Cutlass Supreme. But it was new. And it was hers. She let me borrow the pants for a party in her neighborhood. (God knows I couldnt go in my own shit clothes.) Long and short of it, the pants ripped in the calf. My mother wept like death had come, struggling with red thread, looking at me like Id done the worst thing ever. Marla wanted $17 to replace them.
Mae invites me to sit up front with her. The traffic to my hotel is bad, were in for a haul. I switch out at the next red light.
“So her brothers drove corvettes?” Yup.
“One each?” Yup.
“*Lord Almighty,*” she says, “folks of privilege dont understand how $17 can ruin you.”
Mae tells me how shed come home from school and her mother would hustle her and her sisters upstairs to pick out clothes for the next day before the utilities cut off. Too many red notices.
I was poor in Florida. Maes from Detroit. I ask what she did to keep warm. “Poor kids just do what they gotta do. Privileged kids panic if they cant have new this and new that, or if they cant be on a sport team. Sports and heat, those are luxuries.”
I ask if shes heard of John Prine, the folk singer. I sing his line: *Its a half an inch of water and you think youre gonna drown.* She howls, “Rich folks standing in a puddle screaming!”
I tell her about my parents shaking me awake in the middle of the night whispering, *we have to go now*. Theres a difference between going and getting out. What we were doing was getting out before morning, before the neighbors would see us evicted.
“I hear you*,”* she says*. “Lord Almighty,* I hear you.*”*
==America loves helping the shoeless, iPhoneless, voteless, bug-infested Street Jesuses. These are the lost-cause poor; all they want is your pocket change. (====*Bless their hearts.)*== ==But the working poor? Those who claim to not have enough money for food because they also need clothes for work, water for bathing and laundry, rent for housing, heat in the winter, money for daycare, a smartphone for their job, car insurance and gas — those are some shifty motherfuckers====.==
If youre on food stamps America has every right to hate you, as evidenced by this angry conservative [yelling](https://www.youtube.com/watch?v=9veBO80GdBM) at a father and child for using food stamps. I assume she thinks of herself as a nice person, a good person, a church-goer. We all think everyone else is the asshole, right? There isnt a lot of self-directed road rage out there. How often do we key our own cars? Its always okay to hate the other guy when the hate is justified — like child predators, rapists, and food stamp users.
Huddled round the Fox News campfire are those who love tall tales of poor people using tax dollars to buy drugs and alcohol and Gucci shoes. Thats not how it works. Ive been on food stamps. The government doesnt hand out wads of cash. When you qualify for food stamps you receive a plastic grocery card that only works for food transactions. Key word: qualify. You dont just sign up. Its not a tennis lesson at the club. Whats scary about the woman in the video is that she sees whats in the dads cart (food for his kid) and she *hates* him for it.
Stupid fucking poor people. If only wed been engineer majors in college. If only wed gone to college. If only our parents hadnt been poor. If only they spoke English. If only we worked harder. If only we were more like conservatives, who believe everything they have today is a direct result of the sweat from their own brow.
When looking at a spiders web can you point to the 8th spun web, or the 108th? There are those who claim this astounding ability — those who take full credit for crafting, spin by spin, a better life than ours, a life without aid. If you had help paying for college, if someone bought you your first car, if you had health insurance growing up, if your mom never cried over $17, you were lucky. The Hail Mary toss of birth landed you in a family that could put you on a soccer team and buy new cleats as your feet grew. And someone was home to help you with your math and give you a gummy vitamin each morning. Thats called *aid*, by the way. And not all kids get it, but all kids should.
Dont confuse aid with charity. Charity is old coats. Donating a coat doesnt make you a good person but I bet it makes you *feel* like one. You didnt even want that coat anymore, what you wanted was the closet space. Sure, you could have sold it at a garage sale and made, like, twenty bucks. It was an expensive coat, damn it. But you, with your heart of gold, *gave* it away. Theres a twinkle in Gods eye just for you.
What makes you a good person *to others* (and not just to yourself) is the same thing that makes me, or anyone who can afford the occasional $12 cocktail, a good person: Your vote. Not your coat.
Vote for a living wage *for others*. Vote for health insurance *for others.* Dont get in the way of food stamps *for others*. Understand how important $17 might be *to others*. That poor stretch of Atlanta is quiet because people are working and paying for daycare. Theyre clocking the same hours youre clocking, but they make a shit wage.
Take a good long look at your feet. If you were born at the starting line wearing a nice pair of running shoes, that was luck. Sheer luck. The most important thing you can do now is help those who had to start the race a mile behind you, barefoot.
@@ -1,84 +0,0 @@
---
title: "Lets Talk About The Rise In Passive Suicide"
source: "https://medium.com/@ossiana.tepfenhart/lets-talk-about-the-rise-in-passive-suicide-0f196561f394"
author:
- "[[Ossiana Tepfenhart]]"
published: 2024-10-12
created: 2024-10-29
description: "Being the child of a pair of professors gives you a very unique look into what people are thinking about. Lately, I overheard two professors bemoaning how passive and “dead-eyed” their students are…"
tags:
- "clippings"
---
## “Its not that Im actively planning, but if I die, Im okay with it.”
[
![Ossiana Tepfenhart](https://miro.medium.com/v2/resize:fill:88:88/1*-HRsnXCsoRUAg61Kc5OK_Q.jpeg)
](https://medium.com/@ossiana.tepfenhart?source=post_page---byline--0f196561f394--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/0*oaJRrKgoXxn6CaoD)
Photo by [Anthony Tran](https://unsplash.com/@anthonytran?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
Being the child of a pair of professors gives you a very unique look into what people are thinking about. Lately, I overheard two professors bemoaning how passive and “dead-eyed” their students are.
This is not a new complaint. Its just been getting more pronounced as years go by. The days of the bright-eyed, bushy-tailed student are long gone, replaced by days of passive students who seem to just exist rather than think.
If you take a look around, you might notice that a lot of the wildness and liveliness associated with you kind of…vanished. Its been a slow vanish, but now its visible.
## The lack of passion you see in people is often a major symptom of “passive suicidality.”
Passive suicidality is on the rise, and its an attitude that we see in many people. Unlike active suicidal ideation, passive suicidality doesnt mean youre an immediate threat to yourself. Youre not actively planning to off yourself.
Rather, you just dont really care about yourself. Youre more or less just giving up on life. You dont have that spark, that feeling of being motivated to change your lifes direction.
Passive suicidality is that attitude that comes with giving up on life, but not not actively doing anything in life. Its the “lay down and rot” of living. You might notice it if any of the following are true in someone you know:
- **They do not try to better their situation.** This is not a matter of laziness. Its a sign that they tried what they *think s*hould have worked, only to have it not work out. For example, a person who applied to 2,000 jobs in their field might stop applying if they were constantly rejected. Its not that they dont want a job. Its that they dont feel they have a chance anymore.
- **“I dont want to hurt myself, but I dont particularly care what happens to me.”** If you hear something along those lines, that person is passively suicidal.
- **“Theres no point in me trying again.”** Suicidal ideation often happens because people have tried to fix problems, but to no avail. Passive suicidality is no different. The person lost hope. So, rather than try to better their situation, they do nothing. Its a form of learned helplessness.
- **They are addicted to the online world.** Being online is a fast and easy way to escape reality. If your current situation is so grim that you cant even try changing things, being terminally online starts looking good. This often results in gaming addiction, porn addiction, or becoming a mod on Reddit.
- **“I wish I was never born.”** If you hear stuff like this or hear someone say they want to die in their sleep, theyre passively suicidal.
- **Getting them to go out and meet people is harder than ever before.** People who become shut-ins are generally not happy people. Self-isolating is a warning sign that something isnt going right in their lives.
- **Theyve gotten prone to incel, conspirational, or otherwise irrational thinking.** People who are passively suicidal tend to be more prone to unrealistic expectations of life. They also might escape through bizarre conspiracies.
- **They seem to be just trying to pass the time from one day to another rather than actually *live*.** They dont tend to have things to look forward to. Instead, they are more interested in just being there. Theres no spark in their eyes.
## If this sounds like a lot of people you know, youre not alone.
Active suicidal ideation and deaths of despair have been increasing for the better part of two decades. Most recently, a study from [PewTrusts](https://www.pewtrusts.org/en/research-and-analysis/articles/2023/03/03/youth-suicide-risk-increased-over-past-decade) noted that suicides have been increasing in high schoolers for the past ten years.
Its clear deaths of despair are on the rise — and so is the desire to die. However, no one is entirely sure how many people are passively suicidal. A lot of people with this particular disorder are never diagnosed, nor do they bother to seek help.
With that said, heres what [Life Skills South Florida](https://lifeskillssouthflorida.com/mental-health-blog/passive-suicidal-ideation-signs-risks-help/#:~:text=Additionally%2C%20nearly%2050%25%20of%20these,at%20some%20point%20in%20life.) had to say about this:
> “Approximately 33% of individuals in psychiatric populations currently experience passive suicidal thoughts. Additionally, nearly 50% of these individuals have had passive suicidal thoughts in the past. Rates amongst the general population are also alarming, with 5% of people experiencing passive SI in a given year and 10% experiencing passive SI at some point in life.”
[NIH](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7024002/) had similar estimates, with 5 to 10 percent of all people experiencing passive suicidal ideations within their lifetimes. Thats one out of every ten people. Thats a shockingly huge number. Statistically, that means that you probably know someone who is passively suicidal.
## Why is this happening?
So, there are a lot of reasons why people are just giving up on life — even when theyre young. A lot of them are pretty obvious to anyone who hasnt lived under a rock:
- **Fewer social connections.** Its no secret. Gen Z is now the loneliest generation in history. Our society makes it hard for people to meet up as friends. Humans are social animals. We cannot be healthy without our own social network.
- **A brutal, mostly rigged economy.** Upward mobility is not as likely as it once was. Even getting a job is a discouraging, if not downright heartbreaking procedure. Its not unusual for people to send in hundreds or even thousands of applications without a single hire.
- **The gamification of dating.** Im not going to mince words. Tinder hurts our society more than it helps. We shouldnt view people as just a swipe away. There is a human behind that screen — at least in most situations.
- **Rage-inducing propaganda on social media**. If social media has been making you feel hopeless, youre not alone. Social media use has been tied to worsening mental health and anxiety. When you look at all the incel content online, its not surprising.
- **Regular loss and rejection.** Whether we want to admit it or not, having near-constant rejections hurts us — both in the business world and the personal world. Yet, its normalized in our society. The truth is that our brains don't seem to be wired for hundreds of rejections. After a while, that fight feels futile.
- **Little to no sense of agency.** Do you feel like you dont have much control over your life? Youre not alone. A lot of people feel like theyre at the mercy of corporations these days — as if their votes, businesses, and needs don't matter.
To put it bluntly, things look grim for most of us. Many of us are realizing that we cant pursue our dreams or even find friends to commiserate with. Thats a rough realization.
Its hard to look forward to a future when youre convinced that the future will be worse than what youre dealing with today. If youve tried, tried, and tried without any form of success, chances are high that you might become passively suicidal.
## How can we curb the spike in passive suicidality?
Honestly? We need a societal overhaul.
==We need to be able to give people hope for the future. We need to stop worker exploitation and corporate price-gouging. We need to make it possible for people working a state minimum wage to afford a 1-bedroom apartment.==
Oh, and we need to make it possible for people to have hope again. Thats kind of hard to do in today's society. At best, the
Theres only so much any of us can do to change our fates on an individual level and its time we recognize we need one another.
If you *are* feeling that way, the best thing you can do is call 988 and reach out for help. Things can get better, but only if you let them get better.
@@ -1,38 +0,0 @@
---
title: "Mathematik: Zwei Schülerinnen finden »unmöglichen« Beweis zum Satz des Pythagoras"
source: "https://www.spektrum.de/news/zwei-schuelerinnen-finden-unmoeglichen-beweis-zum-satz-des-pythagoras/2240087"
author:
- "[[Leila Sloman]]"
published: 2024-10-29
created: 2024-10-29
description: "Es gibt hunderte Beweise des Satzes von Pythagoras. Zwei Schülerinnen haben nun einen weiteren präsentiert, der vor 100 Jahren als unmöglich galt."
tags:
- "clippings"
---
Zwei Schülerinnen einer US-amerikanischen High-School haben den Satz des Pythagoras auf eine Weise bewiesen, die ein Mathematiker des frühen 20. Jahrhunderts für unmöglich hielt. Calcea Johnson und Ne'Kiya Jackson von der St. Mary's Academy in New Orleans haben ihr Ergebnis auf einer Tagung der American Mathematical Society im März 2023 vorgestellt. »Es ist ein unbeschreibliches Gefühl: Wir haben etwas getan, was man jungen Menschen wie uns eigentlich gar nicht zutraut«, [sagte Johnson gegenüber WWL-TV](https://www.wwltv.com/article/news/education/no-east-teens-make-pmathematical-discovery-2000-years-making/289-e89f40cb-85f8-4a55-ae3f-3ec37412d7b8), einer CBS-Tochtergesellschaft aus New Orleans. [Nun haben die zwei Schülerinnen das Ergebnis in der Fachzeitschrift »American Mathematical Monthly« veröffentlicht](https://www.tandfonline.com/doi/full/10.1080/00029890.2024.2370240).
Dabei widerspricht der Beweis von Johnson und Jackson dem, was der Mathematiker Elisha Loomis [in seinem 1927 erschienenen Buch »The Pythagorean Proposition« erklärte](https://files.eric.ed.gov/fulltext/ED037335.pdf): Ein trigonometrischer Beweis des Satzes des Pythagoras könne nicht korrekt sein. Die Arbeit der Schülerinnen zählt zu einer Reihe von trigonometrischen Beweisen, die im Lauf der Jahre geführt wurden und Loomis widersprechen. Jeder dieser Beweise umgeht die von Loomis vermutete unumgängliche »zirkuläre Logik«.
Der Satz des Pythagoras ist eine Gleichung, welche die Seitenlängen eines rechtwinkligen Dreiecks zueinander in Beziehung setzt. Die lange Dreiecksseite nennt man Hypotenuse, die beiden kürzen Seiten Katheten. Nach dem Satz des Pythagoras entspricht die quadrierte Länge der Hypotenuse der Summe beider Kathetenquadrate. Der Satz wird oft durch *a*<sup>2</sup> + *b*<sup>2</sup> = *c*<sup>2</sup> ausgedrückt, wobei *a* und *b* für die Längen der Katheten und *c* für die Länge der Hypotenuse stehen. Die Gleichung ist zwar nach dem griechischen Philosophen Pythagoras benannt, doch einige Historiker sind überzeugt, [dass er schon 1000 Jahre früher in Babylon bekannt war](https://blogs.scientificamerican.com/roots-of-unity/dont-fall-for-babylonian-trigonometry-hype/).
»Der Satz verbindet Algebra und Geometrie«, sagt Stuart Anderson, emeritierter Professor für Mathematik an der Texas A&M University-Commerce. »Die Aussage *a*<sup>2</sup> + *b*<sup>2</sup> = *c*<sup>2</sup> ist eine algebraische Aussage. Aber das Objekt, von dem sie ausgeht, ist ein geometrisches.«
### Mit Trigonometrie ohne Zirkelschluss zu Pythagoras
In der Trigonometrie geht es um Funktionen, die von Winkeln abhängen, etwa Sinus und Kosinus. Definiert werden sie durch rechtwinklige Dreiecke. Dazu kann man sich ein solches Dreieck vorstellen, das mit einer Kathete flach auf einem Tisch liegt und mit der anderen Kathete nach oben ragt, so dass beide einen rechten Winkel bilden. Die Hypotenuse erstreckt sich diagonal zwischen den Enden dieser beiden Seiten. Nun kann man den Winkel *x* zwischen Hypotenuse und dem Tisch messen. Der Sinus dieses Winkels ist als die Höhe der senkrechten Seite geteilt durch die Länge der Hypotenuse definiert. Der Kosinus ist entsprechend die Länge der horizontalen Seite geteilt durch die Länge der Hypotenuse. Der Satz des Pythagoras ist deshalb gleichbedeutend mit der Gleichung sin<sup>2</sup>*x* + cos<sup>2</sup>*x* = 1. »Viele der grundlegenden trigonometrischen Identitäten sind nichts anderes als der Satz des Pythagoras«, erklärt Anderson und bezieht sich dabei auf Gleichungen, die Beziehungen zwischen verschiedenen trigonometrischen Funktionen beschreiben.
Würde man diese Funktionen für einen Beweis des Satzes von Pythagoras verwenden, so war Loomis überzeugt, würde man implizit den Satz von vornherein voraussetzen. Damit wäre ein solcher Beweis ein Zirkelschluss  und aus mathematischer Sicht falsch.
Doch das muss nicht immer so sein. In ihrem Vortrag auf der Tagung der American Mathematical Society erklärten Jackson und Johnson, dass eine trigonometrische Identität, der so genannte Sinussatz, nicht vom Satz des Pythagoras abhängt. Deshalb kann man diesen für den Beweis des Satzes verwenden.
Anderson hofft, dass Jacksons und Johnsons Beweis das Interesse weiterer Schülerinnen und Schüler an Mathematik wecken wird. »Ich wünschte, ich hätte noch eine Klasse, in der ich darüber sprechen könnte«, sagt er.
Einige der anderen trigonometrischen Beweise des Satzes werden [auf der Website des Mathematikers Alexander Bogomolny](https://www.cut-the-knot.org/) beschrieben. [Einen davon hat Jason Zimba](https://amesa.org.za/amesa_n34_a5.pdf), damals Physiker und Mathematiker am Bennington College, geführt und 2009 in der Fachzeitschrift »Forum Geometricorum« veröffentlicht. Für den Beweis nutzte er eine trigonometrische Identität, mit der sich der Kosinus und Sinus einer Winkeldifferenz *xy* ohne den Satz des Pythagoras berechnen lassen. Man benötigt dafür lediglich die Kosinus- und Sinuswerte der einzelnen Winkel *x* und *y*.
> »Elisha Loomis, ich selbst und zweifellos viele andere glaubten, dass kein trigonometrischer Beweis des Satzes des Pythagoras möglich ist. Ich gebe gerne zu, dass ich mich geirrt habe«Alexander Bogomolny, Mathematiker
Am 26. Oktober 2009 veröffentlichte Bogomolny den Beweis von Zimba auf seiner Website und schrieb: »Elisha Loomis, ich selbst und zweifellos viele andere glaubten  und glauben immer noch , dass sich der Satz des Pythagoras trigonometrisch nicht beweisen lässt … Ich gebe gerne zu, dass ich mich geirrt habe.« Im Lauf der Zeit ergänzte Bogomolny seine Website um weitere trigonometrische Beweise. Einer davon lässt sich sogar in nur vier Zeilen führen.
Das zeigt, wie selbst einfache Mathematik noch immer überraschen kann. »Ich denke, wir Mathematiker haben gelernt: Wir behaupten nicht mehr, dass etwas unmöglich ist, denn im Laufe der Jahre haben wir uns damit einfach zu oft blamiert «, sagt Anderson.
![Scientific American Logo](https://static.spektrum.de/fm/912/f1000/thumbnails/SAlogo_large2.png.6472561.png "Scientific American Logo")
@@ -1,36 +0,0 @@
---
title: "Media Illiteracy and the Far Right"
source: "https://medium.com/@cole.haddon/media-illiteracy-and-the-far-right-946780f82cfb"
author:
- "[[Cole Haddon]]"
published: 2024-08-16
created: 2024-10-29
description: "These two posts from Celine Dion and Elon Musk reveal the extent of the Far Rights media illiteracy. Its the same problem that has also allowed Far Right viewers to miss the fact that Homelander —…"
tags:
- "clippings"
---
## Two posts this week from Celine Dion and Elon Musk can teach us a lot about whats happening in the world right now
[
![Cole Haddon](https://miro.medium.com/v2/resize:fill:88:88/1*TOhBCTaV4wNWYNri5-jt0w.jpeg)
](https://medium.com/@cole.haddon?source=post_page---byline--946780f82cfb--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/0*Uog-09Fl2xLcIyGK)
These two posts from Celine Dion and Elon Musk reveal the extent of the Far Rights media illiteracy. Its the same problem that has also allowed Far Right viewers to miss the fact that Homelander — and *they* — are the villains on *“The Boys”*.
On the left, Dion makes clear Donald Trump used “My Heart Will Go On” at one of his rallies, for reasons that confused her (and me). When even Celine Dion starts calling you *weird*, something is wrong.
On the right, the worlds richest person and currently largest promoter of fascist ideology via his hate platform, X, imagines hes “the little guy” in a whole bunch of films about fascism.
Its easy to imagine what Trump and Musk have done here as an intentional stripping of meaning from art to reinforce personal ideology/identity, which Ive written about quite a bit including this piece here at Medium:
But I would argue there is no conscious effort to do as much, and instead ignorance and fancy drive the comical and often comically ironic bumbling through pop culture. With time, such ignorant misinterpretations of art can become an accepted belief and only then, I think, truly replace the meaning of the original work for the masses (i.e., Marvels Punisher).
==Its a great example of how imbeciles with the intellectual curiosity of potted plants can actually warp reality.==
*Subscribe to me here at Medium or, better yet, subscribe to my arts Substack* **5AM StoryTalk***.*
And if youd like to support my writing, to make sure I can keep pumping out all this art talk, you can always **“buy me a coffee”**.
@@ -1,118 +0,0 @@
---
title: "Mistakes That Make You Look Like a Noob Developer!"
source: "https://medium.com/write-a-catalyst/mistakes-that-make-you-look-like-a-noob-developer-e1784b48a1b5"
author:
- "[[Sukhpinder Singh | C# .Net]]"
published: 2024-09-18
created: 2024-10-29
description: "Any programming language will have an abundance of features to make a developer's life easier and more productive. Still, with any programming language, even senior developers fail to implement best…"
tags:
- "clippings"
---
## **And Learn how to Fix Them**
[
![Sukhpinder Singh | C# .Net](https://miro.medium.com/v2/da:true/resize:fill:88:88/1*j_LmwVSvDYy_kg4IcUjhmA.gif)
](https://medium.com/@singhsukhpinder?source=post_page---byline--e1784b48a1b5--------------------------------)
[
![Write A Catalyst](https://miro.medium.com/v2/resize:fill:48:48/1*KCHN5TM3Ga2PqZHA4hNbaw.png)
](https://medium.com/write-a-catalyst?source=post_page---byline--e1784b48a1b5--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*ThM1R_ghlzmTLZrtrdaXxw.png)
## Hello, fellow devs out there!
==Any programming language will have an abundance of features to make a developer's life easier and more productive. Still, with any programming language, even senior developers fail to implement best practices and make these common mistakes.==
The following common mistakes in C# will make you look like a **noob**, understand how to fix them to become a **pro developer**.
![](https://miro.medium.com/v2/resize:fit:700/1*QoTohkZCYI1ssqNUgJKNgg.png)
Glimpse of what ChatGPT has to say about noob developer
![](https://miro.medium.com/v2/resize:fit:480/0*_Z8S9WwuoYz5-UdK.gif)
## 1\. Using Var Everywhere Without Understanding Its Implications
**Mistake:** The C# `var `keyword is a convenience that enables the compiler to infer the type of a variable. Used too frequently, or without knowing what type is being used, can result in code less readable and thus less maintainable.
```
var list = new List<string>(); var item = list[0];
```
In this second line, we cant tell what type of item is, so we have to do some extra work to determine what this code is doing.
## **How to Fix It:**
Use `var `Only when the type is obvious from the right-hand side of the assignment. Otherwise, code readability improves with explicit types. That is, prefer explicit typing for clarity when the type is not immediately obvious.
```
List<string> list = new List<string>(); string item = list[0];
```
> Thats a good practice because it improves readability.
## 2\. Improper Use of using Statements
**Mistake:** You will cause resource leaks, and most probably performance issues if you dont dispose of resources like file streams and database connections.
```
public void ReadFile(string path){ FileStream stream = new FileStream(path, FileMode.Open); StreamReader reader = new StreamReader(stream); }
```
Resource Leak failing to close/Dispose of `FileStream `and `StreamReader`,
## **How to Fix It:**
Dispose of resources through `using `Statements. Resources are disposed of after use in using statements. Using statements is much better for memory I/O along with other disposable resources.
```
public void ReadFile(string path){ using (FileStream stream = new FileStream(path, FileMode.Open)) using (StreamReader reader = new StreamReader(stream)) { } }
```
> The `using `statement will ensure proper cleanup of resources in the case of exceptions.
## 3\. Overusing `public` Fields Instead of Properties
**Mistake:** One of them is exposing fields directly in the `classes `using `public `fields instead of `properties`. It will make your code less encapsulated and hard to maintain.
```
public class Person{ public string Name; }
```
This direct access to the field results in uncontrolled changes, and you cannot add any kind of validation or logic while accessing the field.
## **How to Fix It:**
Encapsulate fields using properties. You can control access to the data via properties and add your validation logic when you set the values.
```
public class Person{ private string _name; public string Name { get { return _name; } set { if (string.IsNullOrEmpty(value)) throw new ArgumentException("Name cannot be null or empty"); _name = value; } }}
```
> Encapsulation could be better using properties with more fine-grained levels of control about how the data is accessed and modified.
## 4\. Not Handling Exceptions Properly
**Mistake:** Catching all general exceptions and not handling or swallowing them appropriately makes debugging hard to conduct because the real cause of the problem is obscured.
```
public void ProcessData(){ try { } catch (Exception ex) { }}
```
Swallowing an exception or catching a general exception without specific handling causes silent failures and makes diagnosing issues much harder.
## **How to Fix It:**
Catch specific exceptions and practice meaningful error handling/logging. That would be very instrumental in diagnosing/debugging the problems. That might look something like this:
```
public void ProcessData(){ try { } catch (FileNotFoundException ex) { Console.WriteLine($"File not found: {ex.Message}"); } catch (IOException ex) { Console.WriteLine($"IO error: {ex.Message}"); } catch (Exception ex) { Console.WriteLine($"An unexpected error occurred: {ex.Message}"); }}
```
> It tends to make your application more robust, and easier to troubleshoot, with specific exceptions caught and appropriate handling or logging done.
@@ -1,188 +0,0 @@
---
title: "Nine Church Traditions That Need To Die Immediately"
source: "https://medium.com/backyard-theology/nine-church-traditions-that-need-to-die-immediately-6a224cf1d312"
author:
- "[[Dan Foster]]"
published: 2024-06-15
created: 2024-10-29
description: "Growing up as a Pastors kid in the eighties gave me a front-row pew to the kind of vitriol and anger that can emerge from an otherwise lovely and mild-mannered Christian when you say or do something…"
tags:
- "clippings"
---
## Killing the Sacred Cows of Church
[
![Dan Foster](https://miro.medium.com/v2/resize:fill:88:88/1*h9MF5af2iBT-qrUGDYiLsA.png)
](https://medium.com/@danfosterwriter?source=post_page---byline--6a224cf1d312--------------------------------)
[
![Backyard Church](https://miro.medium.com/v2/resize:fill:48:48/1*AcPwoVqPHxkKZJZSH5T3QQ.png)
](https://medium.com/backyard-theology?source=post_page---byline--6a224cf1d312--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*IlNN8wE39gO0hbCivjNw_A.jpeg)
Image by [DedMityay](https://www.istockphoto.com/portfolio/DedMityay?mediatype=photography) on [iStock](https://www.istockphoto.com/photo/silhouette-of-man-praying-in-church-in-sunset-light-gm904697660-249486873])
Growing up as a Pastors kid in the eighties gave me a front-row pew to the kind of vitriol and anger that can emerge from an otherwise lovely and mild-mannered Christian when you say or do something to offend them.
I remember the first time my Father preached a sermon on the topic of sex — something quite ground-breaking at the time. After the service, he stood at the door and greeted everyone as he always did. I remember one little old lady getting right up in my Dads face and, waving one pointed finger perilously close to his nose, screeching at him, *“If you ever mention that word in church again, Im never coming back.”* She couldnt even bring herself to say the word “sex,” because I suppose she was far too upright and pious for the likes of anything slightly pleasurable or necessary for the survival of the human race.
My father was a great pastor, but he was ahead of his time. He like to challenge the status quo, make people shift uncomfortably in their pews and, occasionally, he like to slaughter a sacred cow.
The term “sacred cow” has its origins in Hinduism, but it is commonly used in Christian circles to describe those elements of church life that have been elevated to such a high level of importance that they cannot be touched, criticized, changed, or removed. Above all, sacred cows are not essential to the fundamentals of Christianity, but people treat them as if they are. In fact — truth be told — if you got rid of them, the church would function just as effectively — probably even more so.
Over three decades in the Evangelical church, I have done a fair bit of cow spotting. Here are a few common sacred cows that need to be put out to pasture — maybe even slaughtered completely:
## The Offering
One of the most awkward parts of many a church service is the moment that an open offering plate is thrust under your nose by an eager and expectant church usher (usually an older man), with the expectation that you will put a wad of hundred dollar bills in it. Okay… so maybe not that much, but the pressure to give is real.
This uncomfortable tradition of sending around the plate is usually prefaced by an offering talk (that is sometimes almost as long as the sermon itself), where parishioners are exhorted to let the moths out of their purses and fill the coffers of the church for the good of the Kingdom. In the worst of cases, some churches insinuate or even promise that your financial gifts will somehow unlock the blessing of God over your life — as if God could somehow be bought off in such a way. This amounts to nothing more than manipulation.
Should we give? Yes! Christ calls us to be generous and to give to those in need. However, we are also told to give discreetly and without fanfare. In fact, the [Bible](https://www.biblegateway.com/passage/?search=2+Corinthians+9%3A7&version=ERV) says, *“Each one of us should give what we have decided in our heart to give. We should not give if it makes us unhappy or if we feel forced to give. God loves those who are happy to give.”*
![](https://miro.medium.com/v2/resize:fit:700/0*z9ulBMemKDTqKwBo.jpeg)
Photo by [Suzanne Tucker](https://www.shutterstock.com/g/soupstock) on [Shutterstock](https://www.shutterstock.com/image-photo/offering-basket-2665367)
## The Communion Table
I know of a worship leader who made the mistake of resting his guitar against the communion table at the end of his worship set. The backlash was swift and brutal. The pastors inbox was full of complaints about the worship leaders irreverence. How dare he use the table of the Lord to rest a common musical instrument against it!
True to its form, the church publicly humiliated the worship leader by making him get up on stage and apologize to everyone for his gross sacrilege. He left the church soon after. Good for him!
I heard of another pastor who moved the communion table from the center of the stage to a position off to one side simply to create a little more space. The pastor was accused of attacking the centrality of the Lords Supper, leading people astray and presenting a watered-down version of Christianity. The following week, the communion table was back in the middle of the stage. From then on, the pastor would move the table just a few inches each week and, over a period of several months, successfully moved it back to one side without anyone noticing.
In some churches, the communion table is a sacred cow. In reality, its just a piece of ordinary furniture. Covering it in a nice white tablecloth doesnt make it sacred. Even the fact that the elements of the Lords supper sit on top of it doesnt make it sacred. In fact, to place such high importance on an inanimate object would be akin to making an idol out of it, wouldnt it?
![](https://miro.medium.com/v2/resize:fit:700/0*8eyFD7JolQJLZ9R6.jpeg)
Photo by [Joshua Eckstein](https://unsplash.com/@dcemr_e?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) on [Unsplash](https://unsplash.com/s/photos/children-church?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)
## Church Music
One of the sacred cows that my father was unable to kill when he was a pastor was the pipe organ. The church had an ancient pipe organ that was so seldom used that it was almost purely ornamental. Im pretty sure that the last human being who actually knew how to play it had passed away a few centuries earlier. Even so, when the church outgrew its ancient building and attempted to shift the congregation into a bigger and more modern facility, they were unable to part ways with the pipe organ. Consequently, at great expense, the entire organ was painstakingly removed from the old sanctuary and transplanted into the new. There, it sits as an ancient monument to a bygone era, gathering dust. It sticks out like a sore thumb.
This highlighted to me how we can get attached to certain instruments, styles of worship — even certain songs — to the point of elevating them to god-like status. Music is one of the aspects of the church that is most complained about. Every week, someone would say the music was too loud, too soft, too fast, or too slow. They would complain that the number of old hymns was disproportionate to the amount of modern worship songs. They would say that certain songs lacked lyrical content, theological accuracy, or a catchy riff. When it comes to the sacred cow of music, Christians can fire up very quickly.
However, we werent even commanded to gather around an organ and sing, were we? Singing is really just one way to worship. Its not the be-all-and-end-all. These days, my favorite way to worship is actually to sit in silent contemplation. Try that sometime!
![](https://miro.medium.com/v2/resize:fit:700/0*mipyCnIau5iQ1QxE.jpeg)
Photo by [Tim Gouw](https://unsplash.com/@punttim?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) on [Unsplash](https://unsplash.com/s/photos/organ?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)
## Male-dominated church leadership
Once upon a time, the idea that power and leadership were ascribed to men by virtue of their gender alone was widely accepted. In some cultures, it still is. However, as the modern Western world continues its relentless and necessary march toward equality, patriarchal structures, and systems are quite rightly viewed as unacceptable and outdated. Still, those who stand to lose the most by the deconstruction of patriarchal systems — namely conservative men — wont go down without a fight. Nowhere is this more evident than in the church, where some men will fight tooth and nail to protect their turf.
A woman can be the leader of my country, but she cant be a leader in many local churches. Thats because many Christian churches ascribe to a form of “benevolent patriarchy” commonly known as [Complementarianism](https://en.wikipedia.org/wiki/Complementarianism). This belief places men in positions of authority over their wives and children and limits church leadership to men. Women are expected to fully submit to the men in their lives, such as fathers, husbands, and pastors.
I remember the very last time I attended a board meeting at my conservative, evangelical church. The group — all men, of course — had gathered, and a decision needed to be made that required some legal advice.
*“What a pity we dont have any lawyers who come to our church that we can refer to for this matter,”* Said one of the board members.
*“My wife is a lawyer,”* I spoke up.
*“True,”* replied the board member, *“What a shame she is the wrong gender.”*
And the rest of the men chuckled knowingly.
We ought to be disturbed when it is suggested that those absent of male genitals must unilaterally submit and defer to those with.
![](https://miro.medium.com/v2/resize:fit:700/0*p8io5mcS0eiAMCR_.jpeg)
Photo by [Lisa F. Young](https://www.shutterstock.com/g/lisafx) on [Shutterstock](https://www.shutterstock.com/image-photo/minister-delivering-serious-sermon-church-room-64955239)
## Church and politics
Many Christians are uncomfortable with the marriage that seems to exist between the church and the conservative side of politics. It is a well-established [fact](https://www.pewresearch.org/fact-tank/2019/03/18/evangelical-approval-of-trump-remains-high-but-other-religious-groups-are-less-supportive/) that white, evangelical protestant Christians overwhelmingly support Donald Trump and his first presidency to the point where “Evangelical Christian” has become a kind of synonym for “Trump Supporter.” And if Trump is returning to power in 2024, it will be on the back of the conservative Christian vote.
==The idea that Jesus is somehow on the side of the Republican Party is laughable. If Jesus is on anyones side, its the side of the orphan, the widow, the refugee, the poor, the lost, the hurting, and the weak.==
In my home country, Australia, I believe that the more progressive political parties often have ideas more aligned with the compassion and grace that Christianity is supposed to espouse, particularly in matters pertaining to welfare, foreign aid, equality, asylum seekers and the environment. Yet, it is kind of an unwritten rule that Christians should vote for the conservatives.
Yes, I have had friends walk away from the church because they cant reconcile why the church supports political parties that turn away the refugee and oppress the minority.
![](https://miro.medium.com/v2/resize:fit:700/0*OGaHpdAxwixgOGzD.jpeg)
Photo by [ehrlif](https://www.istockphoto.com/portfolio/ehrlif?mediatype=photography) on [iStockphoto](https://www.istockphoto.com/photo/american-flag-and-bible-gm497116057-41648088)
## The Building
Lets be clear. The Bible never mentions a building called Church. Never. In fact, the Bible never speaks of church in those terms. The buildings came later when the state got a hold of the church, under Roman Emperor Constantine in 312 AD.
On the other hand, Jesus taught that He is present wherever two or three people gather in His name. He didnt specify a group of 50, 200, or 5,000, nor did He mention an auditorium with a speaker, a band, and rows of pews. When Jesus spoke about the church, he was talking about people. People are the building blocks of church, not bricks and mortar. That is why church began in the humble homes of believers and that is why church can still continue in the humble homes of believers even as we are forced apart on occasions such as global pandemics.
Jesus never instructed believers to buy land, build buildings, establish a weekly worship service, create a liturgy or institute a sacrament. He simply instructed believers to remember Him, to live in community, to share meals, and to keep His memory alive. A building is not needed. It might be helpful, sure. But real Christianity is a fully portable experience.
![](https://miro.medium.com/v2/resize:fit:700/0*QUSVsDvv7ieIh1GU.jpeg)
Photo by [Skull Kat](https://unsplash.com/@mrmrs?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) on [Unsplash](https://unsplash.com/s/photos/church?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)
## Childrens Sunday School
At various times in the Gospels, Jesuss disciples are seen trying to keep children away from Jesus because Jesus was — in their opinion — far too busy and important for kids. Yet, in [Matthew 18:10](https://www.biblegateway.com/passage/?search=Matthew+18%3A10&version=VOICE), Jesus commands us not to look down on children but to welcome them.
Therefore, it strikes me as odd that many churches segregate children to some far-removed corner of the church property so that the adults can worship God in peace and quiet. Here, during an hour of glorified babysitting, we teach children to be good little boys and girls. We teach them to be nice, obedient, and compliant.
Now, dont get me wrong. Im not saying there isnt a place for childrens Sunday School lessons, but I think the whole system needs an overhaul. Better yet, heres an idea. How about we design worship services that are inter-generationally friendly so that we can all participate together? We ought to stop patronizing children and start to treat them as people who have things that they can teach us and meaningful contributions they can make.
No wonder my kids found church so boring because — lets be honest — young people are drawn to risk, challenge, and adventure, but these things are often discouraged in the local church. Instead, many congregations offer a safe, nurturing community — an oasis of stability and predictability. Studies show that women and seniors gravitate toward these things. So, not surprisingly, such congregations are over-represented with women and seniors.
Richard Rohr, in his book, “[From Wild Man to Wise Man](https://www.amazon.com.au/Wild-Man-Wise-Reflections-Spirituality/dp/0867167408),” says it like this:
> “Real spirituality should emphasize movement over stillness, action over theory, service to the world over religious discussions, speaking the truth over social niceties, and doing justice instead of self-serving. Without this, spirituality becomes characterized by too much inwardness, a morass of unclarified feelings, and religion itself as a security blanket. This prevents a journey to anyplace new, and fosters a constant protecting of the old. It is a no-risk religion, just the opposite of Abraham, Moses, Paul and Jesus…”
As long as we present the Christian faith inaccurately as something less than the great, challenging, risky, dangerous, treacherous adventure that it was meant to be, we sell out. And children will find their adventure elsewhere.
![](https://miro.medium.com/v2/resize:fit:700/0*hD7Eh78L23cSbwb2.jpeg)
Photo by [Samantha Sophia](https://unsplash.com/@samanthasophia?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) on [Unsplash](https://unsplash.com/s/photos/children-church?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)
## Pews
Several years ago, in the small village of Okeford Ftizpaine in South West England, locals were outraged when their parish church [decided](https://premierchristian.news/en/news/article/outrage-over-church-plans-to-sell-off-victorian-era-pews-to-widen-the-aisle-for-obese-people?fbclid=IwAR1JSZwKv0hrkEEXZdPj1dGLsHgMnVgh6NlvL0gpUDSVhUrrMi-c_SOjLe4) to sell off its 150-year-old, antique Victorian-era wooden pews.
As comfortable as old wooden pews are, I would not personally object to being able to sit on something more modern and easy on the backside, especially during the weekly sermon by the local vicar.
Not the people of Okeford Fitzpaine, though. They would rather have kept their old pews. However, it turns out the removal of these ancient bench seats is rather a matter of necessity as the sanctuary requires more flexible furnishings to allow space for people who are… how do you say it nicely? More rotund than the average human.
A recent report by the church committee concluded: *“We have had occasions at weddings where the couple have been too large to be able to walk side by side down the aisle. With different chairs, we would be able to widen the aisle.”* They also added that the the pews were not suited to the *“human form of today”* — presumably, that means the larger human form.
Even so, it beats me how a church community could somehow think that uncomfortable, 150-year-old wooden pews were so essential to church life that they are worth fighting for — as if single chairs might somehow be the instruments of Satan.
Burn the pews, I say!
And while we are at it, lets get rid of rows altogether. I say that because rows divide and differentiate. Rows promote the consumerist mindset. Rows promote the brainless acceptance of information without critique. Rows perpetuate the hierarchical model that places an expert up the front to mediate between us and God. How about we meet in circles instead — around tables even? Tables invite connection. Tables invite conversation. Tables invite friendship.
![](https://miro.medium.com/v2/resize:fit:700/0*Yp03v0GSXEYSzN8l.jpeg)
Photo by [Kyler Nixon](https://unsplash.com/@knixon?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) on [Unsplash](https://unsplash.com/s/photos/pew?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)
## Marriage
In 2017, the satirical Christian website [Babylon Bee](https://babylonbee.com/news/woman-singles-ministry-gets-married-promoted-real-christian) published an article entitled, *“Woman In Singles Ministry Gets Married, Promoted To Real Christian.”* The article gently pokes fun at the idea that getting married is basically a level up in Christian circles.
The reality is that the popular view of our day is that singleness is a bad position and marriage will cure it — that being single is not sufficient, not adequate. Its something you need to change because its wrong. And, if this is the popular view in our society, you can bet your bottom dollar that its the popular view in the church. At first, we make fun of single people (mainly while they are young), but only for a while. As they get older, we begin to wonder whats wrong with them. Are their standards too high? Eventually, we end up pitying them, as if they were destined for a miserable life.
Somehow, we arrived at the idea — the myth — that singleness is bad. Its the reason my Mum started suggesting suitable partners for me as soon as I turned 18. Its the reason why I signed up to a dating website when I was in my early 20s. Its the reason why people in the church ask, *“So, when are you gonna find yourself a nice girl?”* Its the reason why half of you are trying to match-make for your single friends. Christian are often guilty of treating singleness like its a problem that needs to be solved — despite the fact that Jesus and the Apostle Paul were single men.
In fact, the Apostle Paul comes along in [1 Corinthians 7](https://www.biblegateway.com/passage/?search=1+Corinthians+7%3A8&version=ERV) and lifts up singleness as a legitimate way to live, in a way that would have shocked the world in which they lived at the time. Suddenly Paul is calling singleness a gift. A gift! Imagine that! In so doing, Christianity was the first religion that held up singleness as good. So, the church ought to quit making it out like married Christians are on a higher level, somehow.
![](https://miro.medium.com/v2/resize:fit:700/0*1bmV_2R7mhZGwWUO.jpeg)
Photo by [Richard Jaimes](https://unsplash.com/@richardconr?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) on [Unsplash](https://unsplash.com/s/photos/wedding-church?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)
## Its time to kill the sacred cows
Call me a heretic if you like, but I dont think that Jesus is impressed by our attempts to clutch at power, to elevate some and to put others in their place, to resist change, preserve the status quo, and uphold ancient practices and models that are superfluous to the fundamentals of Christianity.
And I really dont think that Jesus cares too much about the form of our worship — our buildings, our furniture, our music, and our religious traditions.
So, why do we elevate these things to such a high position that we would be willing to fight over them? Ive seen churches split, people hurt, and relationships destroyed over these trivial matters.
They are sacred cows! Now, lets slaughter them!
@@ -1,124 +0,0 @@
---
title: "Nobody Wants To Use These Array Methods😭"
source: "https://medium.com/coding-beauty/nobody-wants-to-use-these-array-methods-957180e597ac"
author:
- "[[Tari Ibaba]]"
published: 2024-10-13
created: 2024-10-29
description: "Array copyWithin() copies a part of an array to another position in the same array and returns it without increasing its length. The cool thing about these new methods is how they let you get and…"
tags:
- "clippings"
---
[
![Tari Ibaba](https://miro.medium.com/v2/resize:fill:88:88/1*hrkjW77qwMoev9kLXYZg5w.png)
](https://medium.com/@tariibaba?source=post_page---byline--957180e597ac--------------------------------)
[
![Coding Beauty](https://miro.medium.com/v2/resize:fill:48:48/1*ViyWUoh4zqx294no1eENxw.png)
](https://medium.com/coding-beauty?source=post_page---byline--957180e597ac--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*rVhnzwU82P5Zv24CWYT00Q.png)
Theres so much more to arrays than `map()`, `filter()`, `find()`, and `push()` .
But most devs are completely clueless about this — several powerful methods theyre missing out on.
Check these out:
## 1\. `copyWithin()`
`Array` `copyWithin()` copies a part of an array to another position in the same array and returns it without increasing its length.
![](https://miro.medium.com/v2/resize:fit:700/1*UI2fKTXWH1qT1RB_8K21KA.png)
`end` parameter is optional:
![](https://miro.medium.com/v2/resize:fit:700/1*EcYWunSj_9xS2etdqw4yfQ.png)
![](https://miro.medium.com/v2/resize:fit:700/1*uYOiZcfBU5qsr5Gn5cpjiQ.png)
## 2\. at() and `with()`
`at()` came first and `with()` came a year after that in 2023.
They are the functional and immutable versions of single-element array modification and access.
![](https://miro.medium.com/v2/resize:fit:700/1*Y22uGYR6l5HkGVq6VOLCqw.png)
The cool thing about these new methods is how they let you get and change element values with negative indexing.
## 3\. `Array` `reduceRight()` method
Works like `reduce()` but the callback goes from right to left instead of left to right:
![](https://miro.medium.com/v2/resize:fit:700/1*NFbUI6qAStv3APmavt93Lg.png)
Heres another great scenario for `reduceRight()`:
![](https://miro.medium.com/v2/resize:fit:700/1*7F4jH5yKoh8OXJZY24Xvog.png)
## 4\. Array `findLast()` method
New in [ES13](https://wp.codingbeautydev.com/es13-javascript-features/): find array item starting from last element.
Great for cases where where searching from end position produces better performance than with `find()`
Example:
![](https://miro.medium.com/v2/resize:fit:700/1*Lw2ceeHdhA6CWfWXVdv_yQ.png)
This works but as our target object is closer to the tail of the array, `findLast()` should run faster:
![](https://miro.medium.com/v2/resize:fit:700/1*2zDP_MxYgnSK3FOe0pNiZw.png)
Another use case for `findLast()` is when we have to specifically search the array from the end to get the correct element.
For example, if we want to find the last even number in a list of numbers, `find()` would produce a totally wrong result:
![](https://miro.medium.com/v2/resize:fit:700/1*kt1frmGkd6gOW6ynuM107A.png)
But `findLast()` will start the search from the end and give us the correct item:
![](https://miro.medium.com/v2/resize:fit:700/1*ueRdCzLJI6l1fS9ERxQBIg.png)
## 5\. `toSorted()`, `toReversed()`, `toSpliced()`
ES2023 came fully packed with immutable versions of `sort()`, `reverse()`, and `splice()`.
Okay maybe `splice()` isn't used as much as the others, but they all mutate the array in place.
![](https://miro.medium.com/v2/resize:fit:700/1*y2DF6_KfCoG33nC9DmdR6Q.png)
Immutability gives us predictable and safer code; debugging is much easier as were certain variables never change their value.
Arguments are exactly the same, with `splice()` and `toSpliced()` having to differ in their return value.
![](https://miro.medium.com/v2/resize:fit:700/1*k6xv-R7x7j9-pn98Fd-NRA.png)
## 6\. Array `lastIndexOf()` method
The `lastIndexOf()` method returns the last index where a particular element can be found in an array.
![](https://miro.medium.com/v2/resize:fit:700/1*lAqwph3lwJB2caVna8RfsQ.png)
We can pass a second argument to `lastIndexOf()` to specify an index in the array where it should stop searching for the string after that index:
![](https://miro.medium.com/v2/resize:fit:700/1*ixivWe5hb336VjZFVI325g.png)
## 7\. Array `flatMap()` method
The `flatMap()` method transforms an array using a given callback function and then flattens the transformed result by one level:
![](https://miro.medium.com/v2/resize:fit:700/1*vrLyoK3wIXniUxBkCInamw.png)
Calling `flatMap()` on the array does the same thing as calling `map()` followed by a `flat()` of depth 1, but it\`s a bit more efficient than calling these two methods separately.
![](https://miro.medium.com/v2/resize:fit:700/1*rWjFGjxLR7ckiJJj7Tx2MQ.png)
## Final thoughts
They are not that well-known (yet) but they have their unique uses and quite powerful.
@@ -1,162 +0,0 @@
---
title: "Obsidians New Bases Feature is The Biggest Update Since Properties"
source: "https://medium.com/obsidian-observer/obsidians-new-bases-feature-is-the-biggest-update-since-properties-2aad08a102eb"
author:
- "[[Theo Stowell]]"
published: 2025-07-28
created: 2025-08-29
description: "The video was a very off-the-cuff piece of work that I recorded in one take when I read on Twitter that the new feature had come out. I jumped straight on recording, with no preparation, because I…"
tags:
- "clippings"
---
[Sitemap](https://medium.com/sitemap/sitemap.xml)## [Obsidian Observer](https://medium.com/obsidian-observer?source=post_page---publication_nav-dc0a52745260-2aad08a102eb---------------------------------------)
[![Obsidian Observer](https://miro.medium.com/v2/resize:fill:76:76/1*_s7zTo3ZFNicmn4UHRZrUw.jpeg)](https://medium.com/obsidian-observer?source=post_page---post_publication_sidebar-dc0a52745260-2aad08a102eb---------------------------------------)
Welcome to The Obsidian Observer, a hub for all Obsidian enthusiasts. Whether youre a beginner or a seasoned pro, our publication delivers in-depth how-to guides, innovative workflows, and captivating opinions to help unlock your note-taking potential.
![](https://miro.medium.com/v2/resize:fit:640/format:webp/1*v2nmCr6OntDTUAE5FxyPFw@2x.png)
> **If youre not a Medium member you can still read this piece for free by clicking my friend link here —** [**Obsidians New Bases Feature is The Biggest Update Since Properties**](https://medium.com/@theostowell/2aad08a102eb?sk=ed16a4c23a1eaa337bbb496f76be52fd)
Now, this *isnt* the first piece of work on the internet published about Obsidian Bases.
But I made a YouTube video that I shared when Bases first came out…
…and so I thought I could take my time with putting together this article.
The video was a very off-the-cuff piece of work that I recorded in one take when I read on Twitter that the new feature had come out.
I jumped straight on recording, with no preparation, because I knew how important and powerful Bases were going to be inside the PARAZETTEL system in my vault ([which you can try for free at this link](https://go.parazettel.com/?utm_source=medium&utm_campaign=bases_biggest_change)).
Since then, Ive been very busy with university work (Ive now graduated completely!) and Ive neglected to write a longer, more detailed round-up.
But, finally, I thought Id tackle Obsidian bases and tell you a little about how Ive been using them for the last couple of months…
### What are Obsidian Bases?
Do you remember a couple of years back when Obsidian released the Properties update? Where we could now look at our notes properties formatted nicely at the top of our note as opposed to somewhat ugly YAML metadata?
For a long time, Dataview (one of the most popular Obsidian plugins) was the only plugin that we could use to query those properties of our notes and display them in a nice, readable output format, like a table or a list.
But recently, along came the Bases feature, and they blew Dataview out of the water by introducing a more powerful, capable, and native (as opposed to third-party) property aggregation and display feature.
Bases are actual separate individual files inside your Obsidian vault, with the extension.base, and you can configure them to query and display your notes in any way youd like, given youve added note properties.
As well, in the resulting views that are displayed, you can actually edit the properties of the notes that are displayed. This was one of the ways in which Dataview fell short, as a data-view-only (duh) rather than a complete property querying and managing solution.
But even though both Dataview and Bases are extremely powerful and useful tools, there is only one way that I use (or used in the case of the former) them in my vault…
### My primary use of Obsidian Bases
Some of my most popular work has been where I talk about using Folder notes and Dataview to create indexes of different areas of my note-taking system.
Its my most popular video on YouTube as of right now, and one of my oldest, most popular articles that I published back in 2023. Today the plugins Dataview and Folder notes remain two of the only third-party additions to [the PARAZETTEL vault and system that I share](https://go.parazettel.com/?utm_source=medium&utm_campaign=bases_biggest_change).
Folder notes are simply notes that appear as you click the folder name in the sidebar in Obsidian. As opposed to expanding the folder in the Explorer, you can open up a note that is a folder note. So, an index and a place to write any general notes related to that folder and its contents.
And now that Bases have come along, theyve taken the place of Data View in the displaying of notes in certain folders on the indexes of folder notes.
![](https://miro.medium.com/v2/resize:fit:640/format:webp/1*xAnOlwIeG_9EpJftq1drPQ@2x.png)
Here is the embedded Base in a folder note of a project that Im just about to start working on
Whats also useful is that Ive created a simple base template that I call MoC (Map of Content is the widely known name, even though I more often refer to these notes as Indexes).
Every time I create a new Folder note index, all Ive got to do is embed that one base, and its configured to just display that folders notes with no additional configuration on my end.
This means I have one main base that Ive already embedded into a template. This saves me so much time in getting the bulk of my work set up. However, Ive got one or two more different Bases in my vault…
### The other places I use special bases
I mentioned that aside from this MoC.base, I had a few other specific use cases for different Bases, where I created custom solutions for each purpose.
One of these is in my Content folder, where I can now very simply separate out all the different types of work that Im going to be writing in the drafts, and very quickly browse through when I feel like writing something specific that day (think an article for here or a YouTube video to share)…
![](https://miro.medium.com/v2/resize:fit:640/format:webp/1*EV59Pt9s3m_gbJxqhU98dg@2x.png)
This is one.base, with three different views built in for different types of content
And thats the good thing about Bases as well — you can have a single base as such with options to create multiple different views that you can configure differently.
Also, inside my Readwise folder, where I import all of my highlights from content Ive read or otherwise consumed, I have a custom base that works in a very similar way…
![](https://miro.medium.com/v2/resize:fit:640/format:webp/1*CPfeIQJMPmJEARF46RSarQ@2x.png)
Filtering by content type can be very useful
Its very useful to see all of the most important details about a source without actually having to go through the process of opening up the page and reading it there.
And thats it for my own use cases. But thats not to say that I might not have other ambitions to use the feature in the future.
### Other places I might look to use Bases
I was inspired when I saw Steph Ango, Obsidian CEO, use a combination of bases and the Leaflet plugin that allows you to view maps to create a list of locations.
Whilst I still use Google Maps for this, it seems nice to move more and more of your life offline and into your Obsidian vault, where privacy is higher and the scope to link different bits and pieces together is much greater.
Bases also work very well with using the Obsidian Web Clipper to save content from the internet into Obsidian.
And now, while I use Readwise to clip highlights mostly, rather than full pieces of content, Ive also been looking at creating a folder where my website clippings are saved as well, necessitating a Base to display this.
But as of right now, Bases are pretty much only used for me to display the notes inside a certain folder, and thats what Ill continue to use them for until I find something else worthwhile doing.
Because I am such a big proponent of [Minimal Note-Taking](https://medium.com/@fundamentalised/minimal-note-taking-a-complete-guide-d951329e374e), I dont want to try and include them where I dont need to include them, seeing as that will create additional distraction for not much extra benefit in my workflow.
That brings us to the end of this more deliberate, but still rather simple, round-up of what I use Bases for.
I didnt want to give you the actual ins and outs of how the feature works, because you can watch the video, or even better, give it a try yourself. You learn more quickly and concretely by trying to figure out how things work in the first person.
Instead, I just wanted to point out the things I use the feature for. I want to teach you functional note-taking, and so it would feel slightly disingenuous if I started sharing loads of junk sentences about use cases I dont actually have, hence the insight on Folder notes, indexes, and only a little else.
Let me know if there are other Bases uses youve seen that you think are interesting and want me to take a look at, though!
Anyway, I graduated from university, very soon before the writing of this piece. Im going to be sharing something soon, talking about this and my ambitions for the future with these articles and wider PKM content.
And so, thank you for reading for today — Ill publish this new piece soon!
> [Try my free Obsidian vault PARAZETTEL](https://go.parazettel.com/?utm_source=medium&utm_campaign=bases_biggest_change)
> [Theory + proven system to master PKM](https://parazettel.com/?utm_campaign=bases_biggest_change)
> [All my paid resources in a single place](https://skool.com/parazettel)
[![Obsidian Observer](https://miro.medium.com/v2/resize:fill:96:96/1*_s7zTo3ZFNicmn4UHRZrUw.jpeg)](https://medium.com/obsidian-observer?source=post_page---post_publication_info--2aad08a102eb---------------------------------------)
[![Obsidian Observer](https://miro.medium.com/v2/resize:fill:128:128/1*_s7zTo3ZFNicmn4UHRZrUw.jpeg)](https://medium.com/obsidian-observer?source=post_page---post_publication_info--2aad08a102eb---------------------------------------)
[Last published Aug 22, 2025](https://medium.com/obsidian-observer/here-are-two-ethical-and-non-invasive-ways-to-use-ai-in-your-pkm-and-writing-75bdd7b00f66?source=post_page---post_publication_info--2aad08a102eb---------------------------------------)
Welcome to The Obsidian Observer, a hub for all Obsidian enthusiasts. Whether youre a beginner or a seasoned pro, our publication delivers in-depth how-to guides, innovative workflows, and captivating opinions to help unlock your note-taking potential.
## Responses (2)
Thomas Peetz
What are your thoughts? [Aaat](https://medium.com/@aaat93610?source=post_page---post_responses--2aad08a102eb----0-----------------------------------)
[
Aug 3
](https://medium.com/@aaat93610/good-article-keep-good-working-02e23f9a8cca?source=post_page---post_responses--2aad08a102eb----0-----------------------------------)
```c
good article. keep good working.
```
5
```c
Congrats on graduation! Thanks for this article on Bases and your use cases. Id love to see the code for your Folder Note base and especially your Readwise one.
```
5
## More from Theo Stowell and Obsidian Observer
## Recommended from Medium
[
See more recommendations
](https://medium.com/?source=post_page---read_next_recirc--2aad08a102eb---------------------------------------)
@@ -1,178 +0,0 @@
---
title: "Oklahoma Christians And Their Plot To Kill Children"
source: "https://medium.com/deconstructing-christianity/oklahoma-christians-and-their-plot-to-kill-children-ca2ae615be39"
author:
- "[[Lilith Helstrom]]"
published: 2024-05-31
created: 2024-10-29
description: "In order to properly explain what is happening in Oklahoma, I have to give you a brief history of part of my own life first. I almost committed suicide at school once. I was in ninth grade and I…"
tags:
- "clippings"
---
## If this becomes an enforced law, there will be blood on their hands
[
![Lilith Helstrom](https://miro.medium.com/v2/resize:fill:88:88/1*YyY95-dMd1BZpr-a-_ltYQ@2x.jpeg)
](https://medium.com/@lilith.helstrom?source=post_page---byline--ca2ae615be39--------------------------------)
[
![Deconstructing Christianity](https://miro.medium.com/v2/resize:fill:48:48/1*nmmzmEdbaDIYg9hcrY_b2w.png)
](https://medium.com/deconstructing-christianity?source=post_page---byline--ca2ae615be39--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*we2xRJ7xJ62xcO7eVH79Sg@2x.jpeg)
Photo by Ben White on Unsplash
In order to properly explain what is happening in Oklahoma, I have to give you a brief history of part of my own life first.
I almost committed suicide at school once. I was in ninth grade and I couldnt take the bullying anymore.
I didnt have any weapons or pills, so there were only two ways left that I could think of to kill myself. I decided Id either use some of my clothes to hang myself in the bathroom or climb onto the roof and jump off.
I was pretty sure I was going to do the first one because I didnt want to make a scene. My classmates mocked everything I did and I could imagine them gathering around as I prepared to jump off the roof. I knew theyd egg me on and laugh at me as I killed myself. I imagined them kicking my corpse afterwards. I didnt want to die that way when bullying was one of the major reasons I was suicidal.
I wound up calling my Mom first in my one last ditch effort to possibly keep trying to stay alive.
It was the nineties, so I had to use a pay phone to contact her. I said, “Im going to stand in front of the school for the next fifteen minutes. Either pick me up or Im committing suicide in the bathroom.”
My Mom insulted me a bunch because she was abusing me emotionally and physically. She said she might show up to get me, but she wasnt sure. She thought I was being manipulative, even though she knew I had severe mental health problems, which she told me regularly were burdens to her.
So I waited the fifteen minutes outside and when I didnt see her, I turned around to walk back into the school, ready to kill myself and believing at that point it was destiny.
I heard my moms voice shout behind me. “No, dont go in. I decided to come. We can go home.”
I went home and hid in my room, barely clinging to my sanity. I just wanted to hide from everyone and everything for a while.
What I actually needed was social workers to take me out of that environment and a therapist to help me deal with my trauma. What I got instead was church and Jesus.
It made my suicidal ideation worse.
In church, we would regularly hear Proverbs 13:24:
> Whoever spares the rod hates their children, but the one who loves their children is careful to discipline them.
The pastor would talk about the virtues of spanking your children, according to this verse, while insisting that parents should never hold back on assaulting their children or we would become spoiled.
It made me think that all the times my Mom spanked me so hard with wooden spoons that they snapped in half on my ass or when my Dad chased me around bottomless, whipping me on the bare legs and butt with a belt, that all those things were perfectly normal, even though I screamed while they did them.
I thought it was normal for my mom to smack me upside the back of the head every day, slap me in the face, kick me, punch me, and yank my hair violently while she screamed at me. I thought thats just what she had to do because I was an evil kid going to hell, as she told me.
Since none of that counted as abuse in my mind, I didnt know how to ask adults for help, even though I desperately wanted it.
I told my youth group leader one time, “My mother hates me.”
She didnt question why I said that, what was causing it, or if anything bad was happening to me at home. She said, “Of course your Mom loves you. You have a house you live in and food to eat every day, dont you?”
I knew something was wrong with her asking me that question, but I didnt know how to explain how it was wrong. So I just said, “Yes.”
“Then your Mom loves you,” she insisted and I nodded my head, even though a year before, my Mom had beaten me for at least an hour, while telling me she was barely resisting the urge to murder me as I screamed for help from my Dad. He never came to help.
I developed agoraphobia, OCD, panic attacks, and PTSD. I stopped being able to act normal in public and I ran to the church for help.
They quoted 2 Timothy 1:7 to me.
> For God gave us a spirit not of fear but of power and love and self-control
They said I just needed to have enough faith and love for God and then I wouldnt be scared anymore. It was a lack of spiritual strength that was making me this way. Not trauma or abuse by humans, I was being attacked by Satan and demons.
I accepted this since my Mom insisted that I was demon possessed all the time.
I read Psalm 91 constantly. I sang it to myself because it was supposed to be the protection psalm, desperate to feel it.
> …5 You will not fear the terror of night,
>
> nor the arrow that flies by day,
>
> 6 nor the pestilence that stalks in the darkness,
>
> nor the plague that destroys at midday.
>
> 7 A thousand may fall at your side,
>
> ten thousand at your right hand,
>
> but it will not come near you.
>
> 8 You will only observe with your eyes
>
> and see the punishment of the wicked.
>
> 9 If you say, “The Lord is my refuge,”
>
> and you make the Most High your dwelling,
>
> 10 no harm will overtake you,
>
> no disaster will come near your tent.
I screamed prayers at God, cried hysterically in fear and begged Jesus to save me from my fear, but because I was still being beaten and bullied, that didnt help.
The panic attacks still came.
“The demons keep attacking me,” I told my parents. “I can feel them trying to enter me.”
I was mixing up feeling fear with demon possession at that point because Id been brainwashed at my most vulnerable moments to believe this was the truth. Id been forced to stay in a situation that was dangerous to me and because of it, my mental deterioration continued.
I saw pastors for counseling. They prayed for me and read Bible verses because they had no psychological training. They couldnt help me work through my trauma or even recognize the signs that someone was being abused. So they just lectured me on forgiveness and having faith or gave me platitudes about Jesus protecting me.
I just had to stop being so immature and start being a better Christian and then I wouldnt have anxiety anymore, according to them.
It wasnt until my mid twenties that I could even deal with my psychological issues at all. I had just started dating my husband and we had our first fight.
I had been taught to be super submissive in my relationships by my misogynistic parents and by my church that told me to always submit to a man. My ex was extremely psychologically abusive, often referring to me as his dog, his bitch, and even called me “pathetic” as a pet name. He has been my only long term relationship before my husband.
So I did what I was taught to do in arguments with a man I was romantic with. I got down on my hands and knees and bowed to him and begged for forgiveness as I insulted myself at his feet.
“What the fuck are you doing?” My husband, who was not raised to be religious or misogynistic, asked me in shock.
I didnt know what to say. I didnt know why he was still mad. I didnt know what more he could want from me or how to explain myself.
He just stared at me in pity, then made me stand up and said. “This is not how you apologize to people. You were very badly abused, werent you?”
No one has ever used that word, abuse, to describe my situation, so I thought it was ridiculous. My mind was shouting, *NO!*
But then I thought about it. Maybe I had been abused? And it was only then that I started distancing myself from my mom and was actually able to talk for the first time to a therapist about what happened to me.
Abuse. Thats what had happened to me.
And I know this was a long story and Im sure youre thinking, “What the fuck does it have to do with the title of the article?” But I couldnt explain my thought process until I explained my background first.
The reason I got trapped in that situation was because I was raised in an extremely religious family and an extremely religious small town that had taken over everything.
They didnt know how to deal with people like me. They blamed everything on spiritual stuff, but I actually needed secular help from psychologists.
They said that taking pills for mental health problems and talking to a therapist was wrong. They said everything was a spiritual war and that if people had issues with these problems, they were just fighting the devil.
I mean, what else could they say, when they rejected science and inserted religion into many parts of life where it didnt belong?
And it almost killed me. My mom could have murdered me and I was extremely suicidal, even back in elementary school.
I dont know how I worked through all the brainwashing and couldnt have done it without my husbands help.
So it deeply disturbs me that Oklahoma just [passed a bill](https://ktul.com/amp/news/local/satanic-temple-to-place-ministers-in-oklahoma-schools-if-sb-36-becomes-law) at the end of April saying that ministers can be used as counselers at public schools instead of people with secular and scientific training. Pastors can use religion on children who arent religious to supposedly fix all their problems.
Just so you know, the bill did indeed pass, as the article I linked to above explains.
School counselors are supposed to be trained so that they can identify kids like me and get them help. Its the kids only chance, often, of receiving help at all.
Pastors are trained in the Bible and no amount of Bible verses will fix a situation like mine was. I know because I tried them all.
Pastors should be dealing with only Bible stuff and church. They should be coaching people in prayer and giving sermons. Not being psychologists, not ever because these kinds of situations are tricky.
And yes, I survived my situation, but many children in similar situations do not survive.
A bill like this will put those kids in more danger. It will eliminate their only chances to be saved.
==Oklahoma politicians have blood on their hands as they ignore childrens screams.==
All these politicians care about is their religious agendas and how they can get more votes if they can indoctrinate children young. They dont care how damaging any of this is. Sacrificing abused children is worth it to them.
[Click here to support my writing](https://ko-fi.com/lilithhelstrom)
![Lilith Helstrom](https://miro.medium.com/v2/resize:fill:40:40/1*YyY95-dMd1BZpr-a-_ltYQ@2x.jpeg)
## Lilith's Thoughts On Religion And Atheism
@@ -1,184 +0,0 @@
---
title: "Only One Script You Need for Monitor Linux !"
source: "https://medium.com/devsecops-community/only-one-script-you-need-for-monitor-linux-aa106e883d51"
author:
- "[[Karthick Dkk]]"
published: 2024-10-20
created: 2024-10-29
description: "With this script in place, youll have one comprehensive solution for monitoring everything on your Linux system. Linux system administrators often face the challenge of monitoring numerous…"
tags:
- "clippings"
---
[
![Karthick Dkk](https://miro.medium.com/v2/resize:fill:44:44/1*mmrAJY3hdxm9lvgkO8RYrA.jpeg)
](https://medium.com/@karthidkk123?source=post_page---byline--aa106e883d51--------------------------------)
[
![devsecops-community](https://miro.medium.com/v2/resize:fill:24:24/1*95nrDvRSNBEKNGHSkQYr5Q.png)
](https://medium.com/devsecops-community?source=post_page---byline--aa106e883d51--------------------------------)
With this script in place, youll have one comprehensive solution for monitoring everything on your Linux system.
![](https://miro.medium.com/v2/resize:fit:700/0*eDuja4P74ZFSnlzt.jpg)
Linux system administrators often face the challenge of monitoring numerous performance metrics, logs, and system health parameters.
Traditionally, youd rely on a variety of tools and scripts to gather data on disk usage, CPU performance, memory status, network traffic, and system logs. But what if you could have **one script** to monitor everything on your Linux system?
In this blog post, well show you how to set up a **single monitoring script** that gives you insights into every crucial aspect of your Linux system.
From CPU usage to disk space, memory consumption to network activity,
In this script will provide a one-stop solution for your system monitoring needs.
Lets dive into it!
## Why Monitoring Is Critical
Monitoring your Linux system is crucial for several reasons:
1. **System Health**: Proactively identifying issues before they become critical can help avoid system downtime.
2. **Performance Optimization**: Monitoring resource usage allows you to adjust your system to ensure peak performance.
3. **Security**: Regular monitoring helps detect abnormal patterns that could indicate security breaches or attacks.
4. **Log Management**: Effective monitoring includes tracking logs to troubleshoot any errors or warnings promptly.
While there are numerous tools like **top**, **htop**, **iftop**, and **df**, managing multiple monitoring solutions can become cumbersome. With a single script, you simplify your workflow and have a centralized point of reference for your systems health.
## Setting Up a One-Script Solution
Before creating the script, lets outline what it needs to monitor:
1. **CPU Usage**: Keep an eye on your systems processor performance.
2. **Memory Usage**: Monitor RAM and swap usage.
3. **Disk Usage**: Ensure that your file systems arent getting too full.
4. **Network Activity**: Track incoming and outgoing traffic.
5. **Running Processes**: Watch for any rogue or resource-hogging processes.
6. **System Logs**: Continuously monitor critical log files for errors or warnings.
## Install Necessary Packages:
```
sudo apt-get install sysstat ifstat -ysudo dnf install sysstat ifstat -ysudo yum install sysstat ifstat -y
```
![](https://miro.medium.com/v2/resize:fit:700/1*tHBvunGn5SjQHX2x9JfO9w.png)
## The Complete Monitoring Script
Heres a comprehensive script that combines all the above metrics into one output. You can schedule this to run at intervals or execute it manually when needed.
## Installation Instrcutions
```
sudo mkdir -p /opt/script/
sudo vim /opt/script/monitoring.sh
sudo chmod +x /opt/script/monitoring.sh
/opt/script/monitoring.sh (or) cd /opt/script && ./monitoring.sh
```
```
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m'
echo -e "${GREEN}===== System Monitoring Script =====${NC}"
echo -e "${YELLOW}\n>> CPU Usage: ${NC}"
mpstat | awk '/all/ {print "CPU Load: " $3 "% idle"}'
echo -e "${YELLOW}\n>> Memory Usage: ${NC}"
free -h | awk '/Mem/ {print "Total Memory: " $2 "\nUsed: " $3 "\nFree: " $4}'
echo -e "Swap:\n"$(free -h | awk '/Swap/ {print "Total: " $2 ", Used: " $3 ", Free: " $4}')
echo -e "${YELLOW}\n>> Disk Usage: ${NC}"
df -h | grep '^/dev' | awk '{print $1 ": " $5 " used, " $4 " available"}'
echo -e "${YELLOW}\n>> Network Traffic: ${NC}"
ifstat -i eth0 1 1 | awk 'NR==3 {print "RX: " $1 " KB/s, TX: " $2 " KB/s"}'
echo -e "${YELLOW}\n>> Top 5 Memory Consuming Processes: ${NC}"
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head -n 6
echo -e "${YELLOW}\n>> Top 5 CPU Consuming Processes: ${NC}"
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -n 6
echo -e "${YELLOW}\n>> Recent Errors in System Logs: ${NC}"
journalctl -p 3 -xb | tail -n 10
echo -e "${GREEN}===== Monitoring Completed =====${NC}"
```
## Breakdown of the Script
1. **CPU Usage**: We use `mpstat` to get CPU load, particularly focusing on how much idle time the CPU has. If this value is low, your system is under heavy load.
2. **Memory Usage**: The `free -h` command gives a human-readable summary of memory and swap usage. High memory usage can indicate an application using excessive resources.
3. **Disk Usage**: `df -h` shows disk space usage for each partition. Disk space running low can cause performance degradation and system crashes, so this is crucial.
4. **Network Traffic**: Using `ifstat`, the script monitors the incoming and outgoing network traffic on a specific interface (in this case, `eth0`).
5. **Top 5 Memory and CPU Consuming Processes**: With `ps`, the script lists the top 5 processes that are using the most memory and CPU, helping you pinpoint resource-heavy tasks.
6. **System Logs Monitoring**: The `journalctl` the command displays recent errors from system logs, helping you identify issues that might not yet be affecting system performance but are critical to investigate.
## Automating the Monitoring Script
While manually running this script is useful, it becomes even more powerful when set to run automatically at intervals. You can do this using **cron**, the task scheduler built into Linux. For more about [crontab check out here.](https://medium.com/devsecops-community/day-10-scheduling-tasks-with-cron-jobs-in-linux-e298d17fc0e9)
## Method 1: Setting Up a Cron Job
To schedule the script to run, say every hour, follow these steps:
Open your crontab file:
```
crontab -e
```
Add the following line to schedule the script to run hourly:
```
0 * * * * /path/to/your_script.sh >> /var/log/system_monitor.log
```
This will execute the script every hour on the hour and log the output to a file.
*Note: You can the crontab time as per your requirement.*
## Send logs to Email via the Command line
Now, the server has the logs, but we need to log in and check the files every time, which is not a feasible solution.
Lets automate via Email.
## Requirements:
1. Postfix — ( [Email configure for linux system check here](https://medium.com/devsecops-community/configure-office-365-email-on-centos-using-postfix-d682ffff6efc))
2. mailutils
```
# For ubuntusudo apt-get install mailutils -y# For Redhat/Centossudo yum install mailx -y
```
## Method 1:
The command below will send our monitoring logs to email. You can change the interval to meet your requirements.
```
0 * * * tail -n 25 /var/log/system_monitor.log | mail -s "Daily Report" -a /var/log/system_monitor.log recipient@example.com
```
## Method 2: Re-write the script directly Send to Email
Heres is alternative script, to send logs directly to Email. Same as the previous one.
```
#!/bin/bashOUTPUT_FILE="/opt/script/monitoring_report.html"echo "<html><head> <title>System Monitoring Report</title> <style> body { font-family: Arial, sans-serif; } h2 { color: #2E8B57; } .section { margin-top: 20px; padding: 10px; } .cpu { color: #FFA500; } .memory, .disk, .network, .processes, .logs { color: #4682B4; } .error { color: #B22222; font-weight: bold; } pre { background-color: #f8f9fa; padding: 10px; border-radius: 5px; } </style></head><body> <h1 style='color: #2E8B57;'>System Monitoring Report</h1> <h2>Date: $(date)</h2>" > "$OUTPUT_FILE"echo "<div class='section cpu'><h2>CPU Usage:</h2><pre>" >> "$OUTPUT_FILE"mpstat | awk '/all/ {print "CPU Load: " $3 "% idle"}' >> "$OUTPUT_FILE"echo "</pre></div>" >> "$OUTPUT_FILE"echo "<div class='section memory'><h2>Memory Usage:</h2><pre>" >> "$OUTPUT_FILE"free -h | awk '/Mem/ {print "Total Memory: " $2 "\nUsed: " $3 "\nFree: " $4}' >> "$OUTPUT_FILE"echo -e "\nSwap:\n$(free -h | awk '/Swap/ {print "Total: " $2 ", Used: " $3 ", Free: " $4}')" >> "$OUTPUT_FILE"echo "</pre></div>" >> "$OUTPUT_FILE"echo "<div class='section disk'><h2>Disk Usage:</h2><pre>" >> "$OUTPUT_FILE"df -h | grep '^/dev' | awk '{print $1 ": " $5 " used, " $4 " available"}' >> "$OUTPUT_FILE"echo "</pre></div>" >> "$OUTPUT_FILE"echo "<div class='section network'><h2>Network Traffic:</h2><pre>" >> "$OUTPUT_FILE"ifstat -i eth0 1 1 | awk 'NR==3 {print "RX: " $1 " KB/s, TX: " $2 " KB/s"}' >> "$OUTPUT_FILE"echo "</pre></div>" >> "$OUTPUT_FILE"echo "<div class='section processes'><h2>Top 5 Memory Consuming Processes:</h2><pre>" >> "$OUTPUT_FILE"ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head -n 6 >> "$OUTPUT_FILE"echo "</pre></div>" >> "$OUTPUT_FILE"echo "<div class='section processes'><h2>Top 5 CPU Consuming Processes:</h2><pre>" >> "$OUTPUT_FILE"ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -n 6 >> "$OUTPUT_FILE"echo "</pre></div>" >> "$OUTPUT_FILE"echo "<div class='section logs'><h2>Recent Errors in System Logs:</h2><pre class='error'>" >> "$OUTPUT_FILE"journalctl -p 3 -xb | tail -n 10 >> "$OUTPUT_FILE"echo "</pre></div>" >> "$OUTPUT_FILE"echo "</body></html>" >> "$OUTPUT_FILE"mail -s "System Monitoring Report" -a "Content-Type: text/html" recipient@example.com < "$OUTPUT_FILE"
```
## Visualizing Your Data
While the script outputs information to your terminal or logs, you may want to visualize the data, especially if youre managing a production server. For this, you can integrate the script with tools like **Grafana** and **Prometheus**. These tools collect and graph data, giving you an interactive, visual representation of your systems performance over time.
## Enhancing Security with Monitoring
System monitoring isnt just about performance; it also plays a vital role in **security**. For example:
- **Log Monitoring**: Keeping an eye on system logs helps you detect suspicious activities like repeated login attempts or unauthorized access.
- **Process Monitoring**: Watching the processes on your system can reveal malware or unnecessary background tasks.
- **Network Traffic**: Monitoring incoming and outgoing traffic may reveal abnormal patterns or potential security breaches.
Having a single script to monitor everything on your Linux system saves you time and makes the monitoring process more efficient. This approach combines multiple critical system checks into one easy-to-manage script, giving you a quick overview of your systems health at any given moment.
By automating this process with cron jobs and visualizing the data with tools like Grafana, you can ensure that your system is running smoothly and identify issues before they escalate into critical problems.
**Helpful Tip**: Customize this script based on your systems unique needs. You can add other checks, such as temperature monitoring for hardware or I/O statistics for high-performance environments.
@@ -1,104 +0,0 @@
---
title: "Poor Kids Like Us Remember These Things"
source: "https://medium.com/bouncin-and-behavin-blogs/poor-kids-like-us-remember-these-things-9b4a9d636306"
author:
- "[[Jason Provencio]]"
published: 2024-10-04
created: 2024-10-29
description: "If you grew up poor, there are many things you probably remember about the experience. I realized as a child that things were somewhat different in our home than in my friends homes. Its funny to…"
tags:
- "clippings"
---
## Nostalgic Poverty
## Only Children From Low-Income Families Know Them
[
![Jason Provencio](https://miro.medium.com/v2/resize:fill:88:88/1*hEZA2rr2tFzam6aGmABgxQ.png)
](https://medium.com/@Jason-P?source=post_page---byline--9b4a9d636306--------------------------------)
[
![Bouncin and Behavin Blogs](https://miro.medium.com/v2/resize:fill:48:48/1*Ly726jhbJsoZi-Ga26sT5A.jpeg)
](https://medium.com/bouncin-and-behavin-blogs?source=post_page---byline--9b4a9d636306--------------------------------)
If you grew up poor, there are many things you probably remember about the experience. I realized as a child that things were somewhat different in our home than in my friends homes. Its funny to think back on it now, as an adult whos much better off financially than during childhood.
*Much funnier than actually being poor back in the day. Trust me, Ill never forget some of these things no matter how old I get.*
Granted, we didnt have it nearly as bad as some kids. We werent destitute. We werent “A house full of skinny kids” poor. We always had a roof over our heads, even if it was an apartment. There was food for each meal, breakfast, lunch, and dinner. We had clean, albeit non-name-brand clothes to wear. Things certainly could have been worse.
My father was a pastor by trade. Though he was a bible college graduate, that didnt translate into a comfortable yearly salary at most small churches he pastored. As the mother of two young boys, my mom stayed home with us, clipped coupons and our hair, and didnt hold a job outside the home until we were teenagers.
She did the best she could with what she had to work with. But some of the things she did were somewhat suspect. Let me tell you about several things I remember that only people who were raised poor could relate to. Tell me if any of this sounds familiar to yall.
![](https://miro.medium.com/v2/resize:fit:700/0*JajSPx1ldBloOKxC.png)
**Powdered milk was a one-and-done experiment. Never again. Photo: Flickr.com**
We once caught her sneaking [**powdered milk**](https://pdf.sciencedirectassets.com/279785/1-s2.0-S0022030256X76356/1-s2.0-S0022030256912115/main.pdf?X-Amz-Security-Token=IQoJb3JpZ2luX2VjEEQaCXVzLWVhc3QtMSJHMEUCIQCmz7dBXlkl0B1UJWFcNCs7eFOxlMTjBixoduTOqcRILAIgKHBbPLqCO12Q%2BHe%2FDkz9zeWmRAKviTukLbXrErCjyPwqvAUInf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAFGgwwNTkwMDM1NDY4NjUiDGWuyeIdWyVHbztRdiqQBSInaeNytg0N2Bgo5T3WQ%2FuOaxVsVX5HRUinAwR1V9bp4dZtIS2Y%2BHLUN6Rqnf4E5sQCrdI9m9m%2BdUMr%2BJHpaxDW%2FohMzpdvEcLLSE2Cn1Kbb3IF4RvKGyqLUaI3vZgkDeH2gUC5nouDcYYvjs8k5RxUxMZNsW2Z6FFDgAyfebXEr2s%2FI3txD5nzJ23lYRrq3smu88rezrwWmgJiyJrrGTDdi%2B1FBSE5%2BC%2BVM7JHFvsThhvO0FurfY9jcs%2FPfkzrFQ%2FmooWJzK0q2BDZo1%2BZonr9SZz0gdFe%2BmafUvOA6fUoE842qS4F9G074sq4BX21OqkeIgL9ozf3WzkMURWRsSZcYjo7OHjZDjKyWtpUbSqOSJj4lm8KFcC8A5mVX%2Fzaunr4641U18xOtGms%2BC5MzNWlEyfCAwWuoxV4A22ZZFIQ5DdtGDNLkGbhLUFLEOpuMigkiGhbaiGmEep2watt7%2BW5v9OLqshxlL1%2FoboX87qkk0jRQkk6TsOoLIZZA3bStHTcn77qvuMJg2yBQLOXbimgD9MzRQIezu47wm6l7Aow3VjQTquU771gDMMShNQmM9wCZtNkeQ5KwOWO%2FBj%2FLRTH7Juy6FMfXg%2FB5u%2Bx8UB5w64QdBA5a8tgGRCKSzakAwEuRUVzzsVAX7Si7Qd9FesOpBeRV6iuPrVaQiRdT6pvf3GLg88xWH6CNuFj2fL3dKKb0KDl4iJ7zxMxxImNbxKvxlAgymn4GJbj4jUE8ekaGGtQxTlTsAX4fAmetyGWwlbpY9c0EDjHuwefNKyFPPvnANyuAwV%2BVTobP8LgLcl7PJ0%2B%2FLka4l85qylcBvytokgVEJbvE%2BHdCSU7zqY8RDW0DpQLPZhLEu2VKx1hY30tMJGjkKsGOrEBJ4ONGcFBNRiOvxY5f001B1%2BHE7%2FI7WsKsfJI2T2T0TayTcr1v4mcmFOH%2BAT76XVDyOZvUR03ENuR9pX6z29VP2crtbiNxZWXaVCUuzDXPpTPoFpb9pnLBENt7GzURdYf8hFERbNXzHx0JZEW9n5LNESj81HGw1H9IrDSPgtges5cAoemRFCQbY3f%2F14C2L%2B1cv2EMagYXby%2F3BvRxubDz0scQR4hbJOdOHFKilFGlNjs&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20231127T042435Z&X-Amz-SignedHeaders=host&X-Amz-Expires=300&X-Amz-Credential=ASIAQ3PHCVTYYAA4MLOO%2F20231127%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=e4466b039b9ef7fc485326c385d9bcdd4cce424ddf669829c602869e2733ac2d&hash=79d3e340a02e5b83b8c1a359a2622edd7f383be443f11305090da93a56d5c62b&host=68042c943591013ac2b2430a89b270f6af2c76d8dfd086a07176afe7c76c2c61&pii=S0022030256912115&tid=spdf-3d3e19b9-7e38-429f-b702-2a5a7d5a13d1&sid=6c7321bc4dbf944e2d485212293f449b4fbegxrqa&type=client&tsoh=d3d3LnNjaWVuY2VkaXJlY3QuY29t&ua=13145a51045158065d55&rr=82c79a31fdddeb77&cc=us) into our generic brand Frosted Flakes. It was so gross. Little pockets of powdered milk would burst out from the surface of our sugary cereal bowl. I started wearing goggles at the breakfast table to protect my baby blues. My father vetoed Project Powdered Milk and increased my mothers grocery budget by a couple of bucks a week.
We didnt always make it easier on her. Im certain we asked for more than a few things during our grocery shopping trips that she just couldnt afford to get. ==My little brother also famously outed her one trip, yelling,== ==*“YOU CANT BUY VITAMINS WITH FOOD STAMPS, MOM!”*== ==After that, she started grocery shopping alone.==
On school days, wed get dressed, putting on the finest fashions that one could purchase from K-Mart. I still have a romanticized view of K-Mart to this day because it was our primary shopping destination. I wrote a blog a couple of months ago about when the blue light special ruled the world:
Though there were no name-brand articles of clothing purchased there, and our Traxx shoes cost less than $10, K-Mart kept us looking decent. At least we had clothes that fit and were clean until we messed them up. That was good enough.
Until junior high, that is. Thats when we started caring about how other kids perceived us. Peer pressure started rearing its ugly head and we became aware that our K-Mart fashions were lame. As Tom Cruise told Dustin Hoffman in the movie ***Rain Man***, *“Let me clue you in on a little secret, Ray. K-Mart SUCKS.”*
K-Mart was a lousy place to shop for shoes and jeans, the two things that most defined you as cool or not as a junior high kid. But we didnt mind it for socks and underwear. I never was more appreciative of this than when my mother tried to sneak used underwear into my dresser drawer.
That still creeps me out. Sure, it was washed and folded neatly, but I was no dummy. I knew my usual Fruit of the Loom brand, and when these new tighty-whitey foreign invaders surfaced, looking frazzled by a long journey from the Salvation Army, certain questions had to be asked.
Those got thrown away. Pops dusted off his wallet and increased the panties budget. Yes, my mother called them “panties” for all of our childhood years at home. I thought I wore panties until I was 21.
![](https://miro.medium.com/v2/resize:fit:544/0*LofV5L0TZeE2vfAs.png)
**Yep, we wore panties. Man-panties. Manties! Photo: Twitter**
Certain symbols of poverty also screwed us over around this age. My mother used to get [**blocks of free government cheese**](https://www.atlasobscura.com/articles/government-cheese) for our family. The boxes they came in were the perfect rectangular size for storing our baseball cards. This was cool until wed bring them to school to trade with our friends.
*“HEY! Nice government cheese box! At least theres one benefit of being poor!”*, some jackass kid yelled in our direction. My other friend Russell had the same matching cheese box for his cards. At least we had each other for comfort. Poor kids gotta stick together.
We had an end-of-the-school-year banquet before I graduated from 8th grade. I didnt own a second pair of shoes. Luckily, my dad and I were the same shoe size for a couple of years. I wore his pricey black Clarks. Damn, those felt good compared to what I was used to.
Growing up poor wasnt always bad. Because we didnt get to go out to dinner frequently, it was more of a treat when we actually went. Trips to McDonalds meant more because they were rare. [**The Hostess Bakery thrift store**](https://www.chicagotribune.com/news/ct-xpm-1996-08-07-9608070243-story.html) allowed my mother to bring home treats that we loved, even if the fruit pies were a bit hard on the ends.
I know they did the best they could and I appreciate the struggle more now than when I was a kid. I remember tears in my mothers eyes when our station wagon broke down right before we were due to visit my grandparents in Wyoming. A CV joint repair wiped out their entire vacation budget, so we didnt go.
*I know they knew we were disappointed. They wanted better for us, certainly.*
![](https://miro.medium.com/v2/resize:fit:700/0*OExDSBsL1hhcui2u)
**There would be no family vacation the summer that our station wagon needed an expensive repair. Photo by** [**Zlatko Đurić**](https://unsplash.com/@zladuric?utm_source=medium&utm_medium=referral) **on** [**Unsplash**](https://unsplash.com/?utm_source=medium&utm_medium=referral)
One of the saddest memories I have around that time was going to my friend Steves birthday party. My dad dropped me off at Steves large home, and he ran out, dressed to the nines with a collared shirt and a vest. When he picked me up after the party, he made an observation:
*“Your friend Steve sure dresses nice. And so do his friends.”*
I nodded my head, not paying that much attention. *“Yeah.”*
He continued, *“Do you like the way he dresses? Would you enjoy wearing stuff like that?”*
This caught my attention. I knew what he was getting at. I was a smart, insightful kid, even in grade school. I didnt want to hurt his feelings or make him feel bad. So I answered, *“I guess. But its not a big deal.”*
He stared ahead as we drove down the road for a minute or two. I hoped he wasnt going to tear up or something. I hated that I knew what he was probably feeling, in the moment. He finally spoke.
*“Cool. Well, lets take care of that when we can.”*
![](https://miro.medium.com/v2/resize:fit:627/0*-LycXpekLs4UbCLf.png)
**Steve and his friends were snazzy dressers. My dad wanted that for me, too. Photo: Pixabay**
I appreciated him saying that. Even though I had my doubts that wed ever be in a different tax bracket, it was nice of him to want that for his son. I didnt want to be a burden or the cause of my parents financial struggles.
Things did improve eventually. While I never got a pair of Air Jordans until I bought them as an adult, we did get Nikes that were on sale. I started being able to get Ocean Pacific board shorts instead of my mother sewing a pair for me. Having stonewashed Levis 501s was another big moment for a semi-poor kid.
Looking back, none of that stuff really mattered. Because we were raised well and always had enough food, attention, and love, we did just fine. And being raised poor gave me a good outlook on life as an adult. It taught me not to be so materialistic like many people in our country.
I appreciate what my parents did for us with the little they had. And its funny to think about these memories again, some 35 years later. Its always good to remember where we came from and what led to us building a strong work ethic as adults, for our own children to be comfortable. &:^)
© 2024 Jason Provencio. All rights reserved.
@@ -1,82 +0,0 @@
---
title: "Republicans Cynical Ploy to Keep Abortion Off the Ballot"
source: "https://aninjusticemag.com/republicans-cynical-ploy-to-keep-abortion-off-the-ballot-07a6fc61ac55"
author:
- "[[Dustin Arand]]"
published: 2024-09-13
created: 2024-10-29
description: "After the Supreme Court overturned Roe v. Wade, Republicans in my home state of Missouri moved swiftly to ban abortion. Under current state law, all abortions are prohibited — even in cases of rape…"
tags:
- "clippings"
---
## Afraid of their own voters, conservatives have gone to court to thwart them
[
![Dustin Arand](https://miro.medium.com/v2/resize:fill:88:88/0*hTr5hI2IKzfR4MwD.)
](https://dustinarand.medium.com/?source=post_page---byline--07a6fc61ac55--------------------------------)
[
![An Injustice!](https://miro.medium.com/v2/resize:fill:48:48/1*suDnvWWEvtqQCxA2NEHoRA.png)
](https://aninjusticemag.com/?source=post_page---byline--07a6fc61ac55--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/0*Z0FHf7MtE49a0mft)
Photo by [Harrison Mitchell](https://unsplash.com/@harrisonmitchell?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
After the Supreme Court overturned *Roe v. Wade*, Republicans in my home state of Missouri moved swiftly to ban abortion. Under current state law, all abortions are prohibited — even in cases of rape or incest — unless necessary to protect the life or health of the mother.
Even in this deep red state, a state that hasnt supported a Democrat for president since Bill Clinton in 1996, the total abortion ban didnt sit well with voters. Almost immediately, abortion rights activists began organizing petition drives to enshrine the right to reproductive freedom in the state constitution.
Here in Missouri, to put a constitutional amendment on the ballot, proponents have to secure the signature of eight percent of eligible voters. Thats a heavy lift. But in this case, a coalition of activist groups called Missourians for Constitutional Freedom managed to get nearly [18 percent](https://missouriindependent.com/2024/05/03/missourians-signatures-abortion-amendment-viability/) of voters to sign on. And according to the [most recent poll](https://www.kcur.org/politics-elections-and-government/2024-08-30/missouri-abortin-rights-amendment-3-support-poll), 52 percent of Missouri voters planned to support it, including 32 percent of registered Republicans.
It looked like Missouri was about to become yet another conservative state — like Ohio, Kentucky, and Kansas — whose citizens would either recognize the right to abortion or reject efforts to curtail it, in defiance of state Republican lawmakers. But all that was thrown into confusion Friday night, when Judge Chris Limbaugh (cousin of Rush Limbaugh) ruled that the language of the proposed amendment — now called Amendment 3 — failed to include “all sections of existing law or of the constitution which would be repealed by the measure.”
Since Tuesday was the deadline for getting language on the November ballot, an emergency petition bypassed the State Court of Appeals and went straight to the Missouri Supreme Court, which heard arguments first thing Tuesday morning.
## Show Me Democracy
While the ballot proposals opponents may not have much of an argument — Ill explain why shortly — it was entirely predictable that they would try to get it de-certified. It was also easy to foresee that conservative judges and Missouris Republican Attorney General would do whatever they could to take this choice away from the voters.
Thats because Missourians have a long history of going around Republican lawmakers. They increased the minimum wage, embraced Obamacares Medicaid expansion, legalized recreational marijuana, and rejected anti-union “Right to Work” legislation. The states GOP leaders have never forgiven them.
You see, up until fairly recently, Missouri was more of a swing state. With the exception of 1956, when Missourians supported Democrat Adlai Stevenson over Republican Dwight Eisenhower, the Show Me State has voted for the winner of the Presidential election every year from 1904 through 2004.
In 2008, McCain just barely edged out Obama. Back then Missouri had one Democratic and one Republican Senator. Our Secretary of State was a Democrat, and Democrat Jay Nixon won his race for governor. Since then, though, its been harder and harder for Democrats to win statewide office. At the same time, ==Republicans in control of the state legislature have gerrymandered themselves an essentially veto-proof majority.==
Thats why the ballot initiative process has been so crucial for my state. Without it, wed have no way to escape one-party rule. The culture wars and right-wing disinformation have made the Democratic brand toxic to many voters in red states, but those same voters often lean left on concrete matters of policy. By framing a single question and putting it directly to the voters, we can put aside partisan politics and just focus on the facts of this one issue.
For that very reason, ballot initiatives pose a far greater political threat to the Republican agenda than any Democratic candidate. And thats why the GOP has been so keen to quash them. Earlier this year, Republicans in Jefferson City tried to pass a bill that would have asked voters to change the amendment process. Instead of a simple majority, the Republicans proposal would have required that any new amendment be approved by a majority of voters from a majority of the states legislative districts (called a “concurrent majority”).
Essentially, the GOP was trying to Electoral College-ify the amendment process. And since the state legislature was so heavily gerrymandered, a [study](https://missouriindependent.com/2024/02/05/as-few-as-1-in-5-voters-could-defeat-initiative-petitions-under-missouri-senate-proposal/) found that if their proposal became law, an amendment could fail to pass *even if it got 75 percent of the vote*.
And Missouri isnt the only state where Republicans have taken aim at the ballot initiative process. This [report](https://www.brennancenter.org/our-work/research-reports/politicians-take-aim-ballot-initiatives) from the Brennan Center describes similar efforts in Arizona, Arkansas, Idaho, Michigan, North Dakota, and Ohio. Whether by requiring a “concurrent majority” for passage, or increasing the number of signatures needed to put an amendment on the ballot, or both, Republicans in these and other states are engaged in a direct attack on popular sovereignty, and on the last credible challenge to their power.
## The fate of Amendment 3
Back in Missouri, our Supreme Court had to decide what to do with the challenge to Amendment 3. In theory, it makes sense that ballot initiatives should list any laws or constitutional provisions they will repeal. Voters deserve to know what theyre voting for, and many may not be inclined to sign a petition for an initiative that would repeal laws they support.
But in practice, its not so easy to apply. For example, a decade ago a group of teachers sued to block a ballot proposal affecting teacher contracts because they said that, in addition to amending Article IX of the state constitution, it would also amend the general right to collective bargaining in Article I. Since this wasnt disclosed in the proposals language, it had to be de-certified.
But the Missouri Court of Appeals disagreed. In [*Kuehner et al v. Kander*](https://www.courtlistener.com/opinion/2734290/anita-marie-kuehner-v-jason-kander/?type=o&q=%22full+and+correct+text%22+AND+initiative&order_by=score+desc&stat_Precedential=on&court=mo+moctapp+moag), 442 S.W.3d 224, the court held that the law
> does not require initiative proponents to include all of those provisions affected, impacted, or modified by a proposed measure. Moreover, requiring proponents to ferret out all such potential conflicts would tend to stifle the initiative process.
Thats sensible. After all, whether a specific law runs afoul of a general constitutional guarantee is a question of interpretation. Under our system of checks and balances, that makes it an issue for courts to decide, not activists and not the Attorney General (a member of the executive branch).
Think about it: when Congress passes a law, or the people of a given state pass a constitutional amendment that impacts Federal rights, they all tend to think their actions are constitutional. But that doesnt make them so, and we dont just take their word for it. If someone challenges the law or amendment it will always be up to a court to say whos right.
An initiatives supporters may underestimate its impact on current or future laws, or they may overestimate it. Cases that present such questions have to be decided when they arise, by judges whose job it is to clarify the contours of the law.
We saw this play out in [Florida](https://www.brennancenter.org/our-work/research-reports/voting-rights-restoration-efforts-florida) after that states voters elected to reinstate former felons voting rights upon completing their sentences. Republican lawmakers immediately passed a law prohibiting ex-felons from exercising their rights if they hadnt paid back all residual financial obligations stemming from their incarceration. Governor Ron DeSantis claimed this was consistent with the amendment approved by voters because paying off those debts was part of what it meant to “complete ones sentence.” Most voters may have been surprised to hear it, but the courts agreed.
Similarly, if Missourians vote to support the right to reproductive freedom, dont expect that to be the end of the story. Access to abortion may technically be protected up to the point of fetal viability, but that wont stop Republicans from trying to throw up all kinds of roadblocks to the operation of abortion clinics in the state.
That includes things like requiring that providers have admitting privileges at local hospitals, or that clinics meet the requirements for ambulatory surgical centers, even when no surgical abortions are performed on site. Its the same playbook weve seen for decades, and future courts will have to determine whether these or other measures significantly impede Missourians ability to exercise their reproductive rights.
At 3 oclock on Tuesday afternoon the Missouri Supreme Court rendered its decision. The amendment language was proper, they said, and they ordered the Attorney General to immediately place it back on the ballot. This November, Missourians will get to have their say on abortion, as will voters in Arizona, Colorado, Florida, Maryland, Montana, Nevada and South Dakota.
But we almost didnt, and we cant forget that fact. If you live in a red state, know that your local Republican Party is almost certainly trying to take away your voice, to destroy direct democracy. Dont let them do it. Its up to all of us to stay informed of our rights, of developments in the law, and of the questions we will be expected to weigh in on. That is the price and the privilege of citizenship.
@@ -1,90 +0,0 @@
---
title: "Saying “Put Some Clothes On” to a Woman at Work"
source: "https://medium.com/the-human-side-of-work/put-some-clothes-on-1672347d11a6"
author:
- "[[Victoria Corindi 🌻]]"
published: 2024-04-29
created: 2024-10-29
description: "It seemed like every time we sat down to our weekly status meeting in the glass-walled conference room, she said something about how freezing she was. At least once a week her wardrobe consisted of a…"
tags:
- "clippings"
---
## Is what my co-worker said harassment or hilarious?
[
![Victoria Corindi 🌻](https://miro.medium.com/v2/resize:fill:88:88/1*heBX-PvOHhfkWlNqqkrJ5Q.png)
](https://medium.com/@victoriacorindi?source=post_page---byline--1672347d11a6--------------------------------)
[
![The Human Side of Work](https://miro.medium.com/v2/resize:fill:48:48/1*IT3nQfZ5i49aW1iN5sw_1w.png)
](https://medium.com/the-human-side-of-work?source=post_page---byline--1672347d11a6--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/0*5ix_5at4v5RdQYrb)
Photo by [Dane Deaner](https://unsplash.com/@danedeaner?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
Rosalee had been complaining about the temperature in the office for months.
It seemed like every time we sat down to our weekly status meeting in the glass-walled conference room, she said something about how freezing she was.
Theres no question that our office was chilly.
Even in the heat of summer, I wore long sleeves to keep myself warm.
I also have a sweater that I keep in my office and I frequently put it on.
Rosalee wore sleeveless tops and skirts.
Ive never seen her wear long sleeves, pants, or a jacket, even in the winter.
At least once a week her wardrobe consisted of a summer dress made of silk or rayon with barely any fabric at all.
What she wore wasnt revealing, there just wasnt much of it.
Her laundry loads must be light, I thought.
As one who never makes comments on womens clothes in the workplace or otherwise, I bit my tongue when she voiced her desire to increase the temperature on the offices thermostat.
It seemed silly to keep complaining when the fix was as simple as putting on a sweater and everyone else was fine.
Richard had joined our team as a project manager about a month prior.
Id noticed his face when Rosalee complained.
He wasnt annoyed or dismissive, he was amused.
As he started the meeting that Monday, Rosalee took her seat in a wisp of a dress.
She wrapped her arms around her body and visibly shivered.
Locking eyes with Richard when he welcomed the team, Rosalee said, “Im freezing. When is someone going to do something about this?”
==“It would help if you put some clothes on,” he replied.==
Silence.
You could hear a pin drop in the room.
We all shifted in our seats. I was sure I heard someone chuckle under their breath. The colleague next to me coughed.
Waiting to see how Rosalee would respond, we were on pins and needles.
When she didnt reply, but instead kept her eyes on the table, Richard continued the meeting.
After that day, Rosalee made no change to her wardrobe, but she did stop complaining.
She never brought up being cold or the temperature in the office again.
What I wonder is if Richard should have said what he did.
Were his comments rude, inappropriate, and shaming?
Or hilarious.
Read about my responsibility in my Gen Z daughters entitlement:
Or whats stopping me from suing my employer:
@@ -1,109 +0,0 @@
---
title: "School Fires Critical Thinking Teacher Who Went Viral With Harry Potter Discussion"
source: "https://briantubbs.medium.com/school-fires-critical-thinking-teacher-who-went-viral-with-harry-potter-discussion-4017f1b66d63"
author:
- "[[Brian Tubbs]]"
published: 2024-05-14
created: 2024-10-29
description: "Warren Smith, the Massachusetts-based teacher who became a poster boy for critical thinking and a favorite of conservatives, has been fired from his full-time teaching job. He announced the news in a…"
tags:
- "clippings"
---
## In a win for Social Reconstructionists, Warren Smith loses his job
[
![Brian Tubbs](https://miro.medium.com/v2/resize:fill:88:88/1*sjOAqPxz2ODO0jiEZHaIpA.jpeg)
](https://briantubbs.medium.com/?source=post_page---byline--4017f1b66d63--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*yvC2PsgDWJaLSOWNzqK0SQ.png)
Designed in Canva Pro
Warren Smith, the Massachusetts-based teacher who became a poster boy for critical thinking and a favorite of conservatives, has been fired from his full-time teaching job. He announced the news in a [video](https://youtu.be/iTvz9oatUiw?si=TeEpLX39boT_By4X) on his YouTube channel.
Prior to this latest development, Smith was a full-time teacher at a secondary school in Massachusetts and a part-time instructor at Emerson College. As of today (May 14, 2024), it appears he is still employed PT by Emerson.
Smith became famous when an on-camera discussion with a student (the student was not pictured) about *Harry Potter* author J.K. Rowling went viral. If you havent seen it, you can watch the video below…
The above version has 835k views, but several versions have been floating around the Internet — some with millions of views! This discussion led to Smith being interviewed by conservative influencers Piers Morgan, Dave Rubin, and others.
He has been hailed as a champion of critical thinking, even though his teaching job was in multimedia rather than philosophy. Still, the “thought experiment” he leads the student through in the above video shows a quasi- Socratic method of asking questions to get students to re-think their preconceived notions and biases.
Its an approach thats very much the bread-and-butter of Educational Essentialism, a philosophy that emphasizes knowledge, wisdom, and the practical “essentials” of life. Asking questions to provoke thought and additional consideration or reflection is at the core of essentialism.
In the opinion of this author, it should be at the core of education still.
So, whether Smith teaches philosophy, physical education, or photography is irrelevant to me. What matters is that Smiths approach is a refreshing return to traditional teaching strategies that many wish were still the norm in secondary and higher education today.
Though I am deeply disappointed in Smith being fired, I will stop short of condemning the school that fired him. The reason is that there are several unknowns:
- We dont know the name of the school Smith worked at. The name has been withheld in his interviews and is not disclosed on his website.
- We dont know the official reason(s) given by the school for firing Smith. We can only speculate based on what Smith has told us.
There is also something we know, but perhaps need to reflect on, and that is…
> Schools dont like to be in the limelight when it comes to controversial personalities or issues.
A school is in the “business” of educating the kids in that respective district. Everything operates within a delicate “eco-system” of kids, parents, teachers, staff, and administrators all working together in a local community setting to accomplish their objectives. A sudden uptick in media attention centered around controversial developments or personalities (especially teachers) can upset that ecosystem, bringing a lot of unwanted attention and distraction.
![](https://miro.medium.com/v2/resize:fit:700/0*o1m42qKfATihmZuR)
Photo by [Sam Balye](https://unsplash.com/@sambalye?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
Its not unreasonable for a school to frown at teachers becoming celebrity influencers, especially if it jeopardizes the privacy of the students, their families, or the teachers colleagues.
That being said…
*If* what Smith says in his video is correct…
**The school handled Warren Smiths dismissal very poorly.**
The school year is almost over. They could have allowed him to finish out the year and not renewed his contract. They could have given him a choice: You can be a celebrity influencer with a YouTube channel and TV interviews OR you can continue as a teacher here. Let him decide. Or they could have given him the opportunity to resign.
They certainly didnt need to take back his computer the way they did. Yes, Im aware that employers often pay for laptops for their staff for work-related duties. This was apparently the case here, and thus the school had every right to take back the computer. However…
Employers often let employees use their work laptops for personal affairs when “off the clock.” It happens all the time. Assuming this was the case here (and Smith wasnt violating explicit laptop policies), there was a much nicer and more professional way for the school to ask for their laptop back.
Given the sudden nature of his firing and the way they took back the laptop (apparently without any warning), its clear they played hardball.
The fact that they played hardball tells me there were either a) legal considerations or additional details we dont know about or b) they were being spiteful and mean-spirited.
Its the latter possibility that has many people, including me, deeply concerned.
![](https://miro.medium.com/v2/resize:fit:700/0*vTByLdDxPChlv2Vz)
Photo by [Tim Mossholder](https://unsplash.com/@timmossholder?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
Whether you agree or disagree with Warren Smith (or, for that matter, J.K. Rowling) should not be relevant to this discussion. Smiths approach to education is well within the mainstream of traditional education.
Unfortunately (for Smith and, I believe, the country overall), Educational Essentialism (while traditionally mainstream) is no longer “in.” Its no longer cool. And teachers like Smith who operate by it are seen as being as relevant today as dinosaurs.
Social Reconstructionism is on the ascent. If youre not familiar with that term, youve probably heard of Critical Theory. Its an integral part of Social Reconstructionism within the context of educational philosophy.
**Social Reconstructionism and Critical Theory often veer into indoctrination.**
Lets take the *Harry Potter* discussion which made Smith famous. To an Essentialist (like Smith), a question about J.K. Rowlings views on transgenderism is an opportunity for an experiment in critical thinking. To a Social Reconstructionist, such a question is an opportunity to condemn transphobia and examine its effects on those who have been marginalized.
To a Social Reconstructionist, a critical analysis of the views of a privileged celebrity (in this case, billionaire J.K. Rowling) perpetuates the problem of inequity by giving that person even more attention. To a Social Reconstructionist, all energy should go to elevating the marginalized, not trying to be “fair” to the privileged.
Accordingly, essentialists like Smith will always find themselves at odds with progressive reconstructionists who see schools as a means to an end — the end being *their* view of a more just, more equitable society.
**Social Reconstructionists and Essentialists have completely different worldviews and they dont play well together in the classroom — or in the public square.**
This is why education in America today is so divisive, polarized, and often dysfunctional. We have diametrically opposed worldviews vying for supremacy and for the minds of our kids.
My hope is that Smith will retain an attorney and that he will get to the bottom of all this. And, if he was wronged (it appears he was), I hope he gets a payout that makes up for that wrongdoing, plus an apology from the school administration.
Regardless of the outcome of this particular situation, there are larger matters at stake.
We know about the Smith case because of Smiths recent rise in popularity. Yet this dynamic is playing out (in less visible ways) in school districts across the country.
> What is the purpose of education?
That is the question. Is it to teach kids *what* to think and how to *behave* (and live, vote, etc.) **or** is it to teach them *how* to think (and, in so doing, how to think for themselves as individuals)?
Count me in the camp of the Essentialists. We need to teach students how to think. And that includes thought experiments like the one which made Warren Smith famous.
If we cant agree on that, civilization itself is imperiled.
@@ -1,139 +0,0 @@
---
title: "Some Obsolete Commands in GNU/Linux and the Tools You Should Use Instead"
source: "https://medium.com/nerd-for-tech/some-obsolete-commands-in-gnu-linux-and-the-tools-you-should-use-instead-df64c42ee9ad"
author:
- "[[Talha Khaild]]"
published: 2024-08-23
created: 2024-10-29
description: "In software development, things change at an incredible speed due to improvements in hardware and environments. For the same reason, tools change. Sometimes old ones dont adapt well to changes, so…"
tags:
- "clippings"
---
[
![Talha Khaild](https://miro.medium.com/v2/resize:fill:88:88/1*UqWnEDWq3XUnpZcaO4TJIA.jpeg)
](https://medium.com/@talhakhalid101?source=post_page---byline--df64c42ee9ad--------------------------------)
[
![Nerd For Tech](https://miro.medium.com/v2/resize:fill:48:48/1*53-lvCPnPV4sTOmvcITDxw.png)
](https://medium.com/nerd-for-tech?source=post_page---byline--df64c42ee9ad--------------------------------)
In software development, things change at an incredible speed due to improvements in hardware and environments. For the same reason, tools change. Sometimes old ones dont adapt well to changes, so they end up fading away and being replaced by other utilities (with the arguable point being that new tools are better than old ones and if the old one works, dont touch it).
![](https://miro.medium.com/v2/resize:fit:700/1*cJpjIIbFB0XQfT6atIzLQA.jpeg)
Below are a handful of older tools you may still be using, some you should use instead, and why you should switch to these improved alternatives that provide the same or updated functionality, thus being well maintained.
> Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams because that is a universal interface.
Part of the Unix philosophy, and one that identifies many programs. Among them the venerable grep command. I can sum it up as: “write a program that does one thing, but does it well and is universal.”
Also Check:
## egrep and fgrep
The egrep (extended grep) tool uses regular expressions to match a line. However, egrep has been deprecated in favor of using regular grep with the grep -E flag. For example:
```
$ egrep '^[fj]' /etc/passwdftp:x:14:50:User FTP:/var/ftp:/sbin/nologinuser:x:1000:1000:user:/home/user:/bin/bash
```
```
$ grep -E '^[fj]' /etc/passwd ftp:x:14:50:User FTP:/var/ftp:/sbin/nologin user:x:1000:3000:user:/home/user:/ bin/bash
```
Both examples match lines starting with the letter jof in the /etc/passwd file.
Another example of adding a new flag is fgrep. The grep command, uses a fixed string to match (no optimizations, so it is faster than a regular expression) instead of -E. It has been replaced by grep -F. Here is a comparison:
```
$ fgrep 'user' /etc/passwduser:x:1000:3000:user:/home/user:/usr/bin/zsh
```
```
$ grep -F 'user' /etc/passwduser:x:1000:3000:user:/home/user:/usr/bin/zsh
```
As you can see, it makes more sense to use flags to make a tool provide similar behavior. You just need to know that grep with a flag can use regular expressions or perform an exact search.
## nslookup: He lives, but….
Surely you have ever tried to get the IP address of a server like this:
```
$ nslookup domain_urlServer: 192.168.0.1Address: 192.168.0.1
```
```
Non-authoritative answer:Name: domain_urlAddress: 50.63.7.206
```
An alternative to nslookup is dig. Here is an example similar to the above:
```
$ dig @192.168.1.1 domain_url A +noall +answer +nocmd domain_url. 600 IN A 50.63.7.206
```
Interactive mode shows how to get the pointer record (PTR) of the same server (this is a reverse lookup to get the server name by providing the IP address):
```
> set type=ptr> 50.63.7.206Server: 192.168.1.1Address: 192.168.1.1#53
```
```
Non-authoritative answer:206.7.63.50.in-addr.arpa name = ip-50-63-7-206.ip.secureserver.net.
```
```
Authoritative answers can be found from:
```
The equivalent command in dig looks like this:
```
$ dig -x @192.168.1.1 domain_url +noall +response +nocmd......
```
The dig command can do things that nslookup cannot. Such as requesting a DNS transfer of a domain zone (including all record types) to backup your domain DNS:
```
$ dig +short ns domain_url..........$ dig axfr domain_url @dns_server..........
```
However, nslookup can do things that dig cannot, such as friendly interactive mode, which is very useful when scanning DNS domains. It can also be run in non-interactive mode. There is one fundamental difference between the two utilities, dig uses the operating systems resolver libraries (the libraries that perform address lookups in DNS) and nslookup does not. Therefore, the two may behave differently when resolving addresses.
Also check:
## ifconfig, netstat, route: Ip has arrived.
You can use ifconfig to get information about network interfaces and change their settings. However, it was replaced by **ip** . Heres how to list your network interfaces using ip:
```
$ ip address
```
Another useful tool is route. You can use,route -nto check the routing table (the information about how your machine connects to other machines):
```
$ route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface0.0.0.0 192.168.1.1 0.0.0.0 UG 600 0 0 wls1172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0192.168.1.0 0.0.0.0 255.255.255.0 U 600 0 0 wls1
```
But the ip command can also display the routing table. For example:
```
$ ip route listdefault via 192.168.1.1 dev wls1 proto static metric 600172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown192.168.1.0/24 dev wls1 proto kernel scope link src 192.168.1.16 metric 600
```
Another utility that was replaced is netstat. With netstat, you can see the list of active connections, among other things. Its replacement is the commandH.H. For example:
```
$ ss --numeric --tcp --listenState Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 32 192.168.122.1:53 0.0.0.0:*LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*LISTEN 0 128 0.0.0.0:22 0.0.0.0:*LISTEN 0 128 127.0.0.1:631 0.0.0.0:*LISTEN 0 4096 0.0.0.0:5355 0.0.0.0:*LISTEN 0 128 [::]:22 [::]:*LISTEN 0 128 [::1]:631 [::]:*LISTEN 0 4096 *:9323 *:*LISTEN 0 4096 [::]:5355 [::]:*LISTEN 0 4096 *:9100 *:*
```
For all three of these cases, lack of maintenance was the downfall of these tools. Newer tools took their place, many distros have deprecated the use of ifconfig and route in favor of the software package.iproute2, such as ArchLinux or RHEL since version 7. This tool includes support for all common ifconfig, route, arp, and netstat functions. It also includes support for multicast configuration, virtual link and tunnel management, traffic control, and low-level IPsec configuration, among other features.
![](https://miro.medium.com/v2/resize:fit:615/0*fLE0vcVcBV9owOIC)
Also Check:
## Conclusion
Its a good idea to keep up with the latest tools, as developers fix bugs and add useful features that may not have been present in older versions. Its all about being more productive. Old software tends not to get bug fixes. If left unattended, some of them could compromise the system. Anyway, keep up to date with the information you have about your favorite applications, and if you like one in particular, support it, pamper it, love it, and dont forget to donate, you help the developer survive. Until another post, reader. Good vibes.
@@ -1,92 +0,0 @@
---
title: "Spring doesnt recommend @Autowired anymore???"
source: "https://medium.com/@ByteCodeBlogger/spring-doesnt-recommend-autowired-anymore-895987b2e2f3"
author:
- "[[Full Stack Developer]]"
published: 2024-07-19
created: 2024-10-29
description: "In Spring, dependency injection is a fundamental concept used to manage the lifecycle and dependencies of beans. @Autowired is a common way to inject dependencies into Spring-managed components…"
tags:
- "clippings"
---
[
![Full Stack Developer](https://miro.medium.com/v2/resize:fill:88:88/1*ANzDaum1wnT55zhf1sbLSg@2x.jpeg)
](https://medium.com/@ByteCodeBlogger?source=post_page---byline--895987b2e2f3--------------------------------)
There are 3 ways we can inject dependencies and Field Injection is not recommended anymore.
![](https://miro.medium.com/v2/resize:fit:700/0*WeheP9k6lgJm-ZVv)
Photo by [Luigi Pozzoli](https://unsplash.com/@lu_pl_ph?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
In Spring, dependency injection is a fundamental concept used to manage the lifecycle and dependencies of beans. `@Autowired` is a common way to inject dependencies into Spring-managed components.
> When we run the code analysis tool in the IDE, it may issue the “Field injection is not recommended” warning for fields with the @Autowired annotation
However, there are other ways to achieve the same goal, and Spring has evolved its best practices over time. Here are the different methods and the reasons why Spring might not recommend `@Autowired` as strongly anymore:
## 3 Methods to Autowire in Spring
## **Constructor Injection**:
```
@Servicepublic class MyService { private final MyRepository myRepository; public MyService(MyRepository myRepository) { this.myRepository = myRepository; }}
```
**Pros**:
- Encourages immutability and makes dependencies explicit.
- Ensures that the bean is fully initialized with its required dependencies.
- Easier to write unit tests for.
## **2\. Setter Injection**:
```
@Servicepublic class MyService { private MyRepository myRepository; @Autowired public void setMyRepository(MyRepository myRepository) { this.myRepository = myRepository; }}
```
**Pros**:
- Allows for optional dependencies.
- Can be useful when you need to change dependencies after bean creation.
## **3 . Field Injection**:
```
@Servicepublic class MyService { @Autowired private MyRepository myRepository;}
```
**Pros**:
- Simplifies the code by reducing boilerplate.
**Cons**:
- Difficult to test.
- Harder to see the required dependencies.
- Violates the principle of immutability.
## Why Spring Might Not Recommend `@Autowired` Anymore
1. **Constructor Injection Preferred**:
- **Explicit Dependencies**: Constructor injection makes it clear what the dependencies are, improving readability and maintainability.
- **Immutability**: Encourages immutability by ensuring that dependencies are final and cannot be changed after bean creation.
- **Ease of Testing**: Makes unit testing easier since dependencies are passed in through the constructor, allowing for easier mocking.
**2\. Field Injection Downsides**:
- **Hidden Dependencies**: Dependencies are not explicit in the classs constructor, making it harder to understand the required dependencies at a glance.
- **Testing Difficulty**: It is more difficult to inject mock dependencies into private fields for unit tests.
- **Reflection Use**: Requires the use of reflection to set private fields, which can have performance implications and complicate debugging.
**3\. Setter Injection Use Cases**:
- **Optional Dependencies**: Setter injection is useful when some dependencies are optional and not required for the beans initial creation.
- **Configuration Changes**: Allows changing dependencies after the bean has been created, which can be useful in certain scenarios.
## Conclusion
While `@Autowired` is still commonly used and perfectly valid, Spring's evolving best practices lean towards constructor injection for the reasons mentioned above. Constructor injection leads to better designed, more maintainable, and testable code by making dependencies explicit and encouraging immutability.
@@ -1,82 +0,0 @@
---
title: "Still using the You are an expert… AI prompt"
source: "https://generativeai.pub/still-using-the-you-are-an-expert-ai-prompt-3a22215ae188"
author:
- "[[Pranav Mehta]]"
published: 2024-10-12
created: 2024-10-29
description: "Ive been using AI for a while now. And I see people around me not utilizing the power of generative AI to the fullest. Every other day, I find new use cases of generative AI that help me to increase…"
tags:
- "clippings"
---
## 11 creative ways I use AI that are honestly useful
[
![Pranav Mehta](https://miro.medium.com/v2/resize:fill:88:88/1*ccO4uRZYkLxVLQ6YmnNC2A.jpeg)
](https://medium.com/@pranav0123.pm?source=post_page---byline--3a22215ae188--------------------------------)
[
![Generative AI](https://miro.medium.com/v2/resize:fill:48:48/1*M4RBhIRaSSZB7lXfrGlatA.png)
](https://generativeai.pub/?source=post_page---byline--3a22215ae188--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*GJd_OCgbg98i9BXcAQwuTA.jpeg)
Created using [Meta.ai](https://www.meta.ai/)
Ive been using AI for a while now. And I see people around me not utilizing the power of generative AI to the fullest. Every other day, I find new use cases of generative AI that help me to increase my productivity and knowledge while saving time and effort. Here are a few uncommon but useful ways to use AI.
**1\.** ==**Find the right medicine:**== When you are sick, take a photo of all your medicine blister packs and ask ChatGPT to recommend the right one for your symptoms.
**2\. Reduce hallucinations:** At the end of your question, add, “*Do a web search and then reply.*” This forces generative AI to give accurate answers.
![](https://miro.medium.com/v2/resize:fit:700/1*OmGpbViKjuc2UJxmdzcAMw.jpeg)
Screenshot by the author using ChatGPT
**3\. Apply the Feynman technique:** After AI explains a concept, summarize the same concept simply in your own words and ask “*Correct*?” AI will correct you if necessary. This method makes learning so much more engaging and also increases retention.
**4\. Convert photos to text:** This helps save a lot of time, even though there are so many tools available on the web. Using ChatGPT for this task on my phone is very convenient.
**5\. Embrace the TL;DR:** This is a no-brainer. You can use this prompt for a lot of things. Summarize code, texts, emails, book pages, news, articles, and many other things throughout the day.
==**6\. Apply the Pareto Principle:**== ==The 80/20 rule is a great way to learn new concepts. Example usage. “====*I want to learn \[topic\]. Use the Pareto*== ==Principle== ==*(80/20 rule) to create a course for me.*====”.==
![](https://miro.medium.com/v2/resize:fit:700/1*whxl53wWA0WBG4BSauyDDw.png)
Screenshot by the author using ChatGPT
**7\. Ask for movie recommendations:** Ask AI to give spoiler-free movie recommendations with reviews based on your preferred genres, actors, languages, etc.
**8\. Use for web searches:** Instead of going to Google, Ask ChatGPT to find something on the web to bypass SEO-optimized articles and get relevant information quickly.
**9\. Rate my work:** Ask ChatGPT to rate anything. This is the prompt you can use for it. “*Rate the above \[article\] in different aspects and suggest how I can improve it in those areas.”* I use it to rate my code, articles, understanding, etc.
![](https://miro.medium.com/v2/resize:fit:700/1*wXm-8cdVwd8SzwzcjdaI_w.png)
Screenshot by the author using ChatGPT
**10\. Keep it short:** Add, **“***Give brief, clear answers that include all key details. Be concise but informative.***”** at the end, to get better answers.
**11\. Enable Incognito mode:** ChatGPT has an option for temporary chat. When enabled, your data will not be saved in history and wont be used to train the models.
![](https://miro.medium.com/v2/resize:fit:366/1*Xrkbt-PN90zfrzPISvp0Gg.png)
Screenshot by the author using ChatGPT
## Conclusion:
Its impossible to write an exhaustive list of unique use cases of ChatGPT. So feel free to comment and let me know what unique and creative ways you can use generative AI that other people might not be using. I am eager to learn more, and I am sure others are too.
***Tap the clap*** 👏 ***button 50 times if you enjoyed my story!***
![](https://miro.medium.com/v2/resize:fit:700/0*Du7V61mEX_yIrfmF.png)
This story is published on [Generative AI](https://generativeai.pub/). Connect with us on [LinkedIn](https://www.linkedin.com/company/generative-ai-publication) and follow [Zeniteq](https://www.zeniteq.com/) to stay in the loop with the latest AI stories.
Subscribe to our [newsletter](https://www.generativeaipub.com/) and [YouTube](https://www.youtube.com/@generativeaipub) channel to stay updated with the latest news and updates on generative AI. Lets shape the future of AI together!
![](https://miro.medium.com/v2/resize:fit:700/0*pvLAT3it1FkdhVU0.png)
@@ -1,146 +0,0 @@
---
title: "Stop Doing This Or Nobody Will Understand Your Code"
source: "https://medium.com/coding-beauty/methods-vs-properties-077cf44e972b"
author:
- "[[Tari Ibaba]]"
published: 2024-10-16
created: 2024-10-29
description: "This rule doesnt just apply to async tasks, it applies to any long-running action, synchronous or not: It doesnt just modify the backing _fullness field -- it changes multiple other fields. This…"
tags:
- "clippings"
---
[
![Tari Ibaba](https://miro.medium.com/v2/resize:fill:88:88/1*hrkjW77qwMoev9kLXYZg5w.png)
](https://medium.com/@tariibaba?source=post_page---byline--077cf44e972b--------------------------------)
[
![Coding Beauty](https://miro.medium.com/v2/resize:fill:48:48/1*ViyWUoh4zqx294no1eENxw.png)
](https://medium.com/coding-beauty?source=post_page---byline--077cf44e972b--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*f1tKna6bzPXw_tFhKgyzJQ.png)
I was coding and stumbled upon something really disappointing the other day.
Do you see it? 👇
![](https://miro.medium.com/v2/resize:fit:700/0*pmjV4iNa3VGiiVyd.png)
Lets zoom in a bit more:
This line:
![](https://miro.medium.com/v2/resize:fit:700/0*GcpguHAAHvH7IVYl.png)
Please dont do this in any language.
Dont `await` properties.
Youre destroying your code readability and ruining the whole concept of OOP.
Properties are features not actions.
They dont **do** like methods. They are.
They are data holders representing states of an object.
Simple states:
![](https://miro.medium.com/v2/resize:fit:700/1*AWABHQ9Gd4P1JfFsFhP_Vw.png)
Derived states — what getters are meant for:
![](https://miro.medium.com/v2/resize:fit:700/1*5yuHUzOTjaZFSz5xw9Brig.png)
But the `status` property was returning a Dart `Future` -- JavaScript's `Promise` equivalent:
❌Before:
![](https://miro.medium.com/v2/resize:fit:700/1*tJBCnpjKBlNVHqPl0ecA0A.png)
It would have been so much better to use a method:
✅ After:
![](https://miro.medium.com/v2/resize:fit:700/1*Ze0EpXUQ7rvxA3nulolKyQ.png)
And now `async/await` can make things even more intuitive:
![](https://miro.medium.com/v2/resize:fit:700/1*7Jeaf91hcrf8k07Sl-CdyA.png)
But guess what happens when you try `async/await` with properties?
![](https://miro.medium.com/v2/resize:fit:700/0*edX2V83w7j2cLAix.png)
Exactly. Its a **property**.
This rule doesnt just apply to `async` tasks, it applies to any long-running action, synchronous or not:
❌ Before:
![](https://miro.medium.com/v2/resize:fit:700/1*wyceIwJF4Xh-EOEKw5CEJw.png)
✅ After:
Let them know that the action is expensive enough to deserve caching or variable assignment:
![](https://miro.medium.com/v2/resize:fit:700/1*ipKw5sSjHKJqYfywMgwVwQ.png)
But sometimes it still doesnt deserve to be a property with this.
Check this out — do you see the issue with the `level` setter property?
![](https://miro.medium.com/v2/resize:fit:700/1*VNCORz5DHhxsD6Vb1C5BDA.png)
It doesnt just modify the backing `_fullness` field -- it changes multiple other fields. This doesn't make sense as a property, as data.
Its affecting so much aside from itself.
**It has side-effects.**
Setting this property multiple times modifies the object differently each time.
![](https://miro.medium.com/v2/resize:fit:700/1*inyAYftsfI5Iuwzu9PatAA.png)
So even though it doesnt do much, it still needs to be a method.
## Name them right
Natural code. Coding like natural language.
So always name the properties with nouns like weve been doing here.
But you see what we did when it was time to make it a property?
We made it a verb. Cause now its an action that does something.
![](https://miro.medium.com/v2/resize:fit:700/1*hDM-y6OtRs3eSWoM5Wg1dw.png)
Nouns for entities: variables, properties, classes, objects, and more.
Not this:
![](https://miro.medium.com/v2/resize:fit:700/1*hZ0OuKdG3ppwK_oMOBoS4Q.png)
But this:
![](https://miro.medium.com/v2/resize:fit:700/1*LOwexu-HkZKIG096SOKeSA.png)
Verbs for actions: functions and object methods.
## Key points: when to use a method vs a property?
Use a property when:
- The action modifies or returns only the backing field.
- The action is simple and inexpensive.
Use a method when:
- The action modifies multiple fields.
- The action is async or expensive.
All for clean, readable, intuitive code.
@@ -1,204 +0,0 @@
---
title: "The 1980s hoax that Dungeons & Dragons was Satanic was launched by a lying mother"
source: "https://medium.com/belover/in-the-1980s-a-woman-spread-a-hoax-that-dungeons-dragons-is-satanic-cb8da5614132"
author:
- "[[Jonathan Poletti]]"
published: 2024-07-08
created: 2024-10-29
description: "Over and over, she told her heart-rending story. Her son Bink had killed himself while under the influence of a board game called Dungeons & Dragons. She learned it wasnt a game at all, but a…"
tags:
- "clippings"
---
## The sad story of Patricia Pulling
[
![Jonathan Poletti](https://miro.medium.com/v2/resize:fill:88:88/1*cvtZw7tlludmg5YCPF98fQ.png)
](https://medium.com/@belover?source=post_page---byline--cb8da5614132--------------------------------)
[
![I blog God.](https://miro.medium.com/v2/resize:fill:48:48/1*CRP9plROyn-_H4Hn4X5oew.jpeg)
](https://medium.com/belover?source=post_page---byline--cb8da5614132--------------------------------)
## Throughout the 1980s, she was a well-known public figure: the heroic mother fighting a board game. She was on talk shows, in newspaper profiles, and her memoir was at a bookstore near you.
Over and over, she told her heart-rending story. Her son Bink had killed himself while under the influence of a board game called *Dungeons & Dragons*. She learned it wasnt a game at all, but a portal to Hell itself.
There was more to learn about Patricia Pulling.
## She returned so often to that dark, terrible night.
It was June 9, 1982, in Montpelier, Virginia. She and her husband had eaten out, and come home to see the house was dark. The front door was open.
What was going on? They parked, as she got out, and saw Bink stretched out on the grass. His eyes were just staring at her.
She realized: her teenage son was dead.
## Had Bink been murdered?
She rushed to the neighbors house to call the police, and came back to find a crowd gathered around her sons body. They tried to keep her away, but she broke through.
> “I fell down inches from his face and reached out to touch his hair. I lay there on the ground and would not move. I did not want to leave my son.”
She wasnt even that religious, but heard herself screaming: “God, why did You do this to me, to my son, to us? We dont deserve this! Why?”
Im reading here from Pullings 1989 [memoir](https://openlibrary.org/works/OL16477139W/The_Devil%27s_web?edition=ia%3Adevilswebwhoisst00pull), *The Devils Web: Whos Stalking Your Children for Satan.* She narrates being told that her son had shot himself in the heart — using her own gun.
## The detective went through Binks school books and papers, then asked a strange question.
How surprised she was to hear it! “Mrs. Pulling, are you or your husband devil worshippers?”
She replied that, no — she was Jewish.
Bink had left a suicide note. “Dear Mom and Dad,” it began, as he went on to confess how evil he had become — Hitler, Antichrist-type evil. He was hearing voices, he said, and was being told to commit murder, but was choosing to end his own life instead.
## She went through Binks effects, shocked.
She writes: “We found violent, sadistic poems among the papers, poems that appeared to have been written by a demented person.”
Some were school assignments! — graded with an A, and with a teachers critiques. Hed played this game in class! Then there were books with demons on the covers, and titles like *The Dungeon Masters Guide.*
She learned Bink played the game on his last day of life. And she learned that Bink had received in the game some kind of death curse. Shed found the text in his papers. It read:
> “Your soul is mine. I choose the time. At my command, you will reave the land. A follower of evil, a Killer of man.”
## She set out to learn more about this evil game.
Before long she became aware there was groups of players of *Dungeons & Dragons*. There were Dungeon Masters to serve as the deity to a fantasy world full of magic and a lot of violence. It was scary.
The idea was floating around that Dungeons & Dragons was a portal to the demonic realm. That seems to have owe to a news event in 1979, when a college student at Michigan State University named James Egbert disappeared from campus for a month. His parents launched a search that became a media event. His playing *Dungeons & Dragons* was noted.
It turned out that Egbert was gay and hiding from his parents, but the idea took hold that the board game was a portal to Hell. A 1981 novel, *Mazes and Monsters*, was quickly published to capitalize on the idea. In 1982, a T.V. movie resulted. It was the actor Tom Hanks first starring role.
## But there was no personal face on the idea.
Or not until Patricia Pulling came along. After Binks death, she said, she became immersed in D&D culture. She joined a group of young men who played the game. She writes: “We played for several hours a day every day for a month.”
She saw they were full of “devotion” and “loyalty,” even “love” for *Dungeons & Dragons*. It felt like a “cult,” she reports.
Shed learned what she needed to know. She sued the high school principal for $1 million, and sued Tactical Studies Rules, or TSR, the company that made *Dungeons & Dragons*, for ten million.
Her lawsuits went nowhere, as she launched a group that became a famous 1980s-era reference, B.A.D.D., or Bothered About *Dungeons & Dragon*s. A case developed in the media that many young people who played the game had died, of suicide or under suspicious circumstances.
## She did the whole talk show circuit
Patricia Pulling was on *Geraldo, Sally Jesse Raphael, Donahue.* She was on CBSs *60 Minutes.* She told the story of her beautiful son ensnared by the powers of evil.
“Your son was well-adjusted?” the *60 Minutes* reporter asks.
She replies: “Always. He had never had psychological problems.”
She displayed her photo of Bink, smiling in a white suit. It had been taken the night of the junior-senior prom, and seemed a vision of a happy teenager before *Dungeons & Dragons* got a hold of his soul.
## She often said that teenagers got in the occult and were killing themselves and others constantly.
Exactly how many were falling victim to otherworldly forces was unclear. Pulling called for a federal investigation, so they could find out.
She continued to blame Binks high school and his teachers for allowing this horror into his life. She [says](https://www.newspapers.com/image/244554009/?terms=%22patricia+pulling%22&match=1) in 1985: “To me, if hed been in positive channels, this wouldnt have happened.”
Her son, she kept saying, was “perfectly normal” until the game deranged his mind. “A child his age has no business delving in this,” as she said. “I have lost a 16-year-old child.”
## She had allies—like Tipper Gore, the wife of politician Al Gore.
Then there was Dr. Thomas Radecki. He was a psychiatrist and chairman of his own media awareness group, the National Coalition on Television Violence. They did many radio and T.V. appearances together.
“*Dungeons & Dragons* is essentially a worship of violence,” Radecki [says](https://www.newspapers.com/image/624568533) in a 1985 news story, adding: “The game is full of human sacrifice, eating babies, drinking blood, rape, murder of every variety, curses of insanity.”
In another [interview](https://www.newspapers.com/image/244554009/?terms=%22patricia+pulling%22&match=1), he adds: “kids are getting murdered because of this game.”
## They were famous—and effective.
*Dungeons & Dragons* became a rather touchy subject. The CBS channel had a Saturday morning cartoon based on the game. It was cancelled.
But the biggest impact was probably on Evangelical America, which instantly believed that Satan was trying to come through the board game to possess American teenagers. Patricia Pulling was on the *700 Club* many times. Evangelical organizations helped fund her lawsuits and projects.
## Evangelicals wrote more books to explain how evil Dungeons & Dragons really was.
An “occult researcher” named John Weldon had a religious bestseller in 1984 with *Playing With Fire.* Weldon was often [introduced as a Ph.D.](https://www.moodypublishers.com/authors/w/john-weldon/)—having gotten a kook degree at an unaccredited Evangelical seminary.
Ernest Cline, the novelist who later became famous with *Ready Player One,* would recall being an Evangelical teenager who played D&D. His mother gave him a copy of *Playing With Fire*, as he [recalls](https://www.lightspeedmagazine.com/nonfiction/interview-ernest-cline/):
> *“She thought that I was really going to try and collect spell components and cast spells and that it was meddling with witchcraft. I was meddling with powers I didnt understand.”*
He jokes: “That was a part of the appeal.”
## Dungeons & Dragons was actually very Christian.
Its primary inventor, Gary Gygax, [identified](http://playingattheworld.blogspot.com/2012/12/gary-gygax-on-christmas-and-christianity.html) himself as Christian, though more specifically, he was a Jehovahs Witness. An early collaborator, Dave Arneson, was a devout Christian.
Then the game was mostly an effort to bring to life J.R.R. Tolkiens *Lord of the Rings* novels. They are often considered very Christian. *Dungeons & Dragons* couldve easily been read as Christian, but it became the image of Satanism for a decade in Americas largest religion.
## TSR seemed dazed and ineffective against the Patricia Pulling media onslaught.
Then in 1985, they hired Dr. Joyce Brothers, the well-known media psychologist, to advocate for them. She [called](https://www.newspapers.com/image/336723498) *Dungeons & Dragons* “wonderful” since it was “cooperative” and not “competitive.”
Brothers presented D&D as a positive experience. Shed [explain](https://www.retroreport.org/transcript/tabletop-to-tablet-using-dungeons-dragons-to-combat-screen-addiction/): “There is good and evil in life and the way *Dungeons & Dragons* is set up is that good triumphs over evil.”
It became, then, a war between two Jewish women—observed raptly by Evangelical America.
## Patricia Pulling became an occult crimefighter.
She got a license as a private investigator and started giving speeches and “trainings” in locating occult involvement, telling police what clues to watch out for when investigating teenage deaths.
There was a lot of talk of Satanic cults and ritual sexual abuse in the air. She seemed like the warrior against it — the mother plunging into the dark abyss of Hell to save children from Satan.
## There were curious details along the way?
For her seminars shed reprinted a 1983 *Washington Post* profile of her story, but her reproduction had omitted several paragraphs. The newspaper had reported a few odd facts about Bink, like he:
> *“…had trouble fitting in and became dejected when he was unable to find a campaign manager when he ran for school office. Shortly before his death, he wrotes Life is a Joke on the blackboard of one of his classes, a classmate said.”*
A classmate was quoted remembering him: “He had a lot of problems anyway that werent associated with the game.”
## Patricia Pulling would admit her son had quirks.
Newspaper profiles did catch her with [oddly shifting details](https://www.newspapers.com/image/99069987):
> “Patricia Pulling said her son was considered a loner and that he liked to be alone in his room to read, usually history. But she said he also had many friends and dated girls often.”
On his last day at school, she added, she was told that Bink had [written](https://www.newspapers.com/image/340388596/?terms=%22patricia+pulling%22&match=1) on a test sheet: “This is the last paper I will ever write, GOODBYE.”
Just before dying, she said, hed been on the phone with a friend. “I have to go,” Bink said. “Youve been a good friend. Goodbye.”
## D&D enthusiasts began to investigate her.
And some further curious details were noticed. At her events for law enforcement, Patricia Pulling would say more about her sons life.
Shed sometimes display Binks papers from his *Dungeons & Dragons* play. Hed called himself Narthöl, and his personal insignia included a swastika*.*
A [transcript](https://limsk.tripod.com/pulling.htm) emerged of a speech shed given to law enforcement officers in 1986. She said that in the weeks leading up to Binks death, hed been doing some kind of werewolf thing, like hed:
> “…growled, screamed, walked on all fours, and clawed the ground. Nineteen rabbits raised by the Pullings were found torn to pieces in the last three weeks of his life, although stray dogs were never seen. A cat was found disemboweled with a knife.”
## There was more to learn about Bink Pulling.
In 2015, the scholar Joseph P. Laycock publisheed a study, [*Dangerous Games*](https://www.amazon.com/dp/B00RX4UVWI/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1)*: What the Moral Panic Over Role-Playing Games Says about Play, Religion, and Imagined Worlds.* A chapter on Patricia Pullings crusade was startling.
He interviewed one of Binks friends from school—a fellow D&D player. Laycock writes:
> *“According to this source, Bink only played D&D at school for a total of nine hours. In this persons opinion, Binks suicide had been an act of aggression toward his mother. Both of his parents had been having affairs before the suicide. Bink shot himself in the chest with a .38 caliber pistol that belonged to his mother, and his choice to commit suicide on the front porch appeared to be a deliberate attempt to shock and horrify his parents when they returned home.”*
## I write to Leycock asking if the impression Im getting is right.
He replies: “Yes, Pulling absolutely lied, misled, and prevaricated in the cause of B.A.D.D.”
He points to her story that she had played *Dungeons & Dragons* for many hours a day for a month to learn about it. As he notes, she later “lacked even a rudimentary understanding of what D&D is or how it is played.”
Scene after scene of Patricia Pullings supposed journey into the bowels of D&D Hell—she had just invented.
## She died of lung cancer in 1997.
An [obituary](http://www.kismetrose.com/antirpg/PullingObituary091997.html) reports on the many honors and awards shed received for her anti-occult work, without noting any of the critiques.
Her associate Thomas Radecki is still living. In 1992, his medical license was revoked for coercing female patients into having sex. He went on to run a rehab center that was found, in 2016, to be [trading opioids for sex](https://www.pennlive.com/news/2018/02/psychiatrist_convicted_in_drug.html).
The man who protested violence in a fantasy board game was, it turns out, a sexual predator. Hell be in prison until his death.
## It ends up being a story about a grieving mother who launched into a career in media hoaxing.
If Patricia Pulling had ever been trying to deal with grief, she quickly found other uses for her fictions.
Dr. Thomas Radecki saw a gig, and went along for the ride. They were both gamers, playing the world. 🔶
@@ -1,184 +0,0 @@
---
title: "The Grim History of Slut-Shaming"
source: "https://medium.com/grimhistorian/the-grim-history-of-slut-shaming-d053c5986801"
author:
- "[[Carlyn Beccia]]"
published: 2023-03-07
created: 2024-10-29
description: "On June 28th, 1887, on a warm summer evening, twenty-three-year-old Elizabeth Cass was strolling down Regent Street in London. New to the city, Elizabeth was heading towards a shop to buy a new pair…"
tags:
- "clippings"
---
## From Cleopatra to Charity Girls, sluts have always been dangerous creatures.
[
![Carlyn Beccia](https://miro.medium.com/v2/resize:fill:44:44/1*_tyrfjQ7mVi29Wj8ZE5gZg.jpeg)
](https://medium.com/@carlynbeccia?source=post_page---byline--d053c5986801--------------------------------)
[
![The Grim Historian](https://miro.medium.com/v2/resize:fill:24:24/1*6ZtkoT3YhdRngiywXbtL9Q.jpeg)
](https://medium.com/grimhistorian?source=post_page---byline--d053c5986801--------------------------------)
![The Grim History of Slut-Shaming](https://miro.medium.com/v2/resize:fit:665/1*lWm6FUVo2VEjGc5T2X8uCg.jpeg)
Gustav Klimt, Hygieia, Portion of Klimts painting Medicine, 19011907 | [Public Domain](https://en.wikipedia.org/wiki/Klimt_University_of_Vienna_Ceiling_Paintings#/media/File:Klimt_hygeia.jpg)
On June 28th, 1887, on a warm summer evening, twenty-three-year-old Elizabeth Cass was strolling down Regent Street in London. New to the city, Elizabeth was heading towards a shop to buy a new pair of gloves. As she walked, she couldn't help but feel like someone was watching her.
As Elizabeth made her way through the bustling crowds, she suddenly felt a vice grip on her arm. She spun around and faced a tall menacing police officer.
"I want you," said PC Bowden Endacott.
At first, Elizabeth was indignant. What right did this police officer have to manhandle her?
But Endacott was not just any police officer. He was a zealous enforcer of The Contagious Diseases Act, which allowed officers to arrest women suspected of prostitution. Endacott reputedly arrested three or four (alleged) prostitutes a week.
The Contagious Diseases Act was first passed in 1864 by UK Parliament to prevent venereal diseases within the armed forces. [According to hospital records](https://www.gutenberg.org/files/63415/63415-h/63415-h.htm#Prostitution_in_London), one in five army men was infected with syphilis alone. With such high numbers, Parliament became desperate to contain its spread.
Consequently, the legislation allowed police officers to arrest women suspected of prostitution. Once arrested, the women endured invasive medical examinations, and if they were found to be infected, would be confined in a lock hospital until they recovered — sometimes for as long as a year.
Men, on the other hand, were never arrested or detained for soliciting prostitutes or for having venereal diseases.
Endacott claimed to have been watching Elizabeth from afar before he accused her of soliciting. Of course, Elizabeth couldn't understand how a young woman shopping alone on Regent Street could be mistaken for a prostitute. As she was dragged away by the officer, she had no idea what fate awaited her.
Elizabeth was taken to the police station, where she was to be detained overnight. Fortunately, her employer, Madame Bowman, spoke up for Elizabeth, vouching for her respectability. The charges were dismissed.
![](https://miro.medium.com/v2/resize:fit:700/1*9offZAS9nLS0XktARQLmAw.png)
The *Swell's Night Guides,* [*Public Domain*](https://www.bl.uk/collection-items/the-new-swells-night-guide)
Elizabeth was lucky. But thousands of other women yanked off the streets were not.
The case left a lasting impact on public opinion and shined a harsh black light on the mistreatment of working-class women by the Metropolitan Police. It also threw gasoline on a debate that is as common today as it was in Victorian London — was an unchaperoned woman navigating a dangerous public space asking for trouble? And if a woman wanted to walk alone, did she first need to conform to the ideals of respectability?
Of course, the notion that a woman must "conform to the ideals of respectability" has a different name today — slut shaming.
> “Death is the fairest cover for her shame.” — Much Ado About Nothing, Act 4 Scene 1
## The First Sluts Were Not Sexualized
Centuries ago, the word "slut” had a very different meaning. It referred to a woman who was dirty, untidy, or lazy. Chaucer even used "sluttish” to describe men, but it was primarily used to shame lower-class women who didn't keep up with their domestic responsibilities. For example, the phrase "slut's pennies" described the hard knots in bread from a housewife's poor kneading, and "slut's wool" was the dust left on the floor. So, essentially, if you didnt keep your bread kneaded and your house clean, you were a slut.
This association with untidiness continued for centuries, even up to the eighteenth century when Samuel Johnson's dictionary defined a slut as a lazy housekeeper. In the nineteenth century, it also described dirty animals like dogs or pigs.
It wasn't until the 1960s that "slut” took on its current meaning of a sexually amoral woman.
Today, when someone calls a woman a slut, it's not because she is dirty or undomesticated. It's because she's dared to take pleasure from her sexuality.
Throughout history, sluts have been dangerous creatures. A slut dressed provocatively, spoke candidly, and sated her sexual appetite. But that brazenness often came at a price — public condemnation, loss of social status, and sometimes even death.
![](https://miro.medium.com/v2/resize:fit:700/1*AI5HNgyjTyOVrSEHSLZXqQ.jpeg)
Leighton-The Fisherman and the Syren-c. 18561858 | [Public Domain](https://en.wikipedia.org/wiki/The_Fisherman_and_the_Syren#/media/File:Leighton-The_Fisherman_and_the_Syren-c._1856-1858.jpg)
## Those Siren Temptresses of Antiquity
In Ancient Rome, there were some serious double standards surrounding sex. In 18 BC, Emperor Augustus became Rome's morality police and passed Lex Julia or “Julian Laws,” making adultery a crime. Cheating wives could be publicly shamed, exiled, or even put to death.
And who was responsible for doling out the punishment? Well, if you were a daughter, your dear old dad had that honor. Husbands were instructed to divorce their adulterous wives instead of going straight for the kill, but the courts tended to be pretty lenient if a husband lost his temper.
Now, if a husband strayed, his wife couldn't defame his character or bring him to court. Later laws allowed wives to quietly divorce cheating husbands, but men faced far less severe financial consequences than women did.
Julian Laws also affected men's attitudes toward women. Since women were seen as the gatekeepers of sexual morality, men began to view them with suspicion and even contempt. This attitude was reflected in Roman literature, where women were often portrayed as jezebels who led men astray or, worse, as ruthless Deliahs, cutting away men's virility.
But sluts were not only feared because they led men out of Eden. ==Sluts were feared because they conquered Eden.== Cleopatra cemented her power through brilliant statecraft, but she is remembered as a manipulative she-devil who used her feminine wiles to control Julius Caesar and Mark Antony, ultimately leading to their downfall. In fact, Cleopatra's seductive powers were so potent that she was often blamed for the destruction of the Roman Republic. Now, that's one femme fatale.
## Shame. Shame. Shame…Those Medieval Mavens
In times of yore, the Church had a whole list of sins considered major no-nos. These sins were divided into two categories: venial sins and mortal sins. Venial sins were the lesser of the two evils and included things like lying, gossiping and being a bit of a glutton. Mortal sins, on the other hand, were the biggies — the ones that could send you straight to hell in a handbasket if you didn't confess and repent.
And guess what sin was at the top of that list? You guessed it — sex or what the Church called "carnal sin."
Now, couples could get frisky, but they had to do it within the bounds of holy matrimony with the sole purpose of procreating. Pre-marital sex, adultery, and even a little bit of self-love were not condoned.
The Church had some especially whacked beliefs about the world's oldest profession. On the one hand, it begrudgingly accepted that prostitution was a necessary "boys will be boys" evil. But, it also wanted to keep a tight leash on people's sex lives to maintain its moral high ground.
The solution? Public shaming. Well, public shaming of women, that is. Women of ill repute were made to traipse through the streets wearing striped hoods and holding white rods as symbols of their licentiousness.
But for repeat offenders, punishments were more severe. Those brassy strumpets were stripped naked and forced to ride a horse backward, facing its hindquarters — the ultimate symbol of shame back then. Apparently, looking at an ass made you an ass.
![](https://miro.medium.com/v2/resize:fit:700/1*VYEYog2jGaOtRpK4fEbWqg.jpeg)
Wright, Thomas, 18101877 | [Public Domain](https://wellcomecollection.org/works/pez53rd9/images?id=murd2tpn)
The punishments were also creative for societal ladies who flouted morals. Those women were forced to confess their carnal sins to a congregation while wearing a white garment symbolizing their shame and a white paper mitre with their sins written on it.
Other times promiscuous women were locked up in a convent to atone for their sins. And if a woman had a child out of wedlock, society shunned her for the rest of her life.
Now, let's talk about the guys. Horny men were still punished but weren't treated as harshly as women. How could they be? It was the harlot's fault for tempting the man. Or so the logic went.
One common punishment for randy men was to go on a pilgrimage to a holy site. They might also be excommunicated from the Church, but this was less common than it was for women.
So to recap. Promiscuous men were sent on vacation. Promiscuous women were sent to a nunnery.
## Much To Do About Dancing
By the sixteenth century, slut-shaming was as commonplace as head lice and questionable medical practices. Even Shakespeare got in on the action with plays that highlighted the fallen woman trope.
Outside of literature, women suspected of being unchaste were forced to undergo a physical examination to determine their virginity. This examination could involve a male physician inserting his fingers into the woman's vagina to check for the presence of a hymen — a test that does not indicate if a woman has had penetrative sex.
Furthermore, women who engaged in pre-marital sex could be publicly whipped, branded, or even sentenced to death. Often these women's sexual powers were so feared that they were accused of sorcery (aka witchcraft). Even today, seductive women are still described as "beguiling, bewitching, or enchanting" — words that imply a woman's sexuality is wicked.
Young adults fought back against the stigmatization. In Puritanical America, young people skirted sexual mores with "junketing." With junketing, a group of girls and boys gathered to laugh, dance, tell bawdy jokes, and sometimes engage in sexual hi-jinx.
But it was the dancing part that really got authorities thumping their bibles. Salems Puritan preacher, Increase Mather, warned his followers that dancing was basically the gateway drug to sin. He claimed that the body's very motion while dancing was inherently evil. He even went so far as to claim that dancing was "a recreation fitter for pagans and whores and drunkards than for Christians." Yikes. That makes *Footloose* look tame.
![](https://miro.medium.com/v2/resize:fit:700/1*Fjk5brNJhfAGtSswUuPZpw.jpeg)
The Crush, Charles Dana Gibson, 1901 | [Public Domain](https://en.wikipedia.org/wiki/Gibson_Girl#/media/File:The_Crush,_Gibson.jpg)
## The Advertising Campaign that Made Society Fear Sluts
At the turn of the twentieth century, society continued to have rigid ideas about sex.
But as morals loosened, there came a new tool to control sexual behavior — the Social Hygiene Campaign. Now, that might sound like a fancy way to scrub your kitchen counters, but this was a different kind of hygiene. The idea was that if folks kept their pants on, they would avoid all sorts of trouble and prevent venereal diseases from spreading like wildfire.
At the time, soldiers returning from World War I brought back with them not only scars and memories but also syphilis and gonorrhea. These diseases were highly contagious and, before the discovery of antibiotics, could cause serious health problems and death.
Unfortunately, the campaign quickly turned into your typical witch-hunt. Just like the Contagious Diseases Act of the previous century, authorities didn't need any evidence to drag a woman in for testing. Even something as innocuous as flirting with a soldier could get you in hot water. In one Louisiana town, a woman was forced to undergo a gynecological exam for dining alone in a restaurant. If a lady was foolish enough to eat alone, she must have a syphilitic brain.
Women of color were especially targeted. At the time, the medical community taught that non-white women were less moral and more likely to carry venereal diseases — a belief that persisted for decades.
![](https://miro.medium.com/v2/resize:fit:700/1*4ddxZ4BLFeafc8HeFpo2mA.jpeg)
*Life Magazine* cover "The Flapper" by Frank Xavier Leyendecker, February 2nd, 1922| [Public Domain](https://en.wikipedia.org/wiki/Flapper#/media/File:The_Flapper_by_Frank_Xavier_Leyendecker.jpg)
## Charity Girls: The First Hookup Culture
The 1920s were a time of social upheaval in America. Women finally gained the right to vote, and with that newfound power came shorter hemlines and longer nights out. Prohibition only added to the madness, creating secret speakeasies and underground drinking establishments that fueled rebellion and excitement. Where there's drunkenness, there's debauchery.
The term "dating" entered the lexicon around this time, and young women who dated boys were called Charity Girls. These ladies basically exchanged their company for a meal or a movie ticket. They were often from working-class backgrounds and were unapologetic in their pursuit of pleasure, drawing the ire of many who viewed them as immoral and responsible for spreading venereal diseases. Because, of course, if you're having fun, you must be spreading disease.
To crack down on those frisky teens, President Wilson launched "purity campaigns" to warn young men about the dangers of venereal diseases. They went so far as to close down red-light districts and create "moral zones" around military training camps where women of ill repute were not allowed.
![](https://miro.medium.com/v2/resize:fit:512/1*2IVzyZ0cUwWznBxZl-FsRg.jpeg)
World War II public health posters, between 19421945 | [Public Domain](https://catalog.archives.gov/id/516062)
Altogether, about 30,000 women were detained. Some were let go immediately. More than 18,000, however, were interned in federally financed facilities and subjected to forced medical treatment. Most historians believe the number of those detained was far more significant than federal records suggest because uncounted numbers of women were interned in local facilities.
And since penicillin was not discovered yet, substances like mercury, arsenic compounds, iodine, and silver nitrate were used. These treatments caused horrible side effects — tremors, insomnia, memory loss, neuromuscular effects, headaches, and cognitive and motor dysfunction.
I recently watched a disturbing video montage of all the celebrities who slut-shamed Britney Spears throughout her career. Most unsettling was a 2004 interview in which singer Avril Lavigne said Britney Spears dances "like a ho."
I found it ironic that a woman who branded herself as a tough, stick-it-to-the-patriarchy feminist would publically disparage a fellow artist for her sexuality.
But here we are. And while our knee-jerk reaction is to blame slut shaming on a history of male oppression, women's hands are not clean.
Today, when women are slut-shamed, they are not burnt as witches or imprisoned in hospitals, but they do experience feelings of self-doubt, as well as social alienation and bullying. More gravely, they may face sexual harassment and assault. By shaming women for their sexuality, we reinforce the idea that women are mere objects to be controlled and subjugated.
Recently, feminists have tried to reclaim the word slut with "slutwalks” and the anti-GOP Rock the Slut Vote political movement. Their efforts feel like a punchline to a joke no one gets. Women still must remain vigilant of how we take up space in public spheres, and society still promotes a hypersexualized ideal of beauty while warning women not to give men "the wrong idea."
You cant change the meaning of a word when a word is this loaded with meaning.
Of course, language is a chimeric beast. Meanings expand, contract, and take on new forms. But let's not pretend that calling your friend a "slut” or “ho” as a term of endearment tames this dragon.
Or better yet, next time you castigate a woman for how she dresses, dances, or speaks, remember all the persecuted women throughout history who fought for the freedom to express their sexuality. They were the real powerful sluts.
## More from Carlyn Beccia:
## To read more, please visit my affiliate link. A portion of your Medium subscription supports my work:
@@ -1,173 +0,0 @@
---
title: "The Nordic Model is Not A Socialist Model, It is Capitalist."
source: "https://medium.com/the-simulacrum/the-nordic-model-is-not-a-socialist-model-it-is-capitalist-bbe828d17a8a"
author:
- "[[Freedom Preetham]]"
published: 2024-01-06
created: 2024-10-29
description: "The Nordic countries — Sweden, Norway, Denmark, and Finland — are frequently cited in discussions on socialism, but this representation is a significant misinterpretation of their actual economic and…"
tags:
- "clippings"
---
[
![Freedom Preetham](https://miro.medium.com/v2/resize:fill:88:88/1*gE7PqH6J8xPkBHjJPVoLiw.jpeg)
](https://medium.com/@freedom2?source=post_page---byline--bbe828d17a8a--------------------------------)
[
![The Simulacrum](https://miro.medium.com/v2/resize:fill:48:48/1*kpDA1hybYpfqfZspnLknLA.jpeg)
](https://medium.com/the-simulacrum?source=post_page---byline--bbe828d17a8a--------------------------------)
The Nordic countries — Sweden, Norway, Denmark, and Finland — are frequently cited in discussions on socialism, but this representation is a significant misinterpretation of their actual economic and social systems. This extensive exploration aims to dissect the Nordic model in-depth, revealing its capitalist core, sophisticated use of tax revenues, and the nuanced reasons behind its common mislabeling as socialism.
Repeatedly, the leaders of Nordic nations have declared their commitment to capitalism and a free-market economy, distancing themselves from socialism. Despite these clear statements, there continues to be a recurring trend where individuals incorrectly label these countries as examples of socialist models. This persistent mislabeling overlooks the explicit economic stances these countries have taken, leading to a distorted understanding of their actual economic systems.
The best you can do is call it a Social Democracy based on Capitalism.
**Capitalism Blog Series:**
[Part 1 — Capitalism and Human Welfare: History, Profit, Ethics](https://medium.com/the-simulacrum/part-1-capitalism-and-human-welfare-history-profit-ethics-82a56d3ff97e)
[Part 2 — Capitalism in the Contemporary World: Types and Nuances](https://medium.com/the-simulacrum/part-2-capitalism-in-the-contemporary-world-types-and-nuances-b2a9f67d113c)
[Part 3 — Capitalism in the Age of Artificial General Intelligence (AGI)](https://medium.com/the-simulacrum/part-3-capitalism-in-the-age-of-artificial-general-intelligence-agi-eea05c60e42c)
## Social Welfare is NOT Socialism!
In contemporary discourse, the terms social welfare and socialism are often intermingled, leading to a pervasive misunderstanding of their distinct natures. I want to delineate these concepts with precision, underpinning the argument with factual and theoretical evidence.
==Social welfare refers to a system where the government undertakes the responsibility to provide certain basic services and support to its citizens. This includes initiatives like healthcare, education, unemployment benefits, and public housing. The primary objective of social welfare is to enhance the living standards of individuals, particularly those in need, thereby ensuring a baseline of equality in access to essential services.==
On the other hand, socialism is an economic and political ideology that advocates for the ownership and regulation of the means of production by the community as a whole. In its purest form, socialism seeks to redistribute wealth more equally among the population, often through more radical means than social welfare policies. The focus of socialism extends beyond providing basic services to a complete restructuring of the economic system to eliminate private ownership of capital.
![](https://miro.medium.com/v2/resize:fit:700/1*U7yOlTYWNWtXo_FJ4j-rXQ.png)
The crucial distinction lies in the approach and scope. Social welfare does not necessitate a fundamental change in economic structures or the abolition of private property. Instead, it operates within the existing capitalist framework, using mechanisms like taxation to fund services and benefits. Socialism, conversely, involves a comprehensive overhaul of the economic system towards collective ownership.
Understanding this distinction is vital for informed discourse on public policy. While social welfare seeks to mitigate the inequalities inherent in a capitalist system, socialism proposes a different economic system altogether. Misconstruing these concepts not only leads to semantic confusion but also hinders constructive policy discussions.
## Socialism vs Communism
Communism represents the most extreme form of socialism, characterized by a complete elimination of class distinctions and the absence of private ownership. In this system, the society collectively owns all property and resources, aiming for a classless societal structure.
Socialism, while also emphasizing collective ownership, permits some small degree of private ownership. In a socialist system, the state predominantly controls industries, services, and properties, yet class structures still exist.
The fundamental distinction between these two ideologies and Capitalism is that Socialism (hence by extension Communism) do not support a free-market economy where the majority of property, services, and industries are privately owned.
## A Brief History
The Nordic model, as we understand it today, evolved over several decades, primarily in the post-World War II era. Its development can be traced back to the late 1930s and early 1940s, with significant advancements occurring during the 1950s and 1960s. The model is characterized by its unique combination of a comprehensive welfare state and a capitalist market economy, and its development was influenced by various social, political, and economic factors unique to the Nordic countries (Sweden, Norway, Denmark, Finland, and Iceland).
Key Historical Milestones:
**1930s-1940s: Foundations of the Welfare State**
- In the 1930s, the Nordic countries began developing social policies that laid the groundwork for their future welfare states. This period saw the introduction of various social insurance schemes and labor market policies.
- During and after World War II, there was a strong push towards social solidarity and economic stability, which accelerated the development of welfare policies.
**1950s-1960s: Expansion of Welfare Programs**
- The post-war economic boom in Europe provided the necessary resources for the expansion of social welfare programs.
- In the 1950s and 1960s, Nordic governments, many led by social-democratic parties, implemented policies such as universal healthcare, free education, and extensive social security systems.
**1970s: Maturation of the Welfare State**
- By the 1970s, the Nordic model had matured, with a comprehensive set of welfare programs firmly in place. This period also saw increased government intervention in the economy and high levels of taxation to fund the welfare state.
**1980s-1990s: Economic Challenges and Reforms**
- In the 1980s and 1990s, the Nordic countries faced economic challenges, including inflation, rising unemployment, and fiscal deficits. These challenges prompted a series of reforms to make the welfare state more sustainable, including deregulation, privatization, and welfare reform.
**21st Century: Continued Evolution**
- In the 21st century, the Nordic model has continued to evolve, balancing welfare policies with economic competitiveness. The countries have focused on maintaining high levels of labor force participation, innovation, and adapting to globalization.
## Understanding the Nordic Capitalist Foundation
Now coming to the Nordic Model, beneath the veneer of extensive social programs lies a dynamic capitalist economy, characterized by private ownership, open markets, and a competitive global stance.
- Private Sector Dominance: The Nordic countries are powerhouses of private enterprise. Volvo and Ericsson from Sweden, Nokia from Finland, and Maersk from Denmark exemplify their global corporate success, underscoring the capitalist nature of these economies.
- Innovation and Global Market Integration: These nations are not isolated socialist paradises but are deeply integrated into the global economy. They actively participate in international trade and foster environments conducive to technological innovation and entrepreneurship. The rise of globally competitive startups in these regions, such as Spotify and Rovio Entertainment, underscores this point.
## The Welfare State and Taxation
The extensive social welfare programs in Nordic countries are often seen as hallmarks of socialism. However, they function within a fundamentally capitalist framework.
- Tax Revenue Allocation: High tax rates support a range of public services. These include not just healthcare and education but also substantial investments in public infrastructure, research and development, and social security systems. The effective use of these funds reflects a sophisticated approach to public finance that prioritizes societal well-being alongside economic growth.
- A Productive Welfare State: Unlike the redistributive goal of socialism, the Nordic welfare state is designed to enhance productivity. For example, Finlands focus on high-quality education creates a skilled workforce, driving innovation and economic competitiveness.
- Link: [Insights into the Tax Systems of Scandinavian Countries](https://taxfoundation.org/blog/scandinavian-social-programs-taxes-2023/)
## The Role of Government in a Capitalist Economy
The Nordic governments demonstrate how strategic state intervention can coexist with and even enhance a capitalist economy.
- Balancing the Market with Social Needs: While the market drives economic activity, the government intervenes to correct market failures and ensure social welfare. This includes regulations to promote fair competition and prevent monopolies, unlike socialist economies where the state often controls key industries.
- Sustainable Development: Environmental policies in these countries are a blend of regulatory frameworks and market-based solutions. For instance, Norways investment in electric vehicle infrastructure and Swedens carbon taxing system showcase how environmental concerns are addressed within a capitalist framework.
## Demystifying the Socialist Misconception
The misinterpretation of the Nordic model as socialist stems from a superficial analysis of its welfare policies.
- Economic Freedom: Despite their extensive welfare systems, these countries rank high in economic freedom indices, a feature inconsistent with socialist economies. This includes factors like business freedom, investment freedom, and property rights.
- Democratic Values and Individual Rights: In contrast to many socialist regimes, Nordic countries are characterized by their strong commitment to democracy, individual rights, and freedom of expression.
## Aging and Fertility Challenges
The aging population and drop in fertility in Nordic countries is presenting significant challenges to their welfare model. As the population grows older, theres an increased demand for healthcare and elderly care services, leading to rising costs and placing additional strain on healthcare systems.
![](https://miro.medium.com/v2/resize:fit:700/1*3iMIdgsgtYhQepBhHDOA9w.png)
source: [https://www.nordicstatistics.org/areas/demography/](https://www.nordicstatistics.org/areas/demography/)
Pension systems are also under pressure, with concerns about their sustainability due to the longer support required for an expanding elderly demographic. This demographic shift is leading to potential labor market shortages, as the working-age population decreases. In turn, this could result in slower economic growth, impacting the ability to generate sufficient tax revenues to fund welfare programs.
![](https://miro.medium.com/v2/resize:fit:700/1*Tz7ihpT1MFOhQm2HpQTKUQ.png)
Population in 2022 (by 1000s). Notice the rightmost blue line for 70+ age group. source: [https://www.nordicstatistics.org/areas/demography/](https://www.statista.com/statistics/1296262/nordics-total-population-age/)
To address labor shortages, immigration is seen as a potential solution, although it comes with integration challenges. Additionally, technological advancements and policy adaptations are being considered to manage these issues, such as encouraging older workers to remain in the workforce longer and utilizing digital healthcare solutions. The Nordic model, famed for its balance of welfare and economic efficiency, is thus facing a crucial test in adapting to these demographic changes.
## Why the Nordic Model May Face Challenges in Other Geographies?
In addition to cultural, economic, and political factors, the GINI Index, income gap, and natural resources also play significant roles in determining the feasibility of the Nordic model in other geographies.
GINI Index and Income Inequality
![](https://miro.medium.com/v2/resize:fit:700/0*TTaM-j7lohP-ip3F)
- Low Income Inequality in Nordic Countries: The Nordic countries have some of the lowest GINI index scores in the world, indicating low income inequality. This is a result of their extensive production enhancement policies and welfare programs. (they started way back).
- Challenges in High Inequality Regions: In countries with high income inequality, implementing the Nordic model would require massive redistribution, which could be politically and socially challenging. High GINI index scores often reflect deeper systemic economic issues that cant be addressed simply by adopting another regions policies.
Natural Resources and Wealth Distribution
- Resource Wealth in Nordic Countries: Some Nordic countries, like Norway, have significant natural resources, such as oil, which have been effectively managed and used to fund their welfare programs. The states control over these resources and the wealth generated from them is a unique aspect of their economic model.
- Varied Resource Distribution Globally: Other countries may not have the same level of natural resources or may have already allocated resource revenues differently. Additionally, managing resource wealth effectively and equitably, avoiding the resource curse, requires strong, transparent institutions, which may not be present in all countries.
Economic Scale and Scope
- Small, Advanced Economies: The Nordic economies are relatively small and highly advanced, allowing for efficient administration of welfare programs and economic policies.
- Scaling and Complexity in Larger Economies: Larger economies may face complexities in scaling such policies, and countries at different stages of economic development might struggle to generate sufficient wealth to redistribute.
Taxation and Public Spending
- Efficient Tax Systems: The success of the Nordic model is partly due to efficient tax systems and a high level of public trust in government spending. Citizens see tangible benefits from their tax contributions, reinforcing the social contract.
- Taxation Issues in Other Contexts: In countries where tax evasion is widespread or where public spending is inefficient or corrupt, increasing taxation to Nordic levels could be both impractical and unpopular.
Historical and Institutional Context
- Unique Institutional Development: The development of Nordic institutions over decades, underpinned by social trust and democratic norms, has been crucial for their models success.
- Diverse Historical Trajectories: Other countries with different historical and institutional backgrounds may not have the requisite foundation for a similar model.
The Nordic model represents a unique blend of free-market capitalism and an extensive welfare state. This model defies the traditional dichotomies of socialism and capitalism, offering a third way that combines economic efficiency with social equity. Its a testament to the potential of a well-regulated capitalist economy to generate wealth while ensuring broad-based societal well-being.
## Invitation for Extended Discourse
This in-depth exploration opens the floor for further discussion.
- How can elements of the Nordic model be adapted to other cultural and economic contexts?
- What lessons can emerging economies draw from this model?
I encourage readers to share their perspectives and engage in a dialogue about applying the principles of the Nordic model to address global economic challenges.
@@ -1,114 +0,0 @@
---
title: "The Return-To-Office Productivity Argument Is Over"
source: "https://ehandbook.com/the-return-to-office-productivity-argument-is-over-c23e62ef1cd1"
author:
- "[[Joe Procopio]]"
published: 2024-07-29
created: 2024-10-29
description: "I'm going to end the return to office and remote work productivity arguments forever, with a proposal that all management folks wear formal business attire."
tags:
- "clippings"
---
## Hammering the last nail into the return-to-office mandate coffin in a way that everyone can understand
[
![Joe Procopio](https://miro.medium.com/v2/resize:fill:88:88/1*jSJzFhN0IssjAReXkUsQaQ.png)
](https://jproco.medium.com/?source=post_page---byline--c23e62ef1cd1--------------------------------)
[
![Entrepreneurship Handbook](https://miro.medium.com/v2/resize:fill:48:48/1*8sfeJBcpkpaPmv9Epi2Pjw.png)
](https://ehandbook.com/?source=post_page---byline--c23e62ef1cd1--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*iA_sRX00MiEhUDHqe9tNag.jpeg)
OK, *fine*. Lets argue about remote work, you miscreants.
A couple weeks ago, I wrote an article declaring [the end of return-to-office mandates](https://medium.com/entrepreneur-s-handbook/return-to-office-mandates-are-finally-unquestionably-dead-1634d7d33da9). In it, I referenced a story about a return-to-office mandate from Dell which allegedly resulted in *almost half* the companys remote workers choosing to stay remote, even if it meant they could no longer be promoted or hired into new roles within the company.
That was shocking. If you didnt find that shocking, then nothing shocks you. You are unshockable.
With that as the basis of my return-to-office mandate obituary, I also declared that *all the arguments* about remote work being more or less productive than in-office work were moot. Done. Over.
Its not that one side or the other *finally won the argument*, but that the argument itself no longer holds any weight. The folks at Dell heard all the evidence, collectively shrugged, and chose remote work at the expense of their career.
==Thats a bona-fide nuclear option, one that takes the productivity argument completely off the table. Yet more than half of the comments on my article, both public and private, were… arguments as to whether or not remote work was more or less productive.==
Now, as I said in my original article, I personally and professionally understand *both sides* of the remote work productivity argument. I do have an opinion, but youll have to read this entire article to get to it — and suffer the following nonsense.
Because its nonsense we all need to hear.
Im going to end the remote work productivity argument forever — with a modest proposal.
## The Return-To-Formal-Business-Attire Mandate
Lets talk about suits.
Quick story. My first job out of college was with a prestigious consulting firm, and it required me to wear a suit — all day, every day. I was in a nondescript cubicle on the third floor of a nondescript office building. I never saw customers. I rarely saw my bosss boss.
Now, while I stated in the previous article that Ive always hated working in an office, I at least understand both sides. I cant say the same about those \*\*\*\*\*\*\* suits.
So heres my proposal.
How about all employees agree to come back to the office if management — *all* management, including *middle* management, including *anyone* who has people directly reporting to them — agree to wear formal business attire all day, every day.
Im not kidding.
Oh, this would also include formal business shoes and not, like Skechers or Hey Dudes or Allbirds or some other sneaky shit that looks like a shoe but is a sneaker.
Now, lets argue the productivity pros and cons.
## Formal Business Attire Is Good/Bad For Company Productivity
There are arguments to be made that wearing formal business attire makes a person more productive.
Its the same reason weekend warrior road cyclists wear racing uniforms with all the labels and advertisements on them. If you feel more like Lance Armstrong (or whoever, I dont follow the sport), then youll pedal more harder like Lance Armstrong.
So lets all be Warren Buffet.
Its part of the dance. It sets a more professional tone throughout the organization, leading to better business outcomes across the company.
At the same time, if any physical exertion is required during the day, or any outdoors time in the spring or summer, formal business attire is instantly and completely impractical. You could also argue that it saps creativity, energy, and comfort, leading to poorer business outcomes across the company.
## Formal Business Attire Is Good/Bad For Employee Productivity
One could argue that a professional appearance makes the wearer more confident, and psychology will agree with you. Formal business attire gives employees a more positive outlook about themselves and prepares them for the job they want.
All this makes for a happier, more ambitious, and thus more productive employee.
That said, its an unreimbursed required expense, with the purchase and maintenance expected to be burdened by the employee regardless of where they fall on the pay scale. It also cuts into their time, not just the time it takes to get dressed every morning, but the time it takes to run back and forth to the dry cleaners.
These small-but-additive time expenses are also entirely shouldered by the employee, not the company, as “work time” doesnt start until the now dapper employee sits down at his or her desk.
## Formal Business Attire Is Good/Bad For Workplace Productivity
You could say that wearing formal business attire brings a standard to the workplace that eliminates the need to have complex guidelines about who gets offended by what kind of casual appearance.
Its also cross-generation. Boomer business attire is no different than Gen Z business attire, while still allowing for unique, personal touches of self-expression, like Funny Tie Friday.
And lets face it, if we dont do this, someone is going to come into work wearing pajamas. Were already halfway there with “athleisure.”
In fact… *in fact*, we could also go one step further and bring back required hats and suspenders for the men and required skirts and stockings for the ladies.
Are we done? Do we all get it? Or do I need to get even more obtuse?
## The Argument Itself Doesnt Matter
All of those things are true, all the arguments on both sides, except for the second-to-last sentence of the last one, which was satire. We could argue those points all day, every day, for years.
My point is those arguments no longer matter.
- Yes, having everyone in a centralized location allows for some types of collaboration that you will never get remotely.
- Yes, you have to trust your employees more when theyre remote.
- Yes, employees have a greater chance to goof off more when theyre remote.
- Yes, your contributions wont get noticed as quickly or wholly if youre remote.
- Yes, commutes are a waste of time.
Those are all true too. None of that matters. When you start to argue one way or the other, ask yourself why were not all wearing formal business attire anymore. It hasnt been that long since it was mostly a requirement.
Thats what happened with the Dell mandate. Thats where all this is headed. Thats why employers need to speed up their timelines on integrating robust plans to accommodate remote work, get out of those corporate leases, and develop a remote or hybrid model that works for each role within the org.
Youve got my opinion, you know where I stand. If you think Im in the right place on these kinds of issues, now would be a good time to join my email list at [joeprocopio.com](https://www.joeprocopio.com/).
-136
View File
@@ -1,136 +0,0 @@
---
title: "The Women of Right-Wing Media"
source: "https://medium.com/fourth-wave/the-women-of-right-wing-media-5fdf237402ad"
author:
- "[[Streamofsocialconscience]]"
published: 2024-07-28
created: 2024-10-29
description: "When you think of the right-wing — not just the media, but politics as well — you probably imagine a straight, white man. For the most part, you would be right. The Daily Wire, Prager U, and The…"
tags:
- "clippings"
---
## Supporting traditional values unconditionally — for other women
[
![Streamofsocialconscience](https://miro.medium.com/v2/resize:fill:88:88/1*83tFRw61K-3cOHY4voF1UA.jpeg)
](https://medium.com/@MiaBelllaaa?source=post_page---byline--5fdf237402ad--------------------------------)
[
![Fourth Wave](https://miro.medium.com/v2/resize:fill:48:48/1*hFTwgaLq3nZggPy_JH-Niw.jpeg)
](https://medium.com/fourth-wave?source=post_page---byline--5fdf237402ad--------------------------------)
![](https://miro.medium.com/v2/resize:fit:1000/1*C3FBby93IBmOEuUN_2tidQ.jpeg)
Image from Poison of the right-wing female pundit, Salon
When you think of the right-wing — not just the media, but politics as well — you probably imagine a straight, white man.
For the most part, you would be right. *The Daily Wire*, *Prager U*, and *The Blaze* are some of the largest right-wing media outlets, that primarily use social media, and are all headed by men. When it comes to traditional media, *Fox News* is best known for Tucker Carlson (even if they got rid of him). Gamergate, too, was a major online right-wing movement that was inspired by young men, who felt feminists were infiltrating their video game sphere. The modern red pill movement is also primarily male, [but there are female influencers.](https://medium.com/fourth-wave/meet-the-female-andrew-tate-b8482333a8de) In general, [young women tend to trend left, while young men trend right.](https://www.axios.com/2024/02/16/gen-z-gender-gap-political-left-women)
However, with Amber Rose speaking at the Republican National Convention (RNC) in support of Trump, it is worth noting that many women are speaking in favor of the right-wing. Libs of TikTok — which posts cringe liberals to mock and direct hate towards them, has caused a frenzy across our country at school board meetings and even legislation, was cited by Florida Governor Ron Desantis, and has led to death threats and firings for countless individuals — is run by a woman named Chaya Raichik. The rising star of *The Daily Wire*, the same network that brought you Ben Shapiro, is his female doppelganger Brett Cooper. Theres also Lauren Chen, Candace Owens, and Allie B Stuckey, to name a few. All women with large social media followings, who support right-wing talking points, including on gender.
While they share the same beliefs as their male counterparts, their presentation is different; most of these women are young and conventionally attractive, and they often present themselves in a much more pleasant and friendly way.
While Ben Shapiro and Brett Cooper may look alike and have the same political beliefs, Cooper comes across as much more charismatic and trendy. Part of this is because Cooper doesnt speak at the speed of a car auctioneer. You can also compare their reactions to the *Barbie* movie; [Cooper was able to admit that she liked the movie, despite the liberal politics and opinion of her peers,](https://www.youtube.com/watch?v=eWuPRfBYhFE) while Ben Shapiro took angry photos lamenting that he had to watch the movie. His photo would later on be mocked by Gen-Z. He looks like a nerd.
![](https://miro.medium.com/v2/resize:fit:675/0*b4PBQDWsAl-OmUoL)
From Ben Shapiros Twitter account.
[Amala Ekpunobi](https://www.youtube.com/@TheAmalaEkpunobi) is another one of these women, who started on *Prager U.* She is a biracial woman, her father being a Nigerian immigrant, and she also claims to be a former leftist activist, before eventually becoming a right-winger. Shes 24, and much like Brett, makes videos in a similar aesthetic and fashion as liberal influencers. Its intelligent marketing, that invites young (and even left-leaning) viewers. Dennis Prager, the co-founder of *Prager U*, is a 75-year-old white man, falling in the same category as the out-of-touch boomer politicians Gen-Z complains about.
Not only are women promoting right-wing ideology, but they are important for it.
## A (brief) history of right-wing women
Anita Bryant, a former singer and pageant winner, was a prominent anti-gay activist in the late 70s. She ran the campaign “Save Our Children” to argue against discrimination protections for the LGBTQ community, promoting the conspiracy that the gay community molests children to “recruit” them. Anita was successful in her campaign, but it permanently destroyed her reputation and career; she became a much-hated figure in the gay community, even being hit in the face with a pie by a gay activist during a press conference.
Many parallels exist today, specifically with Chaya Raichik, who began the trend of right-wingers referring to queer people as “groomers” looking to convert children. Elementary school teachers, performers, and even childrens hospitals are not safe from the accusation. Alongside Chaya, there are also groups such as Moms for Liberty, who are behind the push to ban not only LGBTQ content in schools but also content about the Holocaust and slavery. All under the feminine guise of “protecting the children.”
But what children? Black and Jewish children are not protected by their history being banned to appease privileged children. Children from nontraditional families arent protected either.
While men are typically the ones who commit violent crimes, the weaponization of motherhood and femininity is used as a justification. A lot of violence against black men during the Jim Crow era, for example, was done under the banner of false rape accusations. Nazi Germany accused Jewish men of being perverts. Anti-immigrant and anti-refugee propaganda uses the same rhetoric today.
> Black and Jewish children are not protected by their history being banned to appease privileged children. Children from nontraditional families arent protected either.
Even further back, there was The National Association Opposed to Women Suffrage (NAOWS); an organization that was founded by women in 1911, who were opposed to their own right to vote.
They distributed a pamphlet, *Some Reasons Why We Oppose Votes for Women,* which outlined their beliefs; they stated that women did not need the vote to advance in society; that most women did not want to vote; and that women could be represented by their men. Even with the right to vote, you can still not vote if you choose, but these women wanted to enforce that on everybody.
They also claimed, in their pamphlet, *“We believe that political equality will deprive us of special privileges hitherto accorded to us by law.”* This is a common theme — conservative women are anti-feminist because they believe feminism will take away their female privileges, such as not working or serving in the army. However, do all women have these privileges?
Are working-class and poor women free from labor? The majority of women in “traditional” periods werent sitting at home, but instead doing hard labor on the farms, or in sweatshops. [The Triangle Shirtwaist Factory Fire,](https://www.history.com/topics/early-20th-century-us/triangle-shirtwaist-fire) in which predominately young, immigrant, female workers burned to death after being abused and underpaid, and widely ignored by the labor movement due to being female, happened in the year 1911 — a pre-feminist time, before women were even allowed to vote. Chivalry didnt protect them. Do women in Syria or Gaza get to use their “female privilege” to escape war?
> Chivalry didnt protect them \[the women killed in the Triangle Shirtwaist Factory fire\]. Do women in Syria or Gaza get to use their “female privilege” to escape war?
The women in NOAW were predominately wealthy women, and many of them were the wives of politicians — of course they felt they could exercise power through their husbands; wives of coal miners may not feel the same way. The founder, Josephine Jewell Dodge, was married to Congressman William E. Dodge, and lived a privileged life. She would be replaced by Alice Hay Wadsworth, who was the wife of a Senator. ==This is another theme among conservative female activists; most of them come from economic privilege, and as a result, are shielded from the worst parts of female oppression.==
A woman from a stable and wealthy family, for example, would have a much easier time getting away if the trad lifestyle didnt work out. A woman who lives in economic privilege may not care as much about workplace discrimination as a woman who needs to work to live.
> This is another theme among conservative female activists; most of them come from economic privilege, and as a result, are shielded from the worst parts of female oppression.
As for female privilege, this argument would also be used by Phyllis Schlafly, a woman who stopped the Equal Rights Amendment (ERA); the ERA would have invalidated laws that discriminate against women. Schlafly opposed it for, among other reasons, the possibility it could cause women to be drafted. A lot of men critical of feminism argue that women want rights but not responsibilities — ironically, its anti-feminist women who dont want the responsibility.
I dont think anyone should be drafted; no one should be compelled to fight in a war that they have no interest in. The draft targets working-class men; while wealthy men can pay their way out, and the politicians who declared the war arent sent to fight in the first place.
When Trump ordered the assassination of Iranian General Soleimani in 2020, World War III began to trend on Twitter. With everything happening in Ukraine and the Middle East, fears of a wider conflict is reasonable. And whenever this discussion happens, memes like this start to spread.
![](https://miro.medium.com/v2/resize:fit:640/0*94udlDRb4j2uYhHH.jpg)
from 9gag
This makes me wonder if some women embrace conservatism because traditional gender roles promise an escape from hardship, being taken care of by men. With all of the international and economic hardship, from foreign wars to the rising cost of living, the kitchen may feel safer. Unfortunately, propaganda is different from reality.
## Right-wing women, meet misogyny
In the early Trump era, Tomi Lahren was all the rage; she had her show on *TheBlaze*, where she hosted short video segments called “final thoughts” in which she criticized liberal politics. She was a cheerleader for conservatism and Trump, which got her fame among the right and hate among the left. This stardom came to an abrupt end in 2017 when her show was suspended after revealing in an interview with *The View* that she believed women should have the right to an abortion. She would eventually be fired. While she is still a conservative talking head today, she has nowhere near the amount of relevance and cultural sway she did before this interview.
The hypocrisy is glaring; the right claims to be against cancel culture and for freedom of speech, but they canceled Tomi for having an opinion they didnt like. However, Im not going to herald Tomi as a progressive, nor did I defend her when she was penalized by her network. [Tomi was highly critical of the Standing Rock protesters](https://www.facebook.com/watch/?v=140722921291269), who opposed building an oil pipeline on sovereign tribal land. [She also compared Black Lives Matter to the KKK.](https://www.dallasnews.com/news/2016/07/12/tweet-calling-black-lives-matter-the-new-kkk-gets-deleted-by-dallas-based-commentator/) I question why Tomi only has a progressive stance on an issue that could impact her directly.
> This stardom came to an abrupt end in 2017 when her show was suspended after revealing in an interview with *The View* that she believed women should have the right to an abortion.
And while Tomi may personally support the legal right to an abortion, she also supported Donald Trump, who in turn nominated SCOTUS justices that voted to repeal Roe v Wade.
The far right is notoriously ungrateful to those who put it into power.
[*Salon* Magazine wrote a piece about women in the alt-right complaining about white nationalists being misogynistic to them.](https://www.salon.com/2017/12/04/alt-right-women-are-upset-that-alt-right-men-are-treating-them-terribly/) A self-described [ethno-nationalist](https://www.dictionary.com/browse/ethnonationalism) Tara McCarthy, for example, tweeted, *“Women in the Alt Right are constantly harassed by low-status anonymous trolls trying to put us in our place. Women of all ages, who do or dont have children, are harassed for various reasons. The ultimate goal seems to be to bully us off the internet. Men in the Alt Right are going to have to decide whether they will continue to passively/actively endorse this behavior, or speak out against it. If you want more women speaking publicly about ethno-nationalism, I suggest you choose the latter.”*
Once again, I do not have sympathy for Miss McCarthy. You wanted ethno-nationalism for the racism, but arent down with the misogyny? *Did your brothers not make themselves clear when they said women are supposed to submit to men and forgo their careers and education? What made you think those men wanted to hear your opinions?*
A core tenet of ethno-nationalism is having many children to continue the race/nation. In this case, [white nationalists (including Tara McCarthy) believe that white people are being replaced by minority groups;](https://www.isdglobal.org/explainers/white-genocide-conspiracy/) remember the Charlottesville men chanting that they wouldnt be replaced? They blame feminism, abortion, and gay marriage, among other things, for the decline in white birth rates. The natural conclusion is that white women need to get back in the kitchen and start giving birth to white children.
Six years ago, Lauren Southern felt the need to defend herself to her audience with her [*Why Im Not Married*](https://www.youtube.com/watch?v=P-UKPpmQlys) video. Before she was a victim of domestic violence, Southern was the star of the alt-right. Her claim to fame was a video on *The Rebel*, entitled *Why I Am Not a Feminist.* Being a woman against feminism gave her notoriety.
She, and many of the other far-right women, use this novelty to gain a name for themselves. In turn, they receive money and fame, which gives them economic privileges that other women who live in traditional dynamics dont have. And yet, Southern was surprised enough to see the misogyny she supported also applies to her, that she felt she had to make a YouTube video defending herself.
When modern women want to delay getting married and having kids, they are fat feminists who will die alone and destroy society, but when Lauren Southern wants to delay marriage and having children, she has a perfectly valid reason to. Other women are stupid and should shut up and get back in the kitchen, but these right-wing talking-head women are special and get to have platforms where they act confrontational and argue with other people (including men).
Once again, these women reveal themselves to be self-serving; they support traditional values unconditionally on other women, but only on themselves as they see fit and for what benefits them personally. They happily cheer along the racism in their space but dont want the misogyny that comes with it.
## The prospects for right-wing women
The women I mentioned in this article are all rather famous and make a lot of money. Some women, such as Amy Coney Barrett, have been able to rise to extremely powerful positions, despite their values opposing that for women. Many of them, because of their economic and social privilege, are shielded from the worst of what they preach — but that doesnt mean they are immune from their vitriol.
Lauren Southern is a great example of this. She eventually did get married and have a child, like a good trad woman. Unfortunately, she suffered domestic violence at the hands of her husband while living thousands of miles away from her family. [According to an interview, during this time she participated in a Whatsapp group with other tradwives going through the same problem.](https://unherd.com/2024/05/lauren-southern-the-tradlife-influencer-filled-with-regret/)
Speaking about her relationship with her now ex-husband, *“If I ever disagreed with him in any capacity hed just disappear, for days at a time. I remember there were nights where hed call me worthless and pathetic, then get in this car and leave . . . I had this delusional view of relationships: that only women could be the ones that make or break them, and men can do no wrong.”*
So she didnt spot the red flags, even as they grew more extreme. *“Hed lock me out of the house. I remember having to knock on the neighbours door on rainy nights, because hed get upset and drive off without unlocking the house. It was very strange, to go from being this public figure on stage with people clapping, to the girl crying, knocking on someones door with no home to get into, being abandoned with a baby.”*
While, in many ways, Lauren Southern was privileged to be online famous — as it gives a chance for income and even support — being on the far-right comes with unique challenges. Southern mentioned it being difficult to find a “normal” job because of how many controversial opinions she had online. When your name is synonymous with white supremacy and misogyny, most companies just dont want the PR risk. Her only option to make money was to continue being a right-wing pundit, but seeking a divorce, no matter how justified it was, would put her at odds with that audience.
Its like a Greek tragedy in some ways, how the very ideology that made her so famous and successful ended up betraying her and leaving her with an impossible situation.
> Its like a Greek tragedy in some ways, how the very ideology that made her so famous and successful ended up betraying her and leaving her with an impossible situation
However, she did end up getting out. She lived in a cabin in the woods, improved her mental health, and worked on repairing her relationships with friends and family. I would be unconditionally happy for her if it werent for the fact that many of the women who were persuaded to follow her beliefs wont have the same luck.
Perhaps some women are in it for the grift. Other women genuinely believe in this ideology. They believe that if they appease men enough, if they submit hard enough, they will gain status over other women as “one of the good ones” and be protected from male violence. They will get to have a life of comfort and freedom from Capitalism, while their husband goes out and works.
Unfortunately for them, conservative women are still women, and they will be treated as such.
*For more stories about the promotion of sexism, racism, and homophobia on right-wing media, follow* [*Fourth Wave*](https://medium.com/fourth-wave)*. Have you got a story or poem that focuses on women or other disempowered groups?* [*Submit to the Wave!*](https://medium.com/fourth-wave/submit-to-the-wave-7c92f095e86f)
@@ -1,88 +0,0 @@
---
title: "To The Guy on TikTok Wondering Where the “Real Women” Went"
source: "https://medium.com/the-virago/to-the-guy-on-tiktok-wondering-where-the-real-women-went-ceff3babda1e"
author:
- "[[Maria Cassano]]"
published: 2024-07-11
created: 2024-10-29
description: "Im a formerly dissociated woman from New York. It takes a lot to shock me — but I was utterly gobsmacked by a video that recently went viral on TikTok. In said video, a white, church-going dude…"
tags:
- "clippings"
---
## You mean the women who had no other choice?
[
![Maria Cassano](https://miro.medium.com/v2/resize:fill:88:88/1*6aLQNmKa7bToYElIiCL4aQ.jpeg)
](https://medium.com/@mariacassano?source=post_page---byline--ceff3babda1e--------------------------------)
[
![The Virago](https://miro.medium.com/v2/resize:fill:48:48/1*Fd7Bv83o4fTYF0-Jieu2MQ.png)
](https://medium.com/the-virago?source=post_page---byline--ceff3babda1e--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*3bryV60aaKE--KasRSPDSA.jpeg)
Photo by [Documerica](https://unsplash.com/@documerica?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash) on [Unsplash](https://unsplash.com/photos/a-woman-washing-dishes-in-a-kitchen-sink-oAU0c0SsO8A?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)
Im a [formerly dissociated woman](https://medium.com/the-virago/good-girl-syndrome-gave-me-a-dissociative-disorder-a9bd5a9f0411) from New York. It takes a lot to shock me — but I was utterly gobsmacked by a video that recently went viral on TikTok. In [said video](https://www.tiktok.com/@wbergholz/video/7388646658789100831), a white, church-going dude named William Bergholz asked, “Where are all the real women?”
If you dont have the time, access, or gag reflex to watch the whole thing, Ill summarize his overarching beliefs with a quote:
> “Girls just arent the way they used to be. Theyre not how girls were in the 1800s and 1900s, where its like, a real woman \[…\] Her favorite thing: She loves to cook, she loves to clean, she wants to get married and have kids so much, she dreams about it.”
(Note: For the sake of clarity, I cut out 12 unnecessary uses of the word “like.” This isnt to alter the speakers argument, but to prevent the reader from having an aneurysm.)
Now, part of me genuinely wants to believe that this video is satire. Maybe its his audition tape for [Saturday Night Live](https://medium.com/p/680d0ffcd929). At the very least, I hope hes saying intentionally controversial things to generate views.
But the other part of me knows that this level of ignorance is still alive and well — because [Im on the receiving end of it](https://medium.com/the-virago/when-i-wear-red-lipstick-its-not-for-men-c5d6195b86fc) all the time.
## Either way, this guy needs a history lesson.
Bergholzs dream woman apparently hails from 19th-century America, loves cooking and cleaning, and looks a little something like this:
![](https://miro.medium.com/v2/resize:fit:224/1*URISGArYfLjFxo2uYBD3Kw.jpeg)
Public domain photo from Wikipedia: [Miss Ellen Henrietta Swallow](https://en.wikipedia.org/wiki/Ellen_Swallow_Richards), photograph ca. 1864.
Thats [Ellen Henrietta Swallow Richards](https://en.wikipedia.org/wiki/Ellen_Swallow_Richards), founder of the home economics movement. She believed that “womens work within the home was a vital aspect of the economy.” Sounds like a perfect fit for Bergholz!
But wait — even Ellen Swallow Richards, who was born in 1842, was an industrial engineer and an environmental chemist, not to mention the first woman admitted to the [Massachusetts Institute of Technology](https://www.blackhistory.mit.edu/archive/ellen-swallow-richards-and-female-students-1888#:~:text=Ellen%20H.,until%20her%20death%20in%201911.). She was also a feminist who argued for womens education and [participation in science](https://urresearch.rochester.edu/institutionalPublicationPublicView.action?institutionalItemId=32575).
Richards used science and innovation to make cooking, cleaning, and homemaking as easy and efficient for women as possible. Yknow, because we *had no other choice.*
See, back in the 1800s, women couldnt vote. We also couldnt [own land without a husband](https://www.annenbergclassroom.org/resource/womens-rights/#:~:text=1900Women%20Gain%20Property%20Rights,property%20in%20their%20own%20name.). When we were transferred from father to groom like a living, breathing commodity, one paid the other in [land, money, or chickens](https://en.wikipedia.org/wiki/Dowry).
As virtual property, we were forced to make ourselves as useful to men as possible — by bearing children, cooking meals, and serving as live-in maids.
## Historically, the women who refused these expectations didnt fare well.
Remember? Remember the Witch Trials, where the accused were primarily women who spoke up, [pissed off the wrong men](https://guides.bpl.org/salemwitchtrials/accusersandaccused), or merely lived alone?
Remember Joan of Arc, who led French troops to victory before getting burned at the stake for [heresy, sorcery, and cross-dressing](https://www.history.com/news/joan-arc-burned-stake)?
Remember the Suffragettes, who faced [imprisonment and public ridicule](https://www.islington.gov.uk/~/media/sharepoint-lists/public-records/leisureandculture/information/factsheets/20192020/20190624hollowayprisonandthesuffragettes.pdf) because they wanted the right to vote?
Those women were all real women — so let me rephrase your question so its a little more accurate:
## “Where are all the desperate, suppressed women who are willing to sacrifice their happiness, aspirations, and dignity in order to benefit me?”
It kind of sounds like you want a mommy you can legally sleep with — but for arguments sake, lets entertain the question: Can you still find a woman who will cook your dinner, clean your home, and coddle you solely because you are a white man?
Sure. Her name is [Pearl Davis](https://en.wikipedia.org/wiki/Hannah_Pearl_Davis), and youre in luck; shes single.
As for the rest of us, here are a few statistics for you to chew on:
- Women now [outnumber men in the US workforce](https://www.wsj.com/articles/women-overtake-men-as-majority-of-u-s-workforce-11578670615), but were *still* doing the [vast majority of housework, cooking, and childcare](https://www.kff.org/womens-health-policy/issue-brief/data-note-balancing-on-shaky-ground-women-work-and-family-health/). (Spoiler: Were pissed about it.)
- Very few women actually [enjoy cleaning](https://www.tiktok.com/@zofemme__/video/7218362680468344066?_r=1&_t=8ckqEZN6rOd); were just held to a higher standard and [more likely to be shamed for a dirty space](https://sitn.hms.harvard.edu/flash/2019/dirtiness-perceived-cleanliness-sustained-women-study-reveals/).
- Even if women *wanted* to quit their jobs and take care of their homes and kids, most couldnt afford to. House prices have [risen 118% since 1965](https://www.cnbc.com/2021/11/10/home-prices-are-now-rising-much-faster-than-incomes-studies-show.html), and thats accounting for inflation. The single-income household is dead.
- 37% of women would [rather masturbate than have sex](https://www.theodysseyonline.com/women-prefer-masturbation) — probably because only [25% of women orgasm during sex](https://www.statista.com/statistics/1366812/us-orgasm-gender-gap/#:~:text=Orgasm%20gender%20gap%20in%20the%20United%20States%202022&text=In%202022%2C%2095%20percent%20of,to%2025%20percent%20of%20men.) (compared to 95% of men).
- Men are [more likely than women to want kids](https://www.cbc.ca/news/canada/women-children-study-1.7119845) because they underestimate the amount of work itll be and [parenthood requires less responsibility](https://www.pewresearch.org/social-trends/2013/03/14/modern-parenthood-roles-of-moms-and-dads-converge-as-they-balance-work-and-family/) from them.
- More women than ever before are [choosing to remain child-free](https://www.cnn.com/us/childfree-by-choice-women-birth-rate-decline-cec/index.html#:~:text=Demographers%20point%20to%20a%20number,choice%20to%20remain%20child%2Dfree.) because its finally socially acceptable to focus on their own well-being — but theyre [still judged for it](https://quod.lib.umich.edu/m/mfr/4919087.0018.102/--it-s-the-choices-you-make-that-get-you-there-decision-making?rgn=main%3Bview%3Dfulltext).
- Ample women are [choosing to remain single](https://www.pewresearch.org/social-trends/2021/10/05/rising-share-of-u-s-adults-are-living-without-a-spouse-or-partner/) because many male partners [create more frustrations than they alleviate](https://www.independent.co.uk/life-style/husbands-create-extra-seven-hours-of-housework-a-week-a6885951.html).
## So where are all the real women?
==Exercising their rights, having standards, using vibrators, being financially independent, and waiting for real partners — the ones who actually== ==[contribute something to our lives](https://medium.com/p/0b278cf4d7f7)== ==in return.==
@@ -1,55 +0,0 @@
---
title: "Twenty one sentences that will make you mentally stronger than 98% of people"
source: "https://iamalexmathers.medium.com/twenty-one-sentences-that-will-make-you-mentally-stronger-than-98-of-people-231fe6b4e8d8"
author:
- "[[Alex Mathers]]"
published: 2024-08-27
created: 2024-10-29
description: "Lets dive right in:. “Twenty one sentences that will make you mentally stronger than 98% of people” is published by Alex Mathers."
tags:
- "clippings"
---
![](https://miro.medium.com/v2/resize:fit:700/0*PIi5dyLC_7iLIljT.jpeg)
[
![Alex Mathers](https://miro.medium.com/v2/resize:fill:88:88/2*4nXTR1TepCVll5AWCiALMQ.jpeg)
](https://iamalexmathers.medium.com/?source=post_page---byline--231fe6b4e8d8--------------------------------)
Lets dive right in:
- Happy people know the past has no bearing whatsoever on their present behaviour.
- Overwhelm can be diminished quickly with five slow, shallow, nasal breaths.
- No one has the power to decrease your self-worth because self-worth is just an idea.
- If youre struggling but rarely exercise — thats the bulk of your issue right there.
- Stress is not caused by external circumstances but rather by internal ideas.
- **If you want to feel good about yourself, help others feel good about themselves.**
- The stiller your mind, the more connected to life force, and therefore creatively joyful you will be.
- Walking for at least twenty minutes will solve over 85% of your problems.
- **If you can find a way to be ok with being disliked, you will be unstoppable.**
- ==Remaining calm when triggered is the number one life skill.==
- Suffering is always tied to the illusion that we have a self to protect, which is simply not true.
- **Miserable people expect others to be a certain way.**
- The happiest people expect nothing from no one.
- Physically relaxing yourself in the moment will dramatically reduce your sense of mental stress.
- The more natural and less processed your diet, the stronger will be your mind.
- You will limit yourself to the degree you blame others for your problems.
- **There are no problems in the present moment.**
- We get depressed when we over-consume because humans were designed to create things.
- If in doubt, get off your ass and move.
- **You dont need to try to think positive because were already totally ok when we let go of negative thoughts.**
🔆
## Want to make money and impact from your writing?
Combine a clear mind, and an energised soul with powerful writing and brand growth.
Get your free booklet in your inbox instantly when you [join the *Mastery Den* newsletter here](https://www.masteryden.com/).
***16 unconventional writing tips for joining the top 1% of online writers***
🐉
![](https://miro.medium.com/v2/resize:fit:700/0*6bJ_TLlsV9NvHpoQ.png)
@@ -1,66 +0,0 @@
---
title: "Uncle Bobs favorite programming language— but why 🤔"
source: "https://blog.devgenius.io/uncle-bobs-favorite-programming-language-but-why-8fc3f85c77a8"
author:
- "[[Kirubakaran]]"
published: 2024-09-19
created: 2024-10-29
description: "Robert C. Martin, also fondly known in the technology circle as “Uncle Bob,” is a highly influential figure in the software development world. Hes a renowned author, speaker, and consultant, best…"
tags:
- "clippings"
---
[
![Kirubakaran](https://miro.medium.com/v2/da:true/resize:fill:88:88/1*V1LJQCPF_vlwk2Edo9JH_A.gif)
](https://kirubaspace.medium.com/?source=post_page---byline--8fc3f85c77a8--------------------------------)
[
![Dev Genius](https://miro.medium.com/v2/resize:fill:48:48/1*CvejhRq3NYsivxILYXEdfA.jpeg)
](https://blog.devgenius.io/?source=post_page---byline--8fc3f85c77a8--------------------------------)
Robert C. Martin, also fondly known in the technology circle as “Uncle Bob,” is a highly influential figure in the software development world.
![](https://miro.medium.com/v2/resize:fit:700/0*M1hI0UNWMe1f9uYf.jpg)
Image from wikipedia
Hes a renowned author, speaker, and consultant, best known for his teachings of clean code principles, agile methodologies, and software craftsmanship.
> Hes the author of numerous influential books like “Clean Code” and “The Clean Coder,” and he was one of the original signatories of the Agile Manifesto.
Do you want to know what his clean code advice ?
Uncle Bobs work has significantly improved modern software development practices, emphasizing the importance of code quality, maintainability, and professionalism among developers.
Out of all the programming languages we have, Uncle Bob chooses “Clojure”. You want to find it why?
> Clojures minimalist syntax and importance of functional programming allow to write elegant code that makes easier to read and understand.
ex: Filtering and transforming data
```
(->> (range 10) ; Create a sequence of numbers from 0 to 9 (filter even?) ; Keep only the even numbers (map inc) ; Increment each number by 1 (reduce +)) ; Sum the resulting numbers
```
> Clojure gives importance to functional programming & immutability
ex: Updating a nested data structure
```
(def data {:user {:name "Alice" :age 30}})(assoc-in data [:user :age] 31) ; Returns a new map with the updated age
```
> Clojure leverages Java ecosystem which helps to use many tools/libraries
```
(import java.time.LocalDate)(LocalDate/now) ; Get the current date using Java's LocalDate class
```
Clojures built-in concurrency support help to leverage the modern computing systems
```
(defn square [x] (* x x))(pmap square (range 10)) ; Compute squares in parallel
```
@@ -1,148 +0,0 @@
---
title: "Uninvited and Unwelcome: When Evangelism Crosses the Line"
source: "https://medium.com/backyard-theology/uninvited-and-unwelcome-when-evangelism-crosses-the-line-c1bac3de913e"
author:
- "[[Dan Foster]]"
published: 2024-09-17
created: 2024-10-29
description: "Imagine for a moment that youre a teenager again. You are basking in the glory of the fact that its the weekend. You decide to do what many teenagers do. You ring up your best friend, who also…"
tags:
- "clippings"
---
## Christian Woman Confronts Two Kids She Presumes Are Gay in a Restaurant
[
![Dan Foster](https://miro.medium.com/v2/resize:fill:88:88/1*h9MF5af2iBT-qrUGDYiLsA.png)
](https://medium.com/@danfosterwriter?source=post_page---byline--c1bac3de913e--------------------------------)
[
![Backyard Church](https://miro.medium.com/v2/resize:fill:48:48/1*AcPwoVqPHxkKZJZSH5T3QQ.png)
](https://medium.com/backyard-theology?source=post_page---byline--c1bac3de913e--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*vJ9v3ajfr8oW4tAKuTPNbw.jpeg)
Image by [Petardj](https://www.istockphoto.com/portfolio/Petardj?mediatype=photography) on [iStock](https://www.istockphoto.com/photo/diner-restaurant-gm482307142-68688627?searchscope=image%2Cfilm)
Imagine for a moment that youre a teenager again. You are basking in the glory of the fact that its the weekend. You decide to do what many teenagers do. You ring up your best friend, who also happens to be your cousin and arrange to catch up and hang out at your local fast-food restaurant.
You order fries and milkshakes.
You make yourself at home in a cozy booth.
You are happily chatting away — minding your own business.
Suddenly, out of the corner of your eye, you notice a middle-aged woman — lets call her Karen — staring at you and your cousin. You brush it off, try to ignore it, but the staring doesnt stop. In fact, it intensifies. There is no doubt about it: You are being watched.
And then it happens.
This woman, whom youve never seen before in your life, walks over to your table and starts a conversation with you.
Uninvited.
It turns out that this woman is a born-again Christian, and apparently, God has told her to come over to talk to you. She has come over to investigate whether you and your friend are on a date of the… you know… same-sex variety. Because, well… if you are, she has a message from God for you.
Oh, how I wish this were fiction. But sadly, its not.
When a TikTok user named Kaiden posted a cringe-worthy video of a Christian woman inviting herself to interrogate Kaiden and her cousin — two teenagers — who she presumes are gay and on a date together — the video quickly went viral, sparking widespread outrage and igniting conversations about personal boundaries, religious intrusion, and LGBTQ+ discrimination.
The video begins with Karen asking, “Um… you go to church anywhere?” as the bewildered pair of teenagers try to eat their meal in peace. “Do you guys know how to get to heaven?” she continues, prying further.
After a painful silence, one of the kids says what any decent human watching the video is thinking: *“I dont, um, know you at all?”*
*“I know, I know,”* the woman chuckles measuredly, *“I just see you guys; you guys arent like girlfriends, are you?”*
After graciously informing her that they are cousins — news which Karen receives with audible relief — they add: *“But if it was, its genuinely none of your business.”*
*“Youre right, youre right,”* The complete stranger retorts. *“But I just want to let you guys know, because they dont teach you young kids about God anymore, that its not the right way to live.”*
Again, the children — who are behaving more like adults than the adult in this scenario — politely point out: *“If you force it on somebody, its not right either.”*
*“Yeah yeah, no, Im not forcing it on anyone!”* She laughs. *“But the truths gotta be out there.”*
Unconvinced, the kids remind her that they have no idea who she is and that she just kind of came out of nowhere, but she corrects them — it wasnt just a random encounter.
*“God told me to come over and talk to you guys.”*
Boom!
This cringeworthy encounter has been watched on TikTok more than 20 million times at the time of writing this article. Just so you dont think Im making it up, here is a video of the incident, aptly titled *“Bro Wht the Actual F\*ck,”* for your viewing pleasure:
Source: [TikTok](https://www.tiktok.com/@kalessh/video/6937836506895764742?referer_url=https%3A%2F%2Ftoofab.com%2F2021%2F03%2F11%2Fchristian-karen-assumes-two-kids-are-on-a-date-at-restaurant-tries-to-convert-them%2F&referer_video_id=6938071863448931590&refer=embed&is_copy_url=1&is_from_webapp=v1)
Since this video has gone viral on TikTok, it would be remiss of me not to comment on it given that the woman in the video purports to represent Jesus and well… I write about people like that.
Its no surprise to me that this video has gone viral because “evangelism porn” is popular at the moment: Videos of bumbling Christians interfering, uninvited in the lives of others with a supposedly superior grasp on the truth only to be schooled by their apparently spiritual inferior students.
These videos get so many views for two reasons. Firstly, they show irreligious or unchristian people responding in more “Christian” ways than the Christians in the video. Secondly, people are enraged and amazed by the level of arrogance and spiritual elitism it must take for a person to think its okay to confront a stranger in public and tell them how sinful they are.
This video is particularly galling because, in just a few seconds of footage, this woman unwittingly manages to unveil some of the toxic thinking that youll typically find in evangelical Christianity.
Let me explain.
## I assume you are a sinner
Two young females sitting together at a table enjoying a meal? To the evangelical eye, that could only mean one thing. They must be gay. There is no other explanation… apparently.
The sight of two girls sitting at a table together triggers this womans sin radar, and she makes a wild assumption. She stares at the girls for a while, probably agonizing internally about how she should respond. Maybe her brain and heart are telling her its none of her business, but her Christian upbringing and indoctrination have taught her that its her responsibility to correct and save sinners from the bowels of hell.
With almost no tangible evidence, she decides that they are probably hopeless and immoral sinners who need some correction. With the weight of this guilt-induced responsibility for the mortal souls of these girls heavy on her shoulders, she believes that God is calling her to go and speak to them. So, she takes it upon himself to approach the girls, even though they are strangers, with the idea that she will educate them on their sinful behavior.
Except she is wrong. They are cousins. And as the cousins so graciously point out, *“Its genuinely none of your business.”*
But, she insists, *“God told me to talk to you.”*
![](https://miro.medium.com/v2/resize:fit:700/0*0IMCxCSLkd8oJOY8.jpeg)
Image by [Wirestock Creators](https://www.shutterstock.com/g/WireStock+Inc) on [Shutterstock](https://www.shutterstock.com/image-photo/young-male-speaking-holding-bible-his-1753595888)
## Im here representing God
Ah, the God trump card.
How do you argue with that?
Personally, I find it atrocious that this woman, who has made an incorrect assumption, is doubling down on her error by claiming that God told her to approach the girls. A normal person might have apologized and slinked away, but once you play the “God-told-me-to” card, you can really justify all kinds of errors in judgment.
Once you say, “I am here on behalf of God,” you are really saying to the other person, “*I am qualified to say whatever I like here. Your opinion doesnt matter or count. Im not here for dialogue. Im here to tell you the truth I have, which also happens to be the truth you need. They dont teach you young kids about God anymore, so let me teach you about God instead.”*
Give me a break.
Anyone brash enough to say to me, “*God told me to say this*” or “*God told me to do this,*” destroys their credibility with me because such certainty belies the reality that Christianity is a ***faith*** system. To believe in Christ is to hope for something of which you cannot be certain. The opposite of faith is not doubt; it is certainty.
Dont get me wrong. Im a man of faith, and I believe that it is possible for God to reveal himself in various ways to people, and I believe that God can speak to us through others. However, anyone who lacks the humility to say, *“I might be wrong about this,”* is intellectually and spiritually arrogant.
## Get em while theyre young
How would you feel if you were the parent of one of these children? I know how I would feel.
I would be angry.
How dare a complete stranger approach a couple of children and question them about their sexuality! That is beyond inappropriate.
*“They dont teach you young kids about God anymore,”* Karen tells the children. But given the way these children respectfully replied to this womans unwelcome advance, it seems to me that their parents have done a pretty good job teaching them how to respond with grace.
Id certainly be more worried about a parent who taught their kids that it is normal and acceptable to approach other peoples kids in the streets and try to tell them how to live.
## Im not forcing my views
Perhaps the most comical part of this Tiktok video is Karens response to the children when they politely point out: *“If you force it on somebody, its not right either.”*
Karen laughs, *“Yeah,* *yeah, no, Im not forcing it on anyone!”*
This woman is either lying to herself or is utterly bereft of self-awareness. Walking up to a stranger uninvited, confronting them with their apparent sin (at least in your eyes), and trying to convert them to your faith is actually the definition of *“forcing your beliefs on others.”*
If people want to learn about Christianity, you can safely assume that they know where they can find out about it in this day and age. Let them approach you with your questions instead of ramming your version of Christianity down their throats.
==If people are not asking questions about your faith, then its probably because your life has nothing to say.==
## The final word
Do you suppose that this encounter has drawn either of these cousins closer to Christ? Do you suppose any of the 20 million people who watched the encounter on Tiktok were compelled to explore the merits of Christian faith because of Karens message or approach?
I doubt it.
If anything, this kind of behavior only drives people further away, making a laughing stock out of evangelical Christians who, lets be honest, are already suffering from an image problem of the highest order.
@@ -1,80 +0,0 @@
---
title: "We Need To Talk About What Happened In Louisiana"
source: "https://medium.com/deconstructing-christianity/we-need-to-talk-about-what-happened-in-louisiana-feb747e255f4"
author:
- "[[Lilith Helstrom]]"
published: 2024-06-22
created: 2024-10-29
description: "When Im being generous, I can kind of see why some Christians might want the Ten Commandments displayed outside court rooms. Christians hear the Ten Commandments in church, their pastor reads “thou…"
tags:
- "clippings"
---
## And how dangerous it is
[
![Lilith Helstrom](https://miro.medium.com/v2/resize:fill:88:88/1*YyY95-dMd1BZpr-a-_ltYQ@2x.jpeg)
](https://medium.com/@lilith.helstrom?source=post_page---byline--feb747e255f4--------------------------------)
[
![Deconstructing Christianity](https://miro.medium.com/v2/resize:fill:48:48/1*nmmzmEdbaDIYg9hcrY_b2w.png)
](https://medium.com/deconstructing-christianity?source=post_page---byline--feb747e255f4--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/0*1SmXAoz2BPpTbtVQ)
Photo by [Taylor Flowe](https://unsplash.com/@taypaigey?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
When Im being generous, I can kind of see why some Christians might want the Ten Commandments displayed outside court rooms. Christians hear the Ten Commandments in church, their pastor reads “thou shalt not kill” and “thou shalt not steal” and they know that America has laws against murder and theft, so they think American law must be based on the Bible.
“Might as well have the Ten Commandments displayed outside court rooms,” they say to themselves. “Since American laws are based off of them.”
Even though American laws *arent* based on them and shouldnt be.
But that twisted logic doesnt explain why [Louisiana just passed a law](https://amp.cnn.com/cnn/2024/06/19/politics/louisiana-classrooms-ten-commandments) saying that all public school classrooms are required to have the Ten Commandments displayed somewhere inside of them. Not that teachers are just allowed to display them, but theyre required to, whether theyre Christian or not.
Classrooms dont have court rooms. Children arent lawyers and judges. Classrooms have nothing to do with laws.
Christians cant claim ignorance in this ruling. They cant claim that they just decided on this law because historically our laws are supposedly based on the Ten Commandments. They cant claim that because these are *schools.*
They know that the only reason to pass a law like this is to force religion onto children. Anyone who supports it, supports forced indoctrination. Christians want to groom children, groom them into becoming devoted Christians whether theyre taught Christianity at home or not.
They wont admit it out loud, but they dont believe in religious freedom. They just assume their religion is right and want to force it on the rest of us for supposedly our own good.
They dont believe that Jesus or God are loving entities that can change people or they wouldnt be trying to force religion on everyone using the power of the government. They think might makes right.
This is especially frightening because the Ten Commandments might be fine when presented in a biblical context, but are tools of oppression when presented as secular laws. The first three commandments are about worshipping and revering God. The next one is basically about going to church and setting aside a day for church.
Of course a religion is going to demand that you only follow it and no other religions. Thats why religions exist, to teach you the way they think you should live. But when a government demands you only worship that one God, thats when oppression starts.
And those make up half the commandments. They dont belong anywhere near our government laws or school systems.
Other than the commandments about not stealing and not killing, the other commandments suck as well when forced into secular law.
“Honor your father and mother,” when it becomes a law takes all abused childrens rights away. Youre being hit, youre being insulted, youre being sexually assaulted by your parent? Doesnt matter because now, by law, you need to honor your father and mother, so you cant speak out when they hurt you and the government cant save you.
The commandment about not bearing false witness is okay in court only. Purjury is a law that already exists.
But this commandment is about *all* rumors, not just legal testimonies. And who does the church say is the gossipers? Women. So pass laws about not gossiping and youre now in an extremely sexist society that jails women for speaking.
Because you can claim anything is a rumor and send a woman to jail when you dont like her.
This also applies to the commandment about not having affairs. Historically, and even in the Bible itself, honor killings have always targeted women. They get accused of cheating whether they are or not and murdered over it just because a man wants to.
And the last commandment about not wanting what others have is the worst one of all potentially when you add it to the government. Its the thought police. People cant help their feelings, sometimes you just get jealous of people. Feelings shouldnt be illegal.
It would put our country on the level of North Korea dictatorship. Kim Jong-Un and his father told their citizens that they could read their minds as well. They are not to even think bad things about them. When alone in their mind, the one place that should be safe for everyone, theyve been taught to fear. And we would be taught the same if the Ten Commandments became a legal document.
I hate the Ten Commandments. As rules among a religion, I think they are unhelpful and harmful. But as a law of land and not of just heaven, theyd be literal tyranny.
==Christians want to make this country into a violent theocracy and theyre not even being subtle about it anymore.==
Keep religion out of public schools.
[Click here to support my writing](https://ko-fi.com/lilithhelstrom)
![Lilith Helstrom](https://miro.medium.com/v2/resize:fill:40:40/1*YyY95-dMd1BZpr-a-_ltYQ@2x.jpeg)
## Lilith's Thoughts On Religion And Atheism
-80
View File
@@ -1,80 +0,0 @@
---
title: "When Christianity Meets Porn"
source: "https://medium.com/@jackieschuld/when-christianity-meets-porn-96fa09cd1061"
author:
- "[[Jackie Schuld]]"
published: 2024-10-15
created: 2024-10-29
description: "Please note: This essay contains descriptions of sexual acts. I wrote this essay with the intention of exploring the complex world of sexuality and Christian beliefs. But that didnt stop him from…"
tags:
- "clippings"
---
I knew a young Christian man who wanted to wait until marriage to have sex.
But that didnt stop him from watching porn. The internet was brand new, and he burned his favorite porn videos onto a CDrom that he could watch whenever his family wasnt home.
He knew this was sin, but he couldnt help himself.
In evangelical Christianity, it is taught that all sins are equal. And yet, there it is a quiet ranking that occurs. Sometimes it is talked about in public, and sometimes it is simply rationalized in ones mind.
For this young man, sex before marriage was far too big of a sin to break, but he could forgive himself for watching pornography. Shame accompanied his actions, but it didnt stop him from continuing.
After listening to a particularly stringent sermon, hed feel the Holy Spirit calling him to stop his sin. Hed try for a week, but then fall back into what he called “pornography addiction.” This cycle happened over and over again.
## Within the church, there is a vocal movement against pornography.
It is preached that pornography takes a sacred act that is intended to be between man and woman and turns it into a tool of the devil. It stirs up lust within those who watch. In the Bible, it says that it is better for a man to gouge out his eye than look lustfully at a woman. In Christian beliefs, you can sin in thought alone. Thus, in the views of the church, not only does pornography cause individuals to sin in their thoughts, it also causes them to sin by committing sexual acts. Most churches preach that masturbation is wrong.
As someone raised in an evangelical church, I never heard a frank discussion about pornography from the pulpit. That was because it was considered too “vulgar” for an entire family to hear. Typically, the young men and women were separated for Sunday School (an hour in which you learn more about the Bible in a classroom setting). It was in this setting that young men were taught about the evils of pornography. I only knew it happened because my male friends told me about it.
In contrast, all of the lessons I received about sexuality revolved around being “modest” and staying pure for our future husbands.
## The young man I knew wanted to be a man worthy to lead a Chrsitian home.
He wanted to break himself free from “the chains” of pornography. However, he simply couldnt.
What he didnt realize was that his pornography exploration was slowly shaping what his brain found sexually exciting.
In college he began dating a woman — a woman who wanted to venture farther than he had sexually. Since they were both Christians, they didnt want to have sex — what they defined as penis-in-vagina penetration.
This explanation may seem unnecessarily graphic, but many Christians try to “maintain” virginity by performing other sex acts (mutual masturbation, oral sex, or anal sex). While all would admit that these sex acts are sin, they are “at least” maintaining virginity for their future spouse.
**Its easy to see why sex is so convoluted for Christians.**
![](https://miro.medium.com/v2/resize:fit:700/0*aRA_DMcJu5SduRcv)
Photo by [Maru Lombardo](https://unsplash.com/@marustereo?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
For this young man, pornography added another layer of complication.
And heres how I came to be the bearer of such information. The young woman he dated in college was my roommate. Like a good Christian man, he “confessed” his sins to her and they prayed together for his healing. He promised to abstain from pornography as their relationship developed.
With time, they progressed in their intimate and sexual acts. My roommate told me one night that there was something bothering her about their relationship. She was incredibly embarrassed to tell me, but with enough reassurance on my part, she finally did. Whenever her boyfriend came (whether through a hand job or oral sex), he always insisted on coming on her. She had asked him not to, but he continued to “accidentally” do it.
She wanted my advice.
I had none, other than to tell her she should ask again. Id certainly have a lot more to say now, but I was ignorant to the world of sex, let alone the concepts of consent, sexual psychology, and more.
Two weeks later, my roommate burst into our room sobbing. Her boyfriend confessed that he wasnt able to quit pornography and had been secretly watching it throughout their relationship. To make matters worse, the kind of porn he liked to watch always ended with the man coming on the woman.
Suddenly, everything made sense to my friend. She raged about pornography and its “satanic hold” on her boyfriend and all that it led him to do.
A Christian myself (at the time), I joined my friend in placing the blame on pornography.
## As I now reflect on what happened, I view the situation with far more complexity.
I see both my friend and her boyfriend as victims.
My friend made her sexual boundaries clear and her boyfriend violated them. She was a victim.
Her boyfriend was a victim of a different kind. ==Growing up in Christianity, he never had the psychological or spiritual permission to freely explore his own sexuality. His sexual choices were ridden with guilt, which only drew him in farther.==
I wonder how things may have turned out differently for him had he not been taught that any sexual act was a sin. He clearly was psychologically unwell — burdened with soul-crushing shame and falling into behaviors he deemed as sexual addiction. He was so unwell that he became a perpetrator. He violated my friends trust and sexual autonomy.
But he could only blame “Satan” and his tools (pornography), instead of getting the real psychological help he needed.
I wonder where this young man is today. Hes certainly no longer young. Is he still Christian? Is he still ridden with guilt about his past? Is he still struggling with pornograpy addiction? Is he still violating womens requests and rights?
I also wonder about my roommate whom Ive lost touch with. Was she able to emotionally and psychologically recover from what happened? Did she continue in relationships in which her requests were ignored?
I understand this essay is probably a difficult one to read, but I feel it is important to share because it displays some of the emotional and psychological impacts of Christian beliefs about sexuality, Satan, and sin.
-73
View File
@@ -1,73 +0,0 @@
---
title: "When I Became a Cougar"
source: "https://medium.com/crows-feet/when-i-became-a-cougar-34720d1b7301"
author:
- "[[Deb Fiore]]"
- "[[LICSW]]"
published: 2024-10-13
created: 2024-10-29
description: "The night I became a cougar was quite the accident. I had no intention of seducing any of my sons teenage friends. Things just sort of happened. My story was inspired by a wonderful writer, Pam…"
tags:
- "clippings"
---
For those of you who do not know me, I must tell you that if you look in the dictionary under the word, *prude*, you will find me.
At least, that is how I thought of myself for most of my life. I grew up in a traditional Italian family. My first marriage was to an Italian man who was confused about his responsibility to his family. Thats part of the reason we are divorced.
Lee is my second spouse. He is my knight in shining armor. Lee awakened me in more ways than I can write about here because this is G-rated. He understood more about what I needed than I understood myself.
When I began dating Lee, I was a single mom raising two teenage boys, aged sixteen and eighteen. Lee had two boys who were older by a decade so he understood my boys were my priority. Always.
We kept life G-rated. Lee met my boys, and we all hung out together. After a few years, I knew Lee was a keeper. He began spending more time with my boys and me.
Eventually, Lee would spend the whole weekend. The boys were okay with that. Well, yes, I was somewhat uncomfortable because I was such a prude.
It took a long time before I began to accept the world of a divorcee. I never considered myself overly attractive but Lee thought differently. He insisted that I dress rather provocatively.
Picture mini-skirts, stockings, and garters. I mean, here I was fifty-something and afraid to show off my assets.
Lee told me that was another reason he loved me so much. He was so amazed by my innocence. Can you imagine?
Fast forward to the time when I became a cougar…
Lee and I were going dancing at a local club one night and he expected me to dress my best. I was hesitant because my boys were home when Lee picked me up. I did not want them to see me dressed suggestively.
Most of the time, my boys were out with their friends. Or I would wear my long trench coat. That night, my oldest son, Jay, was staying home. My youngest son, Mark, had friends visiting while they made plans for the night.
When Lee arrived, I greeted him in the living room dressed in my finery. I met several teenage boys waiting for my youngest son, Mark.
I smiled although I felt a bit flustered in my mini-skirt. Introductions were made all around. Then I headed back to my bedroom for the final touch.
Suddenly I was flanked by several young boys asking dating questions. And where we were going dancing. They never stopped talking.
It was a narrow hallway and they were a little too close for comfort.
I heard Jay yelling, “Get away from my mother. You are not allowed in her bedroom!”
I smiled to myself, thinking my son was a bit overprotective. Little did I know he had circumvented their expectations.
Once the boys were cleared away from my bedroom, Jay came inside and shut the door.
“Do you know what just happened, Mom?” I shook my head.
==“Those meatheads thought you were a cougar. Their brains just stopped working!”==
“Is that a good thing? Being a cougar?” I had no idea because I was so naive with all the slang.
After Jay explained the meaning of a cougar, I blushed very hard. Then I burst out laughing. It was amazing to think young teen boys would be interested in me. Imagine? At my age?
Soon Lee came knocking at my door. Jay let him in and explained the situation. Lee was laughing, too. For different reasons, of course.
Lee said, “No one will have you but me. You are way too sexy. I intend to keep you all to myself.”
As we headed out the door, we were still chuckling. Mark looked at us and wondered what had happened. He had no idea what we were laughing about. Mark had missed it all.
It was interesting being labeled a cougar. At first, I was embarrassed, and a bit flustered. Then it sunk in. Others thought I was a sexy mom, not just an old lady. That felt amazing!
Suddenly, I felt like a new woman, more attractive again. I would never act like a cougar with younger men but it felt like a nice compliment.
Lee and I had a wonderful night. We danced and sang. He was extra attentive. We enjoyed every moment of our time together.
We had no idea it would be the last time we would dance together for a very long time.
***I wrote*** [***another story***](https://medium.com/the-memoirist/i-had-the-time-of-my-life-d0b394f88cf3) ***about what happened the following day. Fair warning: It is less fun than the previous story you just read.***
@@ -1,82 +0,0 @@
---
title: "Where have all the Software Development Jobs gone?"
source: "https://medium.com/womenintechnology/where-have-all-the-software-development-jobs-gone-4925e637587c"
author:
- "[[Sarah Writtenhouse]]"
published: 2024-09-12
created: 2024-10-29
description: "Until recently, software developers have taken their high salaries and endless job options for granted. But lately theres been a growing uneasiness among experienced developers about job security…"
tags:
- "clippings"
---
## Tech Job Watch
## Heres what you need to know.
[
![Sarah Writtenhouse](https://miro.medium.com/v2/resize:fill:88:88/1*6qm0tuJf2ibDkSCdrBLTQg.jpeg)
](https://medium.com/@sarahwrittenhouse?source=post_page---byline--4925e637587c--------------------------------)
[
![Women in Technology](https://miro.medium.com/v2/resize:fill:48:48/1*TmgndKQmbol_5RI5phIJYA.png)
](https://medium.com/womenintechnology?source=post_page---byline--4925e637587c--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*Xagw0P8mbb0s6rfQNrT5uw.jpeg)
Photo by [Gustavo Fring](https://www.pexels.com/photo/surprised-man-in-green-hoodie-jacket-using-a-computer-5621961/) on Pexels.com
> Not a Medium member? You can read for free by going [**here**](https://medium.com/womenintechnology/where-have-all-the-software-development-jobs-gone-4925e637587c?sk=88d399a2cb1311119e6f27e5e9901354).
==Until recently, software developers have taken their high salaries and endless job options for granted. But lately theres been a growing uneasiness among experienced developers about job security and wage stability.==
These concerns are caused by sweeping tech layoffs that started in 2022. Since then, over half a million technical jobs have been lost and salaries have been dropping as unemployed talent floods the job market.
Not only that, ChatGPT was released at about the same time. Its ability to instantly generate elegant code set off alarms throughout the coding community compounding sinking career confidence.
## What caused the layoffs?
The pandemic shutdown triggered a huge surge in technical work as companies rushed to meet demand for remote work capabilities, telemedicine, e-commerce growth, and virtual services. But as lockdowns were lifted and projects wrapped up, technical demand fell sharply, spurring broad layoffs in April 2022.
Over the next year, more than 300,000 technical jobs were cut with far fewer new job openings. Some saw this as a sign of things to come, signaling a decline in corporate technology investment.
Fortunately, thats not whats happening at all. The job loss was actually an expected correction following the pandemic surge. Since then, job cuts have ramped down and leveled off to pre-pandemic rates.
You can breathe a sigh of relief because the tech industry is alive and well. But (and this is a big but), as new technology expands there are huge shifts in corporate investment. New tech jobs are pointing to major tech industry disruption and transformation.
## The Job Market is Telling Us What is Happening
There are two mega disruptors right now, Artificial Intelligence (AI) and Cloud Computing.
AI is forcing a shift away from routine technical activities that can be automated including software testing, technical support, data processing, basic web development, and database maintenance among others. These lower-level roles will be replaced, and more specialized roles will be created as AI is implemented.
Will software developers be replaced too? No, roles that require creativity, problem-solving and complex decision-making are not likely to be replaced by AI anytime soon. These include *Software Developers/Engineers, Data Architects, and Systems Architects,* but it wont be business as usual for these roles.
These new AI development roles will allow seasoned developers to leverage existing programming language experience like Java, Python and C++. But they will also require an upskill to ML, Natural Language Processing (NLP) and Deep Learning Frameworks like TensorFlow (Google), PyTorch (Facebook), CNTK (Microsoft) and MXNet (Amazon).
In addition to software development, other technical jobs will be impacted by AI in similar ways. New AI specialized roles will also require augmented skills. For example, current AI job postings on LinkedIn include, *AI Product Managers, AI Research Scientists, AI Solutions Architects, AI Developers/Engineers.*
This AI transformation overlaps with the *Cloud Computing* transformation taking place in parallel. New positions are being created to build AI in Azure, AWS, IBM Watson and Google Cloud platforms using integrated AI, ML services and Deep Learning Frameworks.
Cloud computing job demand continues to trend and like AI roles, these jobs are highly specialized. They require both cloud computing and AI skillsets in addition to software development expertise. These roles include *Cloud Computing Engineers*, *Cloud Automation Engineers*, and *Cloud Solutions Architects*.
Looking at these AI and Cloud Computing job postings on [LinkedIn](https://www.linkedin.com/) over a 30-day period, **there are over 16,000 new job postings.** About 9,000 of these are mid-level *AI Developer* and *AI Engineering* positions**.**
Interestingly, half of these job postings were added within the last 7 days, suggesting that AI and Cloud Computing demand is ramping up.
![](https://miro.medium.com/v2/resize:fit:700/1*x8JQqXIjKC-e2xBH1XKOLw.jpeg)
Photo by [Airam Dato-on](https://www.pexels.com/photo/close-up-of-linkedin-page-on-smartphone-screen-16450744/) on Pexels.com
## If youre still worried about your job, heres the takeaway
There is plenty of work out there for you, but youll need to learn new tools and skills to stay competitive.
You wouldnt be in this field if you didnt love technology and the excitement that comes with it. So, buck up, train up and lean in to change if you want to be part of the transformation.
*Subscribe* to receive my ***Monthly Technology Jobs Report*** in your inbox and read the latest edition here [***Tech Job Watch — October***](https://medium.com/womenintechnology/cracking-the-code-of-the-tech-job-market-e638d4f0cb5c?sk=4cabde2df6dc645e728726dc92648315)***.***
*With over 20 years of technical industry experience,* ***Sarah Writtenhouse*** *shares her insights about job market trends, emerging technology and software development. For short articles about technology basics for Computer Science and IT students visit her blog,* [**writtenhouse tech**](https://writtenhousetechhouse.blogspot.com/)**.**
@@ -1,148 +0,0 @@
---
title: "Why Church Leaders Are So Worried About Deconstruction"
source: "https://medium.com/backyard-theology/why-church-leaders-are-so-worried-about-faith-deconstruction-8f3a61982bb4"
author:
- "[[Dan Foster]]"
published: 2024-08-26
created: 2024-10-29
description: "According to Barna Research, “52% of U.S. adults and teens have experienced religious doubts in the past three years.” This growing trend reflects a broader movement towards faith deconstruction…"
tags:
- "clippings"
---
## And Why They Shouldnt Be
[
![Dan Foster](https://miro.medium.com/v2/resize:fill:88:88/1*h9MF5af2iBT-qrUGDYiLsA.png)
](https://medium.com/@danfosterwriter?source=post_page---byline--8f3a61982bb4--------------------------------)
[
![Backyard Church](https://miro.medium.com/v2/resize:fill:48:48/1*AcPwoVqPHxkKZJZSH5T3QQ.png)
](https://medium.com/backyard-theology?source=post_page---byline--8f3a61982bb4--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/0*9xVn1kPgKP7cYPfF.jpeg)
Image by [STEKLO](https://www.shutterstock.com/g/STEKLO) on [Shutterstock](https://www.shutterstock.com/image-photo/religion-woman-on-dark-background-looking-1955862436)
Have you ever had doubts about any aspect of the Christian faith?
Youre not alone.
According to [Barna Research](https://www.barna.com/research/doubt-faith/), “52% of U.S. adults and teens have experienced religious doubts in the past three years.” This growing trend reflects a broader movement towards faith deconstruction, where individuals critically examine and reassess their religious beliefs and practices.
Deconstruction isnt necessarily about rejecting your faith outright. Its about engaging deeply with ones beliefs to determine what holds up under scrutiny. Its a process that can lead to a more authentic and meaningful understanding of faith and that makes it a good thing!
And yet, faith deconstruction seems to terrify many traditional church leaders. John Cooper, the lead singer of Christian rock band Skillet, shared his views on this topic with his audience at a recent concert.
To put it simply, hes not a fan.
*“It is time that we declare war against this deconstruction Christian movement,”* He said during an impassioned sermon in front of his adoring fans. *“I dont even like calling it deconstruction Christian. There is nothing Christian about it. It is a false religion.”*
So, I guess people in the throes of faith deconstruction — people like me — need to prepare for a war, whatever that means. There are bits and pieces of Coopers rant on various social media platforms. Here is a snippet from YouTube:
Source: [YouTube](https://www.youtube.com/watch?v=UF3lRs2cUIE)
After declaring war on deconstruction, Cooper questions why a generation that prides itself on being its most “authentic self” is also *“the most medicated, anxious, and suicidal in our nations history.”*
I might have answered, *“Religious trauma at the hands of fundamentalist churches and institutions might have something to do with it,”* but this was a different crowd — and they cheered their approval.
Cooper went on:
> “And for all those formerly Christian people who have tried to tell all these young folks that they think they found a third way, their third way is this: Its OK if youre into Jesus, just dont be into the Bible. Im here to tell you, young folks, there is no such thing as loving Jesus but not loving his Word.”
Then he seamlessly segued into a promotion of his own book aptly titled, *“Awake and Alive to Truth,”* which he wrote because a *“generation of young people have not been taught the basic principles of the word of God,”* and his book provides both the truth and the Biblical principles young people need… apparently.
Coopers perspective on faith deconstruction mirrors the views of other Christian leaders, such as renowned evangelical preacher Matt Chandler, who said:
> “You and I are in an age where deconstruction and the turning away from and leaving the faith has become some sort of sexy thing to do. I contend that if you ever experience the grace and mercy of Jesus Christ actually, that thats really impossible to deconstruct from.”
Its no surprise that conservative Christians are practically quaking in their boots over deconstruction. Theyre not quite sure what it is, where it came from, or why its happening, but theyre definitely certain its a threat to their dwindling empire. They cant help but see deconstruction as a dastardly plot to undermine their once-ironclad grip on American Christianity. So, they attack it with both barrels.
There are all sorts of problems with Coopers rhetoric and Chandlers false conclusion about faith deconstruction. It shows just how much they dont get it. Let me explain:
## Deconstruction is not deconversion
Theres a fundamental misunderstanding of what “deconstruction” amongst many church leaders. Despite what Cooper and Chandler assert, Deconstruction is not the same as “walking away from the faith.”
In her book [*Searching for Sunday: Loving, Leaving, and Finding the Church*](https://www.christianbook.com/searching-sunday-loving-leaving-finding-church/rachel-evans/9780718022129/pd/022129?en=bing-pla&event=SHOP&kw=christian-living-0-20%7C022129&p=1179517&dv=c&msclkid=bb10ee61863d19391659b19d36cf79bb&utm_source=bing&utm_medium=cpc&utm_campaign=Shopping+Main&utm_term=4580221845592405&utm_content=s-christian+living), Rachel Held Evans defines faith deconstruction as taking a *“massive inventory of your faith, tearing every doctrine from the cupboard and turning each one over in your hand.”*
Faith deconstruction involves breaking down every aspect of a religious system — its ideas, practices, beliefs, and traditions — into smaller components and examining each one for its truth and relevance. The aim is to rebuild a more authentic and meaningful understanding, discarding what is peripheral, burdensome, or distorted.
Sure, doing this can result in deconversion for a certain percentage of people. For others, it means their faith remains largely unchanged. And others end up finding a much deeper and more robust understanding of the Christian faith.
Its just that their new expression of Christian faith may or may not include the institution of the Church.
And that is a problem for pastors.
## Deconstruction is not a different religion
Lets be clear: Deconstruction is not a religion but a critical examination of religion. Neither is deconstruction an alternative belief system to Christianity.
==Deconstruction is not the opposite of faith. But it== ==***is***== ==the opposite of blind faith.==
The way that Cooper calls deconstruction a false religion — as if it were something entirely different from Christianity — shows that he doesnt understand this. In fact, Cooper pits Christianity and deconstruction as mortal enemies because that suits his purpose. He wants to make his followers frightened to even go there!
## Deconstructists are not the enemies of Christians
Try to appreciate the irony and the hypocrisy of a person who follows Jesus — the Prince of Peace — declaring war against anyone for any reason. It sets off a few alarms bells for me! Its bad enough to declare war on anyone who believes differently, but to declare war on other Christians, well, that beggars belief.
You have to wonder what Cooper means by *“declaring war on the deconstruction movement?”* I mean, how do you attack a movement? Do you target ideas or individuals?
Surely not the latter!
But, make no mistake. His statements carry a subtle undertone of violence and are ambiguous enough that some in his audience might interpret them as a justification for aggressive actions against fellow Christians who dare to challenge the established norms of their faith.
After all, people in positions of influence can incite both violence and stupidity, whether they mean to or not. Im thinking about the words of a certain former US President and the storming of the Capitol and how there may or may not be a causal link between the two. You be the judge.
![](https://miro.medium.com/v2/resize:fit:700/0*Ay2UHFpKUa5-xsxM.jpeg)
Image by [pathdoc](https://www.shutterstock.com/g/pathdoc) on [Shutterstock](https://www.shutterstock.com/image-photo/man-many-questions-no-answer-750240475)
## Doubters are not welcome at the table
Unfortunately, the Evangelical Christian Church has consistently shown that questioning is not welcome within its framework. You either conform to their version of the truth or face exclusion. Coopers statement is another nail in the coffin of genuine dialogue and open inquiry within the church.
Ironically, his harsh and dismissive attitude towards those who question the established norms may actually fuel the Deconstruction movement he fears. If pastors and church leaders took the time to listen to doubters and provided a safe space for exploring their questions, its likely that the Deconstruction movement wouldnt have gained such traction.
Imagine what it would look like if churches allowed individuals the time and space to work through their faith, offered unwavering support and love regardless of doctrinal disagreements, and stood by them as they challenged outdated or confusing answers.
## Deconstruction is actually spiritual growth
In 1981, [James Fowler](https://en.wikipedia.org/wiki/James_W._Fowler), a Professor of Theology and Human Development, published a work called [*Stages of Faith*](https://books.google.com.au/books/about/Stages_of_Faith.html?id=1otLR7y6e7UC&redir_esc=y), where he built on the work of renowned thinkers like Piaget, Erikson, and Kohlberg, to give a framework for understanding how faith, and our own quest for meaning, develop in us over the course of our lifetime.
Fowler asserts that the person experiencing a “faith crisis” may actually be further advanced in their faith development than the person who has never done so. According to Fowler, doubt, disillusionment, and deconstruction are, in fact, a sign of spiritual growth rather than spiritual decline. To me, this makes complete sense. How can faith be proven genuine unless it is genuinely tested?
People who never question their faith, placing their confidence and trust in the individuals or groups that represent their beliefs — pastors, for example — never grow into spiritually mature adults as they are constantly sucking on the teat of their spiritual overseers. Deconstruction forces one to arrive at conclusions for themselves rather than outsourcing their faith to others.
So, why are people like Cooper and Chandler so frightened of people questioning their religion and the religious systems set up to perpetuate it? Shouldnt they welcome the faith crisis as a necessary step toward spiritual maturity?
Yes, they should.
But they wont, and there is an excellent reason for it. As American author [Upton Sinclair](https://www.brainyquote.com/quotes/upton_sinclair_138285#:~:text=Upton%20Sinclair%20Quotes&text=It%20is%20difficult%20to%20get%20a%20man%20to%20understand%20something,upon%20his%20not%20understanding%20it.) once said, *“It is difficult to get a man to understand something when his salary depends upon his not understanding it.”*
## What now?
Im left wondering what comes next.
With high-profile Evangelicals like Cooper and Chandler openly denouncing those who challenge their version of faith, it feels as though were on the brink of a new kind of conflict.
Whats next?
Witch hunts?
Sure, you might think Im being dramatic, but a declaration of a Holy War is a pretty serious thing.
Of course, there is another way.
Instead of labeling those with questions and doubts as the enemy, instead of demonizing them, divorcing them from the church, declaring war on them, and alienating them further, maybe — just maybe — the church could shut up long enough to sit and listen to us: The doubters; The deconstructors.
Our doubts are not unreasonable.
Our questions are not preposterous.
Our thoughts are not irrational.
And our grievances are not unwarranted.
@@ -1,242 +0,0 @@
---
title: "Why Developers Are Ditching PostgreSQL, MySQL and MongoDB"
source: "https://aws.plainenglish.io/why-developers-are-ditching-postgresql-mysql-and-mongodb-b3b953ebe6b6"
author:
- "[[Dipanshu ]]"
published: 2024-10-01
created: 2024-10-29
description: "Traditional databases falling short? Dive into 6 exciting database alternatives that are reshaping data management. From time series to vector search, stay ahead of the curve."
tags:
- "clippings"
---
## The Database Revolution Your Project Is Missing Out On
[
![Dipanshu ](https://miro.medium.com/v2/resize:fill:88:88/1*SToMouWcalbMTg3N3mERqQ.png)
](https://dipanshu10.medium.com/?source=post_page---byline--b3b953ebe6b6--------------------------------)
[
![AWS in Plain English](https://miro.medium.com/v2/resize:fill:48:48/1*6EeD87OMwKk-u3ncwAOhog.png)
](https://aws.plainenglish.io/?source=post_page---byline--b3b953ebe6b6--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*JxbgCyYIbL00f9o_9VZ-PA.png)
image by author
> ==[Non-Medium Members Can Read the Full Article by Clicking Here.](https://aws.plainenglish.io/why-developers-are-ditching-postgresql-mysql-and-mongodb-b3b953ebe6b6?sk=df706ca38c768a4135c1f2cf3b180f92)==
Traditional relational databases like PostgreSQL and MySQL, as well as document stores like MongoDB, have long been the go-to solutions for many developers. However, as data requirements become increasingly diverse and complex, a new generation of specialized databases has emerged to address specific challenges. In this article i will uncovers the alternative databases that offer unique capabilities for various use cases, providing a technical exploration of their features and practical Python code examples.
## Milvus :Scalable Vector Database for AI and Machine Learning
Milvus is an open-source vector database designed to power AI applications and similarity search at massive scale. Its particularly useful for applications involving machine learning, computer vision, natural language processing, and recommender systems.
## Key Features:
- **Efficient Similarity Search**: Implements various indexing algorithms for fast nearest neighbor search in high-dimensional spaces.
- **Scalability**: Supports distributed deployments for handling large-scale vector data.
- **Hybrid Search**: Combines vector similarity search with scalar filtering for complex queries.
- **CRUD Operations**: Supports create, read, update, and delete operations on vector data.
- **Data Consistency**: Ensures strong consistency of data in distributed environments.
## When to Use Milvus:
- Image and video search
- Recommendation systems
- Natural language processing applications
- Fraud detection
## Python Example:
```
from pymilvus import Collection, CollectionSchema, DataType, FieldSchema, connectionsdef main() -> None: connections.connect() fields = [ FieldSchema(name="id", dtype=DataType.INT64, is_primary=True), FieldSchema(name="vector", dtype=DataType.FLOAT_VECTOR, dim=128), ] schema = CollectionSchema(fields, "Vector collection example") collection = Collection("example_collection", schema) import numpy as np vectors = np.random.random([1000, 128]).astype(np.float32) ids = list(range(1000)) collection.insert([ids, vectors]) collection.load() results = collection.search( vectors[:1], "vector", param={"metric_type": "L2", "params": {"nprobe": 10}}, limit=3, ) for hit in results[0]: print(f"Hit ID: {hit.id}, Distance: {hit.distance}")if __name__ == "__main__": main()
```
This example demonstrates how to create a collection in Milvus, insert vector data, and perform a similarity search.
## InfluxDB: Mastering Time Series Data
InfluxDB is a purpose-built time series database designed for high-performance handling of timestamped data. It excels in scenarios such as monitoring Internet of Things (IoT) applications and real-time analytics.
## Key Features:
- **Time-Structured Merge Tree (TSM)**: InfluxDB uses a custom storage engine optimized for time series data, providing efficient compression and fast queries.
- **Flux Query Language**: A powerful functional data scripting language designed for time series data analysis.
- **Continuous Queries**: Automatically computed aggregate data to optimize frequently-used queries.
- **Retention Policies**: Automated data management policies to down-sample or expire old data.
**When to Use InfluxDB:**
- Real-time analytics applications
- IoT data monitoring
- System monitoring and metrics collection
## Python Example:
```
from datetime import datetimeimport numpy as npfrom influxdb_client import InfluxDBClient, Point, Task, WritePrecisionfrom influxdb_client.client.write_api import SYNCHRONOUStoken = "your_token"org = "your_org"bucket = "example_bucket"client = InfluxDBClient(url="http://localhost:8086", token=token)write_api = client.write_api(write_options=SYNCHRONOUS)for i in range(100): point = ( Point("cpu_load") .tag("host", "server01") .field("value", np.random.uniform(0.5, 1.5)) .time(datetime.now(), WritePrecision.NS) ) write_api.write(bucket=bucket, org=org, record=point)query_api = client.query_api()flux_query = f"""from(bucket: "{bucket}") |> range(start: -1h) |> filter(fn: (r) => r._measurement == "cpu_load") |> filter(fn: (r) => r._field == "value") |> aggregateWindow(every: 5m, fn: mean, createEmpty: false) |> yield(name: "mean")"""tables = query_api.query(flux_query)for table in tables: for record in table.records: print( f"Time: {record.get_time()}, 5-Minute Moving Average: {record.get_value()}" )task = Task( name="cpu_load_moving_avg", flux=f""" option task = {{ name: "cpu_load_moving_avg", every: 1m }} from(bucket: "{bucket}") |> range(start: -1m) |> filter(fn: (r) => r._measurement == "cpu_load") |> aggregateWindow(every: 1m, fn: mean) |> to(bucket: "{bucket}", org: "{org}") """,)tasks_api = client.tasks_api()tasks_api.create_task(task=task)print("Task created to calculate and store rolling averages every minute.")
```
This example demonstrates:
1. Connecting to InfluxDB and setting up a write API.
2. Generating and writing simulated sensor data with multiple fields and tags.
3. Querying data using Flux to calculate mean values over the last hour.
4. Processing and displaying query results.
## Neo4j: Unraveling Complex Relationships
Neo4j is a graph database that uses nodes, edges, and properties to represent and store data. This structure is ideal for applications where relationships between entities are crucial, such as social networks or recommendation systems.
## Key Features:
- **Property Graph Model**: Represents data as nodes, relationships, and properties, allowing for rich data modeling.
- **Cypher Query Language**: A declarative query language designed for working with graph data.
- **ACID Transactions**: Ensures data integrity even in highly connected data scenarios.
- **Native Graph Storage**: Optimized for traversing relationships, making complex queries faster compared to relational databases.
## When to Use Neo4j:
- Social network analysis
- Recommendation engines
- Fraud detection systems
- Knowledge graphs
## Python Example:
```
from neo4j import GraphDatabase, ManagedTransactionURI = "bolt://localhost:7687"DRIVER = GraphDatabase.driver(URI, auth=("neo4j", "password"))def add_friend(tx: ManagedTransaction, name: str, friend_name: str) -> None: tx.run( "CREATE (a:Person {name: $name})-[:FRIEND]->(b:Person {name: $friend_name})", name=name, friend_name=friend_name, )def main() -> None: with DRIVER.session() as session: session.write_transaction(add_friend, "Alice", "Bob") with DRIVER.session() as session: result = session.run( "MATCH (a:Person)-[:FRIEND]->(b:Person) RETURN a.name, b.name" ) for record in result: print(f"{record['a.name']} is friends with {record['b.name']}") DRIVER.close()if __name__ == "__main__": main()
```
This example demonstrates:
1. Creating a reusable Neo4j connection class.
2. Adding nodes (people) and relationships (friendships) to the graph.
3. Performing a more complex query to find “friends of friends” — a task that would be more complicated in a relational database.
## DuckDB: Analytical Queries at Lightning Speed
DuckDB is a lightweight, in-process analytical database often described as “SQLite for analytics.” Its designed for fast analytical queries, particularly in data science workflows, and can seamlessly integrate with pandas DataFrames.
## Key Features:
- **Vectorized Query Execution**: Processes data in batches rather than row-by-row, leading to significant performance improvements.
- **Column-Oriented Storage**: Optimized for analytical queries that typically involve a subset of columns.
- **Zero-Copy Data Ingestion**: Can query data directly from sources like Pandas DataFrames without copying.
- **ACID Transactions**: Ensures data consistency and reliability.
## When to Use DuckDB:
- Data analysis and exploration
- ETL processes
- Embedded analytics in Python applications
## Python Example:
```
import duckdbimport numpy as npimport pandas as pdduckdb.execute("""CREATE TABLE employees AS SELECT * FROM 'employees.csv';""")result = duckdb.execute("SELECT COUNT(*) FROM employees").fetchall()print(f"Total number of employees: {result[0][0]}")df = pd.DataFrame( { "employee_id": range(1, 101), "name": [f"Employee {i}" for i in range(1, 101)], "salary": np.random.randint(50000, 150000, size=100), })duckdb.execute("CREATE TABLE df_employees AS SELECT * FROM df")high_earners = duckdb.query_df(df, "df", "SELECT * FROM df WHERE salary > 100000").df()print("High earners:")print(high_earners)window_query = """SELECT employee_id, salary, AVG(salary) OVER () AS avg_salary, RANK() OVER (ORDER BY salary DESC) AS rankFROM df_employees"""ranked_salaries = duckdb.execute(window_query).df()print("Ranked salaries with average:")print(ranked_salaries)department_df = pd.DataFrame( { "employee_id": range(1, 101), "department": np.random.choice( ["Engineering", "HR", "Sales", "Marketing"], size=100 ), })duckdb.execute("CREATE TABLE departments AS SELECT * FROM department_df")aggregation_query = """SELECT d.department, COUNT(e.employee_id) AS num_employees, AVG(e.salary) AS avg_salaryFROM df_employees eJOIN departments dON e.employee_id = d.employee_idGROUP BY d.department"""department_stats = duckdb.execute(aggregation_query).df()print("Department statistics:")print(department_stats)
```
This example demonstrates:
1. Creating an in-memory DuckDB database and registering a Pandas DataFrame as a table.
2. Executing a complex analytical query that includes:
- Daily aggregations
- Moving averages
- Lag calculations for day-over-day comparisons
3\. Performing overall statistical calculations on the dataset.
## Redis: High-Performance Data Structures
Redis is a fast, in-memory data structure store that can be used as a database, cache, and message broker. Unlike traditional databases, Redis runs entirely in memory, making it extremely fast for read and write operations.
## Key Features:
- **In-Memory Data Storage**: Provides extremely fast read and write operations.
- **Data Structures**: Supports strings, hashes, lists, sets, sorted sets, bitmaps, hyperloglog, and geospatial indexes.
- **Pub/Sub Messaging**: Built-in publish/subscribe messaging paradigm for building real-time applications.
- **Lua Scripting**: Allows for complex operations to be performed atomically on the server-side.
## When to Use Redis:
- Caching layer for performance improvement
- Real-time analytics
- Session management
- Leaderboards and counting
## Python Example:
```
import subprocessimport threadingimport timeimport redistype RedisProcess = subprocess.Popen[bytes]stop_listening = threading.Event()def start_redis_server() -> RedisProcess: process = subprocess.Popen( ["redis-server"], stdout=subprocess.PIPE, stderr=subprocess.PIPE ) time.sleep(0.5) return processdef stop_redis_server(process: RedisProcess) -> None: process.terminate() process.wait()def real_time_data(r: redis.Redis) -> None: r.set("page_views", 0) r.incr("page_views") r.incr("page_views") page_views = r.get("page_views").decode("utf-8") print(f"Page views: {page_views}")def task_queue(r: redis.Redis) -> None: r.rpush("task_queue", "task1") r.rpush("task_queue", "task2") r.rpush("task_queue", "task3") task = r.lpop("task_queue").decode("utf-8") print(f"Processing task: {task}")def redis_set(r: redis.Redis) -> None: r.sadd("unique_users", "user1") r.sadd("unique_users", "user2") r.sadd("unique_users", "user1") unique_users = r.smembers("unique_users") print(f"Unique users: {[user.decode('utf-8') for user in unique_users]}")def expiring_data(r: redis.Redis) -> None: r.set("session_token", "abc123", ex=3600) session_token = r.get("session_token").decode("utf-8") print(f"Session token: {session_token} (will expire in 1 hour)")def pub_sub_messaging(r: redis.Redis) -> None: def message_handler(message): print(f"Received message: {message['data'].decode('utf-8')}") def listen_for_messages(): p = r.pubsub() p.subscribe("my-channel") while not stop_listening.is_set(): message = p.get_message(timeout=1.0) if message and message["type"] == "message": message_handler(message) listener_thread = threading.Thread(target=listen_for_messages) listener_thread.start() time.sleep(0.5) r.publish("my-channel", "Hello, Redis!") time.sleep(0.5) stop_listening.set() listener_thread.join() def main() -> None: redis_process = start_redis_server() r = redis.Redis(host="localhost", port=6379, db=0) real_time_data(r) task_queue(r) redis_set(r) expiring_data(r) pub_sub_messaging(r) stop_redis_server(redis_process) print("Redis server stopped.")if __name__ == "__main__": main()
```
This example demonstrates various Redis features, including counters, task queues, sets for unique items, expiring data, and pub/sub messaging.
## **Tile38 :**Geospatial Database and Geofencing Server
Tile38 is a specialized geospatial database that allows you to store, query, and analyze geospatial data in real-time. Its ideal for applications such as fleet management, asset tracking, and location-based services.
## Key Features:
- **Geospatial Indexing**: Efficiently indexes and queries spatial data.
- **Real-time Geofencing**: Supports instant notifications when objects enter or exit defined areas.
- **Multiple Object Types**: Handles points, bounding boxes, XYZ tiles, GeoJSON, etc.
- **Scripting**: Supports Lua scripting for complex geospatial operations.
- **Pub/Sub Model**: Allows for real-time notifications of spatial events.
## When to Use Tile38:
- Fleet management systems
- Location-based services
- Asset tracking
- Geofencing applications
## Python Example:
```
import threadingimport timefrom pyle38 import Tile38tile38 = Tile38(url="redis://localhost:9851") async def add_locations(): await tile38.set("fleet").point("truck1", 33.5123, -112.2693).exec() await tile38.set("fleet").point("truck2", 33.5011, -112.1710).exec() await tile38.set("fleet").point("truck3", 40.7128, -74.0010).exec()async def create_geofence(): await ( tile38.within("fleet") .circle(33.5, -112.2, 5000) .detect("enter", "exit") .object("delivery_zone") )def monitor_geofence(): pubsub = tile38.pubsub() pubsub.subscribe("delivery_zone") for message in pubsub.listen(): print(f"Geofence Alert: {message}")monitor_thread = threading.Thread(target=monitor_geofence)monitor_thread.start()async def main(): await add_locations() await create_geofence() time.sleep(1) await tile38.set("fleet", "truck4").point(33.4018, -112.8965).exec() time.sleep(5) monitor_thread.join()if __name__ == "__main__": import asyncio asyncio.run(main())
```
This example demonstrates how to add geospatial objects to Tile38, create a geofence, query for objects within the geofence, and set up real-time notifications for geofence activities.
## Conclusion
As weve explored, each of these alternative databases brings unique capabilities to the table:
1. **InfluxDB** excels at handling time-series data, making it ideal for IoT and monitoring applications.
2. **Neo4j** shines when dealing with highly interconnected data, perfect for social networks and recommendation systems.
3. **DuckDB** offers lightning-fast analytical queries, particularly useful for data scientists and analysts.
4. **Redis** provides high-performance in-memory data structures, great for caching and real-time applications.
5. **Milvus** specializes in vector similarity search, crucial for AI and machine learning applications.
6. **Tile38** focuses on geospatial data and real-time geofencing, essential for location-based services.
While these specialized databases offer powerful features, its crucial to remember that they also introduce additional complexity to your architecture. Each new database adds overhead in terms of hosting, management, backups, and security.
Before adopting any of these alternatives, consider the following:
1. **Start Simple**: Dont overcomplicate your architecture from the beginning. Traditional databases like PostgreSQL or MongoDB can handle many use cases effectively.
2. **Evaluate Your Needs**: Carefully assess whether your project truly requires the specialized features offered by these databases.
3. **Consider Scaling**: Think about how your data and query needs might evolve as your project grows.
4. **Maintenance Overhead**: Factor in the time and resources required to maintain and secure an additional database system.
5. **Cloud Solutions**: Explore managed database services offered by cloud providers, which can simplify deployment and maintenance.
Remember, the goal is to balance performance with maintainability. Sometimes, a simple solution using a well-known database is preferable to a complex system with multiple specialized databases.
> Id love to hear your thoughts! If you have any suggestions, critiques, or questions, dont hesitate to drop them in the comments — Im always eager to improve. Also, if you enjoyed this article and want to stay updated on future content, be sure to **follow me here on** [**Dipanshu **](https://medium.com/u/a13c06f39296?source=post_page---user_mention--b3b953ebe6b6--------------------------------)and on [**X.com**](https://x.com/dipanshu089) for more insights and updates. Your feedback and support mean the world!
Stay tuned — theres plenty more to come!
## In Plain English 🚀
*Thank you for being a part of the* [***In Plain English***](https://plainenglish.io/) *community! Before you go:*
- Be sure to **clap** and **follow** the writer ️👏****
- Follow us: [**X**](https://twitter.com/inPlainEngHQ) | [**LinkedIn**](https://www.linkedin.com/company/inplainenglish/) | [**YouTube**](https://www.youtube.com/channel/UCtipWUghju290NWcn8jhyAw) | [**Discord**](https://discord.gg/in-plain-english-709094664682340443) | [**Newsletter**](https://newsletter.plainenglish.io/)
- Visit our other platforms: [**CoFeed**](https://cofeed.app/) | [**Differ**](https://differ.blog/)
- More content at [**PlainEnglish.io**](https://plainenglish.io/)
@@ -1,146 +0,0 @@
---
title: "Why I Prefer “import x” Over “from x import y”"
source: "https://levelup.gitconnected.com/why-i-prefer-import-x-over-from-x-import-y-b1ae8be6cbdd"
author:
- "[[Liu Zuo Lin]]"
published: 2024-05-18
created: 2024-10-29
description: "^ we can import the entire module b, and the use b.<function_name> to access the individual functions defined in b.py Here, when we use the functions defined in b.py, we need to put the module name b…"
tags:
- "clippings"
---
[
![Liu Zuo Lin](https://miro.medium.com/v2/resize:fill:88:88/1*Z5dMY4-vS6G69lMMdn3xIQ.jpeg)
](https://zlliu.medium.com/?source=post_page---byline--b1ae8be6cbdd--------------------------------)
[
![Level Up Coding](https://miro.medium.com/v2/resize:fill:48:48/1*5D9oYBd58pyjMkV_5-zXXQ.jpeg)
](https://levelup.gitconnected.com/?source=post_page---byline--b1ae8be6cbdd--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/1*DDmEVeU3SLFRZbUEXUhxZw.png)
Both ways are correct, but one way is more correct than another. In my opinion, at least.
## Importing in Python
Lets say we have 2 Python files:
- `a.py` which we run directly using the command `python a.py`
- `b.py` which contains functions that are *imported* into `a.py`
```
def test(): print('test')def hello(): print('hello')
```
^ there are 2 main ways to import the functions from `b.py` into `a.py`
## 1) import b
```
import bb.test() b.hello()
```
^ we can import the entire module `b`, and the use `b.<function_name>` to access the individual functions defined in `b.py`
Here, when we use the functions defined in `b.py`, we need to put the module name `b` beforehand eg `b.test()` or `b.hello()`
## 2) from b import <function>
```
from b import test, hellotest() hello()
```
^ alternatively, we can also use `from b import test, hello` to import the functions directly.
Here, we dont need to put `b` before our function name — we can use the function name directly.
> Why I prefer import b over from b import test, hello
## 1) Namespace issues
When we use `import b` instead of `from b import test, hello`, we are less likely to have a clash in namespace.
```
def test(): print('test')def hello(): print('hello')
```
```
test = 'apple'from b import test, hello
```
^ when we `from b import test, hello` inside `a.py`, we directly use the `test` and `hello` variables. If we are not careful, we might accidentally override any existing `test` and `hello` variables.
- `test` is already defined in `a.py`
- when we `from b import test`, we import `test` from `b.py`
- `test` from `b.py` overrides the original `test` from `a.py`
Note that this problem gets exponentially worse as our Python scripts become increasingly complicated, containing more and more variables that might clash with each other.
```
def test(): print('test')def hello(): print('hello')
```
```
test = 'apple'import bb.test()b.hello()
```
^ however, if we use `import b`, we need to use `b.test()` in order to access the `test` function inside `b.py`
This does not in fact clash with our original `test` variable in `a.py` as they are using different namespaces. Which means that we are much less likely to accidentally override our variables.
## 2) Less clutter
I firsthandedly experienced this recently at work.
```
def doSomethingHappily(): passdef doSomethingSadly(): passdef doSomethingAngrily(): passdef doSomethingQuickly(): passdef doSomethingSlowly(): passdef doSomethingElse(): pass
```
^ I had a bunch of functions (with pretty lengthy names) in `b.py`, and I needed to import them into `a.py`
```
from b import doSomethingHappily, doSomethingSadly, doSomethingAngrily \ doSomethingQuickly, doSomethingSlowly, doSomethingElsedoSomethingHappily()doSomethingSadly()doSomethingAngrily()doSomethingQuickly()doSomethingSlowly()doSomethingElse()
```
^ this was what my import statement was like. Some problems:
- there was lots of clutter and this took up lots of random space
- if I changed a function name, I needed to change it multiple times in `a.py` too
- which got annoying pretty quickly
Instead, I refactored my import statement to `import b`
```
import bb.doSomethingHappily()b.doSomethingSadly()b.doSomethingAngrily()b.doSomethingQuickly()b.doSomethingSlowly()b.doSomethingElse()
```
- my import statement no longer spanned multiple lines
- when I modified a function name, I no longer had to change this in multiple places
## Why not “from b import \*”?
This is bad practice, so while this is *legal* code, chances are the the senior devs might not want this around.
But why is this bad practice? `from b import *` means import *everything* from inside `b.py`. Which means we are even more likely to accidentally override some variables in our namespace now.
As good practice, we should ideally import only what we need rather than every single thing inside a module.
## Conclusion
Hope this was clear and easy to understand
## If You Wish To Support Me As A Creator
1. *Clap 50 times for this story*
2. *Leave a comment telling me your thoughts*
3. *Highlight your favourite part of the story*
*Thank you! These tiny actions go a long way, and I really appreciate it!*
**YouTube:** [**https://www.youtube.com/@zlliu246**](https://www.youtube.com/@zlliu246)
**LinkedIn:** [**https://www.linkedin.com/in/zlliu/**](https://www.linkedin.com/in/zlliu/)
**My Ebooks:** [**https://zlliu.co/ebooks**](https://zlliu.co/ebooks)
@@ -1,150 +0,0 @@
---
title: "Why do mirrors flip left-and-right but not up-and-down?"
source: "https://medium.com/starts-with-a-bang/why-do-mirrors-flip-left-and-right-but-not-up-and-down-9c665ea87221"
author:
- "[[Ethan Siegel]]"
published: 2023-04-27
created: 2024-10-29
description: "If youve ever looked in a mirror, youve likely noticed that everything you see is flipped. When you raise your left hand, your reflection raises their right hand. When you wink with your right eye…"
tags:
- "clippings"
---
![](https://miro.medium.com/v2/resize:fit:700/1*-vBpwpbn3cHg0fHSimw06g.jpeg)
*When you view your right hand in a mirror, it appears as a left hand. Writing is reversed, as is the direction of any spinning object: clockwise becomes counterclockwise and vice versa. In many ways, it appears as though things are flipped left-to-right, but not up-to-down. Thats not the true reason for what you see, however.* ([Credit](https://hk.science.museum/en/web/scm/exhibition/wom.html): Hong Kong Science Museum)
## If you look into a mirror, youll notice that left-and-right are reversed, but up-and-down is preserved. The reason isnt what you think.
[
![Ethan Siegel](https://miro.medium.com/v2/resize:fill:88:88/1*JE2i36RVA_8ejCr2F5ZtNA.jpeg)
](https://medium.com/@startswithabang?source=post_page---byline--9c665ea87221--------------------------------)
[
![Starts With A Bang!](https://miro.medium.com/v2/resize:fill:48:48/1*VH9usPh601npohqlvpnxvg.jpeg)
](https://medium.com/starts-with-a-bang?source=post_page---byline--9c665ea87221--------------------------------)
If youve ever looked in a mirror, youve likely noticed that everything you see is flipped. When you raise your left hand, your reflection raises their right hand. When you wink with your right eye, your reflections left eye winks back. And if you write a message and hold it up, youll see your reflection hold up the identical sign, but everything appear backwards, even the individual letters themselves. It appears that everything you see reflected in the mirror has their left-and-right reversed. But, for some reason, up-and-down dont appear to be reversed. Your mirror reflection still has their feet on the ground, their ceiling up above, and all the letters on your mirror images writings arent flipped upside down, but remain right side up.
Why is this the case? Its not just humans who experience this: whether youre a sea star, an insect, a jellyfish, a parakeet or a cat — whether in space or on Earth or anywhere else in the Universe — youll still see the same thing. When you look into a mirror thats mounted on any wall, they all appear to reverse left-and-right, but not up-and-down. This isnt a deficiency in your mirror at all; its a consequence of how reflections work at a fundamental level.
![](https://miro.medium.com/v2/resize:fit:700/0*FL4X3HpKcoDQvJYf.jpg)
*When you reflect text in a mirror, both each letter and the letter order appear reversed. If the text can be read both ways, in reality and in the mirror, its known as a mirror ambigram.* ([Credit](https://commons.wikimedia.org/wiki/File:Optical_Let_it_go_mirror_ambigram_by_Basile_Morin.jpg): Basile Morin/Wikimedia Commons)
The first thing you have to recognize is theres nothing special about our environment here. Theres nothing remarkable, as far as mirrors and reflections go, about:
- our human eyes,
- our planet Earth,
- our gravitationally-based orientation of up-and-down,
- or the nature of light,
that has any effect on the outcome.
We could turn gravity on or off; we could rotate ourselves by any angle, even 45°, 90°, or 180° about any axis; we could give ourselves additional eyes or senses; we could rearrange the objects surrounding us in any configuration we like. Still, despite any of these modifications, wed still see that up remained up, down remained down, and that everything in the mirror would appear as though left and right were switched.
One of the best examples to illustrate this is to consider a spinning ball in the mirror, and to consider it from two perspectives: one of a ball spinning about its vertical axis, like a basketball on an adept athletes finger, and one of a ball spinning about its horizontal axis instead.
![](https://miro.medium.com/v2/resize:fit:700/0*DTT6oEkV4M6nG4pu.jpg)
*From the perspective of Harlem Globetrotter TNT Lister, the balanced, spinning basketball appears to rotate from her left towards her right: the same as for the child on whose finger the ball is being transferred to, or counterclockwise. If this photograph instead were taken of TNT Listers mirror reflection, the ball would appear to be spinning in the opposite right-to-left (clockwise) direction instead.* ([Credit](https://nara.getarchive.net/amp/media/harlem-globetrotter-tnt-lister-helps-an-audience-member-e052ff): NARA/DVIDS Public Domain Archive)
When you spin a ball about its vertical axis, you can consider the fact that there are two ways to do it. Either, if you looked “down” at this ball from above, youd see that it appeared to spin clockwise, from ahead to the right to behind to the left to ahead again, or counterclockwise, in the exact opposite direction.
If the ball is spinning clockwise, you can model that with your left hand. If you take your left hand and point your thumb up, youll notice that your fingers curl around in the clockwise direction. A clockwise-spinning ball follows this exact same orientation.
But now, take a look at the ball — and your left hands — reflection in the mirror. If you were to look “down” at that ball once again, from above, youd see that it was rotating counterclockwise instead. If you followed the point on the ball that began closest to you, youd see it move to your right and backwards, away from you, then farther away and back to the center, then closer and towards the left, then closer still and back to the center. That counterclockwise motion could be described by your own right hand, showing how, once again, the mirror appeared to exchange left-for-right, while leaving the up-and-down direction unchanged.
![](https://miro.medium.com/v2/resize:fit:700/0*3QaCCuvK3L3TtaLX.jpg)
*A horizontally rotating basketball, left, and its mirror reflection. Not only does the text of the basketball appear flipped, from left to right, but the rotation of the basketball is now in the opposite direction about the same horizontal axis. Even though mirrors dont exactly flip up-and-down, they dont exactly flip left-and-right only, either.* (Credit: E. Siegel)
What about if we then switched to spinning a ball about its horizontal axis? How would a mirror handle that?
Imagine that youre holding the ball in front of you so that its sandwiched between your two index fingers that are pointing towards one another. We again have two choices of how to rotate it, so lets pick one: overhand and away from you. If we start at the point on the ball closest to your bodys core, youll see it move:
- up and away from you,
- then back down towards the middle but still away from you,
- then further down away from the middle and back towards you,
- and then back up towards the middle and towards you,
whereupon it returns to its initial position. This “underhand” rotation was one choice you could have made; the reverse of it would lead to an “overhand” rotation instead. (If youve ever been part of an argument on which way is the “proper” way to hang a toilet paper roll, youll recognize these two visualizations.)
But this time, when you look in the mirror, whats happening? Left and right are the same. Up and down are the same. But the ball? The mirrored version of the ball, instead of appearing to spin with an underhand rotation, appears to be spinning with an overhand orientation.
![](https://miro.medium.com/v2/resize:fit:700/0*G1m4uGAYZo8jfWWe.jpeg)
*If the woman in the picture moves towards the mirror, her ball will rotate counterclockwise from the cameras perspective, while the mirror image of her ball will appear to rotate clockwise. If you traced any imaginary point on the ball as she moved, youd be able to trace out exactly how the motion of the objects in the mirror differed from objects in the real world.* ([Credit](https://stock.adobe.com/images/young-asian-athlete-woman-doing-pilates-exercises-with-exercise-ball-in-fitness-gym-healthy-lifestyle-concepts/203026232): zephyr\_p/Adobe Stock)
This example surprises most people. Sure, its clearly symmetric about the vertical axis; if you were to draw an imaginary line down your center, with the ball rotating about its horizontal axis, its clear that the left half of yourself and the right half are completely symmetric. Same with your reflection in the mirror: left and right appear completely symmetric.
Sure, your mirror is still replacing your left with your right. Your reflections right hand corresponds to your left hand; your reflections left hand corresponds to your right. From the perspective of your reflection, their ball is doing the same thing that your ball is from your own perspective, moving up and away from their body, then down and away, then down and towards, and then up and towards, returning to its initial position.
But if they see their ball spinning “underhand” from their perspective, yours appears to spin “overhand” from their perspective. The mirror appears to be flipping the rotational direction of that ball as well.
![](https://miro.medium.com/v2/resize:fit:700/0*zcxTjXI9Br9x36iE.gif)
*As a ball spins about a horizontal axis, its reflection spins as well. However, regardless of which perspective you choose, there will be something thats flipped dependent on whether you examine the actual object or the mirrored reflection: whats closer or farther, or moving towards or away from you.* (Credit: E. Siegel)
Theres a very powerful clue as to whats going on with mirrors from this example, if were clever enough to identify it. Imagine — and we can imagine anything we like in this example — that the ball thats spinning about its horizontal axis is now transparent. What were going to do is to create a single point on this ball, right along its equator, that we can track, as though we took a permanent marker and drew a point on a ball that was made of clear glass.
Now, from our perspective in the real Universe, were going to track the position of both our dot and the dot that appears in the mirror. Simultaneously, starting with the dot positioned closest to our own body, what we see is as follows:
- the real dot begins closest to us and farthest from the mirror, and so the mirrored dot begins farthest from us from our perspective,
- then the real dot rises up and gets farther away from us but closer to the mirror, whereas the mirrored dot rises up and gets closer to us,
- then, after reaching its maximum height, the real dot descends while reaching its most distant point from us but closest to the mirror, while the mirrored dot similarly descends while reaching its closest point to us,
- then the real dot starts to return closer to us while it descends, moving farther from the mirror, while the mirrored dot continues its descent and moves back away from us,
- and then the real dot, after reaching its minimum elevation, rises once again, getting closer to us (and farther from the mirror) until it returns to its original position, while the mirrored dot rises similarly, retreating farther from us and farther from the mirror until it returns to its initial position as well.
![](https://miro.medium.com/v2/resize:fit:700/0*0DROAkH5wEMbxrNQ)
*A meson, a composite particle, spins about its axis before it decays. When mesons decay, they emit electrons along a particular axis and in a particular direction. Certain mesons are right handed: if you curl your fingers in the direction of the mesons rotation, the electron will preferentially be emitted in the direction your right thumb points. The Universe in the mirror, however, possesses the opposite “handedness” to our own.* ([Credit](https://amzn.to/33K76Dg): E. Siegel/Beyond the Galaxy)
Left and right, as you can see, play absolutely no role in this example. Were just looking at a single point that moves up-and-down while also moving forward-and-backwards. When the real dot appears to move up, the mirrored dot appears to move up. When the real dot appears to move down, the mirrored dot appears to move down. There is no flipping of up-and-down here.
But there isnt a flipping of left-and-right, either!
If you were to perform the same experiment with a clear glass ball and a drawn-on dot, but rotated the ball around its vertical axis instead of its horizontal axis, youd notice that:
- when your dot moved to the left, the mirrored dot moves to the left,
- when your dot moved back to the center, the mirrored dot moves to the center,
- when your dot moved to the right, the mirrored dot moves to the right,
- and when your dot returns to the center, the mirrored dot also returns to the center.
Something is happening, clearly, but it isnt that left-to-right is getting reflected, either.
![](https://miro.medium.com/v2/resize:fit:700/0*CWVjqCGHHKBjoqlC.jpg)
*We typically see text reflected left-to-right in a mirror because those mirrors are mounted on vertical surfaces. If we instead mounted a mirror on a horizontal surface, such as above a “fire exit” sign, wed see the text reflected up-to-down instead of left-to-right. However, mirrors dont actually reflect either up-and-down or left-and-right; what you see depends on their orientation.* ([Credit](https://www.pexels.com/photo/fire-exit-signage-3230179/): Nothing Ahead/Pexels)
And yet, mirrors really are reflective surfaces. They dont switch up-and-down but they also dont switch left-and-right. Instead, what mirrors do is they reflect back-to-front: the third (depth) dimension!
Think about what happens when you look at yourself in the mirror. Light — even though its ambient light reflected off your body from elsewhere in the room — comes from every part of you. Theres no perspective from which youre invisible, and hence that light must be radiating outwards in all directions.
The only way you can ever see anything is if light enters your eyes, just like the only way a camera, telescope, or other observer can see anything is if photons (or light rays) interact with it at a particular location: a specific time and place. So if we want to know what youre going to see and where youre going to see it, all you need to do is trace out the light rays: from whatever part of your body theyre emitted from, reflected off the mirror (obeying the physical laws that govern optics), and ending at your eyes. Based on the total distance the light travels and the angle it comes in at, thats where your eyes and brain infer the “image” in the mirror to be.
![](https://miro.medium.com/v2/resize:fit:700/0*0Vsc7-Lf4FIAq8o9.jpg)
*When you look at your reflection in a mirror, you see your sides reversed from one another. When you hold up your left hand, your reflection in the mirror holds up their right hand. When you wink your right eye, your reflection winks their left eye. And when you move something farther away from you, your reflection moves that object closer to you here on the other side of the mirror. Optics holds the reason why.* ([Credit](https://commons.wikimedia.org/wiki/File:Barack_Obama_ties_his_tie.jpg): Pete Souza/White House)
If your body were partially transparent, allowing you to see inside your reflections body, youd find that everything was flipped front-to-back. Your left hand, when you hold it up, appears as though your fingernails are closer to you, your palm is farthest from you, your thumb is on the right, and your fingers are pointing up. Thats what a left hand looks like.
But in the mirror, that same hand has its fingernails farthest from you, its palm is closest to you, its thumb is on the right, and its fingers are pointing up. Thats exactly what youd see if you held your (real) right hand up but with your palm facing your face instead. In the mirror:
- a left hand becomes a right hand,
- writing gets flipped to be “mirrored” writing,
- objects that spin clockwise appear to spin counterclockwise,
- and vice versa on everything above.
But the reason is not because mirrors flip things left-to-right; they dont. Instead, they flip things front to back, and thats the explanation for what we see.
![](https://miro.medium.com/v2/resize:fit:700/0*s9oiqExfS-UVaZs_.jpeg)
*The writing in this image appears the same way writing appears in a mirror. However, this isnt a reflection of text thats being shown here, but rather the opposite side of a transparent surface: youre seeing the writing from the back instead of from the front. Mirrors dont flip up-and-down or left-and-right, but rather front-and-back, and how its mounted determines the rest.* ([Credit](https://stock.adobe.com/images/young-asian-boy-writing-mathematical-and-physic-formula-onto-a-clear-glass-selected-focus/284677099): Mr. Note19/Adobe Stock)
In physics, theres a special type of symmetry that exists if what happens in the mirror is indistinguishable from what happens in reality: parity symmetry. Most of the laws of physics respect this symmetry, but not all of them. In particular, whenever you have a radioactive decay, youre at risk of violating this symmetry, since particles have a spin, a spin axis, and a decay direction, the same way your hands have a direction that your fingers curl and and a direction that your thumb points. Right hands and left hands are fundamentally different — just like chiral molecules are different from one another — and so are spinning particles that have a decay direction. For those that do, parity is violated, the same way a right-handed persons reflection appears to be left-handed instead.
Whats remarkable about the way mirrors work is that theyre completely independent of the observer. If our eyes were separated in the vertical direction rather than the horizontal direction, mirrors would still reflect front-to-back. If we were in zero-gravity, if we had only one eye, if we were a rotationally symmetric starfish, etc., it wouldnt change what we see in the mirror at all. The only difference is that things are reflected front-to-back, and that changes the “handedness” of everything that appears in the mirror, irrespective of how we view it.
@@ -1,107 +0,0 @@
---
title: "You Wont Believe What I Discovered About IP Addresses!"
source: "https://levelup.gitconnected.com/you-wont-believe-what-i-discovered-about-ip-addresses-570fe767499e"
author:
- "[[Rahul Sharma]]"
published: 2024-10-03
created: 2024-10-29
description: "Learn the fundamentals of IPv4 and discover how IP addresses work. Explore how binary conversions simplify addressing in a format you can easily understand."
tags:
- "clippings"
---
## You Wont Believe What I Discovered About IP Addresses!
## I am sure you will learn something new today!
[
![Rahul Sharma](https://miro.medium.com/v2/resize:fill:88:88/1*D7Cix-fP2e5BWg2J7QByeA@2x.jpeg)
](https://devopstory.com/?source=post_page---byline--570fe767499e--------------------------------)
[
![Level Up Coding](https://miro.medium.com/v2/resize:fill:48:48/1*5D9oYBd58pyjMkV_5-zXXQ.jpeg)
](https://levelup.gitconnected.com/?source=post_page---byline--570fe767499e--------------------------------)
![Feature Image Created in Canva](https://miro.medium.com/v2/resize:fit:700/1*vQq9qHS3VeLHFoktc5dprg.png)
Feature Image Created in Canva
When you first look at an ***IP address (IPV4)***, such as **192.168.0.1**, its easy to assume the dots are part of the IP address. We know that the definition of an ***IP address*** is:
> An IP address is a string of numbers separated by periods. IP addresses are expressed as a set of four numbers — an example address might be 192.158.1.38. Each number in the set can range from 0 to 255. So, the full IP addressing range goes from 0.0.0.0 to 255.255.255.255.
> **Source**: [www.kaspersky.com](http://www.kaspersky.com/)
As an example, when you see
**8.8.8.8**, you will comfortably say yes, its an IP that belongs to ***Google*** DNS.
==But you see this== ==**134744072**== ==You will probably say its a string of numbers and may not be an== ==***IP address.***==
## Understanding the Concept
Now, before we move forward and decide on whether this number is a large integer or an **IP address**, we need to understand that an **IPv4 address** is just a **32-bit** number,
e.g. ***00001010000010110000110000001101***
To make the **IP address** space easy for people to use, both a standard number system and the smallest numbers possible had to be used. In terms of the first of these criteria, people think in terms of the **Base10** number system, but computers are ***binary*** by nature (excluding quantum computing 😅 ).
It is impossible for most of us to reliably remember the **32-bit address** strings of binary numbers that computers and computer networks use to talk to each other.
It should be easier for people to understand any ***32-bit*** string of binary numbers if they were turned into decimal numbers. After all, people are so used to the ***Base10*** number system that its like second nature.
Unfortunately, a ***32-bit*** binary number could turn into a decimal number that is so big that people cant really understand it. Think about trying to remember the address of Google **DNS**: **13,47,44,072.**
To fix this, the architects of the internet did something brilliant. They **chunked** that massive **32-bit** number into four smaller parts, or **octets**, each containing **8 bits**.
Heres what that would look like:
**1000 1000 1000 1000**
Each octet is still a binary number, but we dont see it that way in everyday life. Instead, each **8-bit** chunk is converted into its decimal form (between **0** and **255**) and separated by dots: **8.8.8.8**
Now, suddenly, that massive **32-bit** address is much easier to handle. Instead of one overwhelming string of numbers, we have four smaller, bite-sized chunks.
The dots serve as **visual markers** that divide these **octets**. They also help distinguish between class-full networks and network boundaries in subnetting. Without them, we would be staring at a string of numbers that would take forever to decode. They make **IP addresses** easier for humans to read, write, and remember.
Think of it like trying to remember someones phone number. You dont memorise it as **134744072**. Instead, you chunk it into sections:
**13-47-44-072**
**The dots do exactly that for IP addresses.**
## The Million-dollar Question
Now, **million-dollar questions**: is this number **134744072** an IP? The answer is yes; as I mentioned above, its a **32-bit** number that can represent an **IP address**, and thats it. If you give this number to your browser (obviously with a proper context like HTTP), it can read it as an **IP address**. All devices and routers will also be able to understand it because they all work with **32-bit** binary numbers.
**How did I come to this number?**
To convert an IP address like **8.8.8.8** into a single integer, we treat each **octet** as a separate value and multiply it by powers of **256** based on its position in the sequence (starting from the left). Here's how it works:
![An illustration of converting a 32-bit binary number into a decimal IP address](https://miro.medium.com/v2/resize:fit:1000/1*q_RuAfFcztF8JHWbao-fIw.png)
Image used to show the calculation
So, the calculation looks like this:
![An illustration of converting a 32-bit binary number into a decimal IP address](https://miro.medium.com/v2/resize:fit:700/1*GkI3XG5y4MN2mb-yZT00iQ.png)
Image used to show the calculation
The result of this expression is **13474407**
This process converts the familiar dotted-decimal format into a single, large integer.
You can try the same in your browser as well!
![Image showing how large integar can be used as IP address](https://miro.medium.com/v2/resize:fit:1000/1*f8puccPbnlq2UoLsS5OI0A.gif)
Image showing the integer as an IP address
## **Closing Thought**
Understanding this concept can help you in various cases. For example, one of the use cases can be **Database Storage:** Putting IP addresses in databases as integers (like **134744072**) instead of strings (like “**8.8.8.8**”) can help them take up less space. When it comes to storage and retrieval times, integer operations are often faster than string operations.
Another one could be **Sorting IP Addresses**: To easily sort a list of **IP addresses** by number, you can convert them to integers first. This is very helpful in situations like checking firewall rules or access control lists (**ACLs**).
On the other side, this information is what I perceived from various sources, and one of the book references is *IP Addressing Fundamentals* by *Mark A. Sportack*, from where I understood that this is also another way of approaching the ***IPV4***. I added my opinions in this, which you may or may not agree with. If you are a network expert, you may have your perfectly acceptable views.
@@ -1,86 +0,0 @@
---
title: "As The Wind Blows Is The Most Horrifying Film Ive Ever Watched"
source: "https://medium.com/@ossiana.tepfenhart/as-the-wind-blows-is-the-most-horrifying-film-i-ve-ever-watched-7ff4145230b3"
author:
- "[[Ossiana Tepfenhart]]"
published: 2024-07-01
created: 2024-10-29
description: "Tonight, my husband asked me to look for a horror movie that made you think. Ive been reading history hoping to push out an idea or two, so I decided to think back to my commonplace book, where I…"
tags:
- "clippings"
---
## I had to bathe the first time I watched it and also lost my lunch. My husband tapped out halfway through.
[
![Ossiana Tepfenhart](https://miro.medium.com/v2/resize:fill:88:88/1*-HRsnXCsoRUAg61Kc5OK_Q.jpeg)
](https://medium.com/@ossiana.tepfenhart?source=post_page---byline--7ff4145230b3--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/0*ooMccDzGnT4nDvwZ.jpg)
via IMDB
Tonight, my husband asked me to look for a horror movie that made you think. Ive been reading history hoping to push out an idea or two, so I decided to think back to my commonplace book, where I kept a short list of movies that really had an impact on me.
There, I saw *When The Wind Blows* marked with a star next to it.
I couldn't place the name immediately, so I looked it up online. I quickly remembered which movie it was. To date, its the only movie I ever had a hard time stomaching — to the point that I actually vomited and had to bathe for half an hour.
## When the Wind Blows is a cartoon done to illustrate the horrors of nuclear war.
Made in 1986, *When the Wind Blows* featured an incredible collection of hyper-talented people. Its based off a childrens (??) graphic novel book by award-winning author Raymond Briggs, written in 1982.
The soundtrack was done by none other than Ziggy Stardust himself, David Bowie. And the animation? It combines live action, carefully-crafted dioramas, and uniquely European cartooning to create truly striking scenes.
Between all this talent, its not surprising that this team was able to make a movie that grabs you by the throat, punches you in the stomach, and drop kicks your face, leaving you in stunned silence by the end of the film.
I just…dont think I was prepared for how hard it hit.
## The story follows Jim and Hilda Bloggs, an elderly British couple who get stuck in a nuclear holocaust.
Half of the movie is spent humanizing the Bloggs. We all have met people who are prim, proper, and deeply entrenched in the belief of government capabilities.
Jim Bloggs spends most of the first half of the film preparing for the nuke, joyfully optimistic that it will be a quick fluke or that it will “all blow over soon.”
He misguidedly paints the windows white, removes doors from his home, and tries to get supplies. Hilda, a more proper lady, gets annoyed at him as he preps while she tries to clean the house. (I can relate to her.)
You just start to like them as a couple. You see their flashbacks, the way they talk to their son on the phone, and how much they reminisce about World War II. In essence, theyre everyones old-school British gran and gramps.
If you didnt read the summary, youd almost feel like war would blow over and that youd just see them have a good laugh about it. That, sadly, doesnt happen.
## The horror truly starts when the bomb drops — and they both remain blissfully unaware they are already dead.
I dont mean that they just died in the blast. They survive it. The movie follows their every step as they remain optimistic that people will come for them, drink radioactive tea, and get sicker every day.
The Bloggs truly believe, up until the last couple of minutes, that theyll survive. They are just waiting to get better, thinking that their sickness is just a “terrible headache” and a bad stomach ache.
As the movie progresses, you get the sinking feeling that the lovely couple you grew to enjoy arent going to make it. You start feeling sick to your stomach as you watch them weaken, wishing that you could yell at them through the screen.
And yet, you know that its futile. The amount of radiation that hit them was bound to kill them. If the rads from the blast didnt, the tea made with poisoned water sure as hell would.
The eerie quietness of some of the movies scenes makes you feel like youre choking on air. Slowly, every bit of the movie makes you feel a little more tense and nervous. And yet, you cant do anything but watch them struggle.
At one point, Jim Bloggs seems to realize theyre both going to die. He refuses to let Hilda, his beloved wife, wallow in sorrow. He does everything he can to keep up both their hopes — a desperate move of true love.
The film ends with them both crawling into sacks, taking their last breaths, uttering a prayer, making sure their bodies will be found by whatever recovery crews are sent to get them.
## Theres something so undeniably horrifying and heartbreaking about this movie.
I cant figure out which element of *Where the Wind Blows* makes it such a skin-crawling, squicky, and utterly nightmarishly heartbreaking movie. Its hard to put into words.
Maybe its Jims unshakeable optimism. Maybe its their obliviousness to the seriousness of the situation. Or, perhaps its the fact that the viewer is left to piece together what is going to happen because theres no narrator.
If you get teary-eyed at movies, this movie might do that to you. It (surprisingly) didnt do that to me. I just ended up throwing up and having to bathe because the movie somehow just made me want to crawl out of my skin that badly.
My husband was unable to finish the movie. It made him so uncomfortable and anxious that we had to stop watching halfway through. It also didnt help that I was starting to get queasy, either.
==If Im going to be honest, this is one work of high art that many of us can only experience once — if we can even stomach it at all.==
## During a time when the world seems to edge closer to nuclear war, When the Wind Blows is terrifying.
Whats truly scary about this movie is that its not entirely fiction. Its based on the effects and stories of people who survived Hiroshima and Nagasaki. The novel itself was focused on real medical side effects of radiation poisoning.
While the story itself was hypothetical and geared toward Brits of the 80s, *When the Wind Blow*s is still technically a documentary about nuclear war. And its one that I feel every single world leader should be watching right now.
So, if youll excuse me, I need to have a bath. I dont feel so good.
@@ -1,94 +0,0 @@
---
title: "“I Miss The Old Type Of Misogyny,” She Said"
source: "https://medium.com/bitchy/i-miss-the-old-type-of-misogyny-she-said-abcc5889d722"
author:
- "[[Ossiana Tepfenhart]]"
published: 2024-07-03
created: 2024-10-29
description: "One was slightly older than me, the other was around 20 years old. The younger one seemed distraught about dating in general. At one point, she said, “I dont know what happened. Your generation had…"
tags:
- "clippings"
---
## Misogyny has always been there, but lately, its been different
[
![Ossiana Tepfenhart](https://miro.medium.com/v2/resize:fill:88:88/1*-HRsnXCsoRUAg61Kc5OK_Q.jpeg)
](https://medium.com/@ossiana.tepfenhart?source=post_page---byline--abcc5889d722--------------------------------)
[
![Bitchy](https://miro.medium.com/v2/resize:fill:48:48/1*TqAYf-jZvOGYHOQ6bq9qtg.jpeg)
](https://medium.com/bitchy?source=post_page---byline--abcc5889d722--------------------------------)
![](https://miro.medium.com/v2/resize:fit:700/0*ikPdwT2kImJqUTL3)
Photo by [Austrian National Library](https://unsplash.com/@austriannationallibrary?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=medium&utm_medium=referral)
Lately, I overheard two women talking while I was at the gym the other day.
One was slightly older than me, the other was around 20 years old. The younger one seemed distraught about dating in general.
At one point, she said, “I dont know what happened. Your generation had men who didnt see us as people but still tried to protect us. My generation has men who really, truly hate us.”
This sentiment stuck with me that entire day. Looking back to what life was like in my 20s, I realized that she was right. Misogyny was always there, but it changed.
## The science backs up that most human beings dont see women as people.
I recently found out that there was a study done on how men perceive women — and it shook me to my core. A study from the [European Journal of Social Psychology](https://onlinelibrary.wiley.com/doi/10.1002/ejsp.1934) revealed that men see men as full human beings, but see women as a collection of body parts.
The study itself focused on what parts of the brain lit up when they saw women in bikinis versus men. Their brains registered women as body parts. Men, on the other hand, were seen as human beings.
In other words, their brains went to “local processing,” which is what happens when we see items like cars or books when they see women. For images of men, their brains use “global processing,” which is what happens when you see people or beloved pets.
Incidentally, women processed women the same way in many cases. So, if you feel like youre always objectified as a woman, youre correct. Peoples brains literally dont see you as a person.
## Misogyny and objectification were always there, but there used to be a different mainstream type.
You might have heard of the term “benevolent misogyny” or “[benevolent sexism](https://www.sciencedirect.com/topics/psychology/benevolent-sexism#:~:text=Benevolent%20sexism%20refers%20to%20attitudes,Glick%20%26%20Fiske%2C%201996\).).” This is a type of behavior that occurs when a man truly thinks that women are less than them and weaker than them.
Benevolent sexism involves things like men opening doors for women because they think women are weak or assuming that women need to be protected at all costs. This also can be seen in Sugar Daddy living as well as tradwife circles.
Men who are benevolent sexists dont really *hate* women, per se. They just dont see them as people and try to treat them like weak, possessable objects.
They dont like women because they dont see them as human beings, but they dont *hate* them. ==Benevolent sexists are the men who put women on a pedestal, assume theyre “nurturing,” and assume all women want kids.==
Benevolent sexists just dont really take their feelings into account and assume that they know women better than women know themselves. This is why men of the past would restrict women as a way to “protect them.”
Some genuinely believed they were doing the right thing because they genuinely, truly didnt see women as anything but overgrown kids. That doesnt mean its good. It still hurts and undermines women.
## Recently, more and more women have started to talk about the spike in misogyny online.
While benevolent sexism has a veneer of positivity, theres another form of sexism that doesn't even try to hide the hate. Thats known as “malevolent sexism,” “hostile misogyny,” or “hostile sexism.”
Hostile sexism is exactly what it sounds like: aggressive hatred of women and actions taken to hurt them. Hostile sexism happens when men *hate women.* Men who are hostile sexists might want to sleep with women, but they dont like them.
Men who partake in this type of sexism often spout incel rhetoric, may attack women who say no to them, will vote against womens rights, and also assault them.
## It doesnt take much to see how much hostile sexism overtook men in recent years.
Sexism of all kinds is bad, but there are different shades of sexism that women experience. In the past, a common trope among men was the benevolent sexist who put women on a pedestal and got dumped.
Most women met guys who were misguided but well-meaning in their sexism. However, the number of benevolent sexists started to wane sometime around the 2010s.
Thats the start of the era when malevolent sexists took center stage.
When I was 18, I was surrounded by benevolent sexists who truly believed vaginas get looser with more partners and that women all want babies. They never reconciled their lust or like for me with my checkered reputation.
With that said, most of the guys who were problematic for me back then honestly believed they were good men and that I was just a defect that needed to be “fixed” by the right guy.
Rare was the moment where I would run into a man who really, truly *loathed* women enough to lash out at them. I remember a time in my life where it was common to hear of women who never experienced a Nice Guy lashing out at them.
I dont see that anymore. These days, hostile misogyny is *everywhere* I look. Every woman I speak to, whether cis or trans, seems to have a horror story of a man who literally cant seem to hide the seething, burning hate they have for women.
## If women had to choose a form of sexism, its obvious most would choose benevolent sexism.
Thankfully, we dont have to choose our poison. Women worldwide are saying they are fed up with having to choose the lesser of two evils. Theyd rather stay single, riot, and protest to regain their rights.
It shouldnt have to be this way.
A lot of us grew up with the idea that men loved women, but was it ever really love if they cant handle women being on the same playing field as them? I honestly dont think so.
Its a shame that we had to watch misplaced care turn into such seething hate as women assert their right to be seen and treated as human beings. And yet, here we are — almost grieving the brand of sexism that, at the very least, had a caring mask on it.
@@ -1,114 +0,0 @@
---
title: "“The professors are the enemy”: J.D. Vance on higher education"
source: "https://bryanalexander.medium.com/the-professors-are-the-enemy-j-d-vance-on-higher-education-7db4b7a628b0"
author:
- "[[Bryan Alexander]]"
published: 2024-07-18
created: 2024-10-29
description: "Greetings from a somewhat less infernal Virginia July day. A storm front broke through our heat last night, which is a relief to all of us, especially the cats. Im writing in a hurry, as Ive got a…"
tags:
- "clippings"
---
[
![Bryan Alexander](https://miro.medium.com/v2/resize:fill:88:88/1*Uha9puGiC1gMRXvqJSYYig.jpeg)
](https://bryanalexander.medium.com/?source=post_page---byline--7db4b7a628b0--------------------------------)
> \[W\]e have to honestly and aggressively attack the universities in this country.
>
> \-JD Vance
Greetings from a somewhat less infernal Virginia July day. A storm front broke through our heat last night, which is a relief to all of us, especially the cats.
Im writing in a hurry, as Ive got a stack of meetings today (including [a Future Trends Forum community session](https://shindig.com/login/event/fall2024)!) and am hitting the road tomorrow (speaking to [the NACUFS national conference](https://www.nacufs.org/Events/UpcomingEvents/ArtMID/17279/ArticleID/2527/NACUFS-2024-National-Conference-Louisville-Kentucky) in Louisville, then [the SCUP annual conference](https://www.scup.org/conferences-programs/scup-2024-annual-conference/) in Philadelphia; Im happy to meet with readers in those cities), but I wanted to share notes on a current event which might be significant for higher education.
This week the Republican party named Ohio senator [J.D. Vance](https://en.wikipedia.org/wiki/J._D._Vance) as its vice presidential candidate for the fall election.
What might this mean for higher education?
On the one hand, we can dismiss vice presidents as traditionally useless appendages on the presidency, famously not worth a warm bucket of spit, etc. On the other, were in a very intense election season and vice presidential selection is always a strategic move. The veep candidate signals many things to the electorate, from geographical importance to demographic representation.
Today I want to single out Vances documented attitude towards higher education. Again, hes only the VP candidate, and Trump is famously egocentric, so this might not turn out to have any impact over the next four months or years. ==But Republicans nationwide are== ==[increasingly hostile](https://bryanalexander.org/horizon-scanning/american-views-of-higher-education-continue-to-worsen/)== ==to academia, and so would likely be receptive to campus-bashing campaign messaging.==
Please note that the below summarizes and lightly reflects on Vances stated views. I do not endorse them myself. That should be obvious, but this is an intense election season and unless I say so, someone might accuse me of complicity or support.
Lets start with [a 2021 speech](https://youtu.be/0FR65Cifnhw?si=_aDK67ZOnTJ8L21p) by Vance to [the National Conservatism Conference](https://nationalconservatism.org/natcon-2-2021/). Ill summarize it and share some thoughts after the embed:
This is something like a declaration of war. Vance begins by assuming the decades-old culture war trope of conservatives battling progressives for control of institutions, then targets academia as a major battleground.
Note that he has a more sophisticated model of higher education than we see in most right-wing accounts, describing campuses as sites of knowledge production and dissemination in addition to their teaching mission. The latter includes something like a version of (unnamed) liberal education, where institutions prepare students for a difficult to anticipate future. Its a model with a strong claim for academias impact on the nation: “We live in a world effectively made by university knowledge.” As an example the would-be vice president then slams Anthony Fauci, quickly gesturing to COVID lockdowns, unpopular with Republicans, in order to assign his public influence to his academic training. (Recall that this speech occurred in 2021)
Vance goes on to charge higher education with being hypocritical in the pursuit of truth. More, “our universities transmit not knowledge and not truth but deceit and lies,” citing transgender research and medical care. Several times he calls out academics for canceling students and faculty for politically unpalatable speech. He cites a story about a University of Texas professor attacked for publishing a paper about using AI to anticipate some scientific research, but I cant find any accounts of this (can anyone?).
The now vice presidential candidate builds up an economic or materialist charge against academia, alleging that it exploits people or its teachings further economic damage. He attacks “college for everyone,” hinting that that social goal benefits campuses economically while speeding the destruction of American jobs. He mocks (presumably) campus-based climate justice as a kind of perverse globalization, sending materials to Asia and worsening the environment. He hits at student debt repeatedly, while damning academics for standing against people who work with their hands.
Vance criticizes DEI (or “critical race theory”) for working on elite representation “instead of invest\[ing\] in black communities all across our country — or frankly white communities all across our country.” In his vision university-driven diversity efforts are about “rob\[bing\] the American people blind and… to tell them to shut the hell up about it if they dare complain.” Those drivers of DEI are, or are working for, “our enemies.” He extends this to K-12 education, blaming academia for teaching the teachers. (“Telling a little girl that shes evil because of her skin color is disgusting and vile and as a Christian Id say Satanic”) Vance also blames antiracism for mischaracterizing opposition to migration through a story about an Ohio grandmother fearing imported fentanyl, although he doesnt make the academic connection explicit there.
Vances last words are a quote by Richard Nixon: “the professors are the enemy.”
To sum up: Vance calls for a major, aggressive conservative drive against higher education. He charges academia with mendacity, hypocrisy, with causing and aiding economic misery, and with unfairly teaching division.
![](https://miro.medium.com/v2/resize:fit:700/1*P3RAlY_K4-tDEUbEu7dFxA.jpeg)
Is this speech a one-off? It was back in 2021, after all, which feels like a very different time. Given Vances changing attitudes, this call for war could recede into the past. But he has echoed and amplified its themes since.
[In an interview](https://europeanconservative.com/articles/dreher/i-would-like-to-see-european-elites-actually-listen-to-their-people-for-a-change-an-interview-with-j-d-vance/) Vance introduces education when discussing generational differences: “Millennials are really worried that their kids have a viable pathway to the middle class. Are they being educated at their schools, or indoctrinated into weird gender ideologies?” Questioned on the point, he goes further, starting by linking DEI to Harvards firing president Gay:
> What happened at Harvard was, in some ways, confirmation of the thesis, right? We saw identity elevated over ideas. Theres this weird way in which, obviously mediocre people are protected because they fit a particular political narrative. What happened at Harvard is a perfect manifestation of the idea that the universities are not so much after the pursuit of truth, as they are about enforcing dogma and doctrine.
He adds that the Gay story shows universities to be weak: “One takeaway from what happened at Harvard is that these academic institutions are just paper tigers. We should be really aggressively reforming them in a way to where theyre much more open to conservative ideas.”
Then he admires Hungarys president Orban for taking action against that nations universities:
> the closest that conservatives have ever gotten to successfully dealing with left-wing domination of universities is Viktor Orbáns approach in Hungary. I think his way has to be the model for us: not to eliminate universities, but to give the a choice between survival or taking a much less biased approach to teaching…
>
> \[W\]hether its the incentives that you put into place, funding decisions that are made, and the curricula that are developed, you really can use politics to influence culture. And we should be doing more of that on the American Right.
Note the threat enclosed in the word “survival.” Thats a world of… possibilities.
[A recent article](https://www.washingtonpost.com/world/2024/07/17/trump-vance-project-2025-orban-hungary/) quotes Vance thusly in another interview:
> “Im not endorsing every single thing that Viktor Orban has ever done. I dont know everything hes ever done,” Vance said in a recent CBS interview. “What I do think is on the university — on the university principle, the idea that taxpayers should have some influence in how their money is spent at these universities. Its a totally reasonable thing. And I do think that hes made some smart decisions there that we could learn from in the United States.”
[Politico quotes](https://www.politico.eu/article/j-d-vance-donald-trump-mate-us-isolationism-brussels-europe-relations/) Vance in [a related discussion](https://www.youtube.com/live/PMq1ZEcyztY?si=cKhF0rElfyOgAyPJ), where he calls for deinstitutionalizing DEI ideology with inspirations from deNazifying Germany and the deBaathification of Iraq:
> Vance also called for the “de-woke-ification” of schools and cited Orbán as inspiration in an [appearance](https://www.youtube.com/watch?v=PMq1ZEcyztY&t=1564s) on a right-wing podcast last September.
>
> “What do you do at the Department of Education? Well, you do what Viktor Orbán has done in Hungary, which is basically say, Youre not allowed to teach critical race theory anymore, youre not allowed to teach critical gender theory anymore … Youre not allowed to do those things and get a dollar of federal money or a dollar of state money.’”
In Inside Higher Ed [Katherine Knott observes](https://www.insidehighered.com/news/government/politics-elections/2024/07/16/trump-taps-jd-vance-sharp-critic-higher-ed-vp) that Vance has tries to turn his views into law in the United States Senate:
> Hes [introduced](https://www.vance.senate.gov/wp-content/uploads/2023/09/Bill-Text_SAEFFCA.pdf) legislation to ratchet up enforcement of federal laws that require disclosure of foreign donations to colleges and universities. He also [sponsored a bill](https://www.vance.senate.gov/press-releases/senate-democrats-block-vance-legislation-to-tax-large-university-endowments/) that would increase the excise tax on endowments net investment income from 1.4 percent to 35 percent for secular, private colleges and universities. The tax was necessary, he said, to rein in a university system that “has gone so insane.”
Speaking to those bills, the senator explained:
> “Why is it that we allow these massive hedge funds pretending to be universities to enjoy lower tax rates than most of our citizens, people who are struggling to put food on the table and buy Christmas presents this season?” he said on the Senate floor in December. “Its insane. Its unfair. And I think we ought to fix it in this chamber now.”
[One recent article notes](https://www.politico.com/news/2024/07/15/jd-vance-agenda-policies-00168467) his support for taxing university endowments continues.
[Education Week adds](https://www.edweek.org/policy-politics/trumps-vp-pick-what-we-know-about-j-d-vances-record-on-education/2024/07) that Vance criticizes what he sees as Chinas undue and malevolent influence on higher education:
> One bill [would establish stricter requirements for colleges and universities](https://www.congress.gov/bill/118th-congress/senate-bill/2856?s=6&r=3) contracting with or accepting donations from “foreign entities,” which he said would help keep the Chinese Communist Party from “exerting financial influence over American educational institutions.”
This connects with Project 2025s clear focus on China as Americas prime enemy. Vance also floated a bill about universities hiring undocumented workers: “The second bill [would prohibit public colleges and universities](https://www.congress.gov/bill/118th-congress/senate-bill/3978?s=6&r=1) from employing undocumented immigrants by taking away federal funding.”
On the economic front, Vance has expressed [divided views](https://www.cnbc.com/2024/07/16/trump-vp-vance-on-student-loan-forgiveness.html) on student loan forgiveness. On the one hand he [opposes](https://twitter.com/JDVance1/status/1519292884314431490) it in class terms:
> Forgiving student debt is a massive windfall to the rich, to the college educated, and most of all to the corrupt university administrators of America. No bailouts for a corrupt system. Republicans must fight this with every ounce of our energy and power.
At the same time, “\[i\]n May, he [helped introduce legislation](https://www.coons.senate.gov/news/press-releases/senator-coons-colleagues-introduce-domenic-and-eds-law-to-address-student-loan-debt-for-parents-of-children-who-become-disabled) that would excuse parents from student loans they took on for a child who became permanently disabled.”
Summing up, as a senator JD Vance has been broadly and clearly critical of higher education, urging political and perhaps cultural action against elite and other universities. He has developed this critique in connection with his other concerns, many of which connect with todays Republican party.
Now, lets take a step back. All of this might not be meaningful, since Vance is running for vice president, after all. More importantly, he campaigns on a ticket with a man who is notoriously egocentric. Trump is clearly the senior partner in the relationship and it is to him we should turn to see what a new administration will try to do to academia. If Trump ignores higher ed in his second term, its hard to imagine what Vance would do. And Vance didnt mention education in his admittedly very short acceptance [speech](https://youtu.be/1if1ufZY6nI?si=iTOeS0_UAQHXnIZp) at the Republican convention.
However, the Ohio senator may still impact colleges and universities. Trump might indeed seek to change postsecondary policy and/or to stir up cultural and local political actions against campuses. It seems likely that Vance could play an attack dog role there.
There are also six months between now and the potential start of a new administration. Vance should be an energetic campaigner in this period. We shouldnt be surprised if he returns to his higher education arguments in the field. That may have downstream impacts on culture, local or state politics, and perhaps next years Congress.
Additionally, as public intellectual (no, I havent finished *Hillbilly Elegy* yet) and as politician, Vance could keep the heat on higher education through media appearances, lobbying, writing, and more.
We should keep a close eye on this senator, author, and vice presidential candidate.
*photo by Gage Skidmore from Surprise, AZ, United States of America — J. D. Vance, CC BY-SA 2.0,* [*https://commons.wikimedia.org/w/index.php?curid=149633340*](https://commons.wikimedia.org/w/index.php?curid=149633340)
@@ -1,36 +0,0 @@
---
title: '"Ab und zu meditieren ist besser als nichts" + Co: 3 Missverständnisse über Meditation'
source: https://www.brigitte.de/gesund/entspannung/diese-3-missverstaendnisse-ueber-meditation-kannst-du-vergessen-13099134.html
tags:
- Methoden/Meditation
- Methoden/Achtsamkeit
---
## Meditations-Mythen 3 Missverständnisse über Meditation und wie es wirklich ist
![](missverstaendnisse-ueber-meditat_19bda09beab74281b.jpg)
© mimagephotography / Shutterstock
Menschen, die regelmäßig meditieren, können auf Knopfdruck jeden Gedanken abstellen und regen sich niemals über irgendetwas auf? Blödsinn. Wir klären diesen und andere Meditations-Mythen auf.
Meditation wirkt sich körperlich und geistig positiv auf die Gesundheit aus, sie macht gelassener, resilienter und glücklicher das haben [verschiedene Studien](https://www.yogaeasy.de/artikel/infografik-wirkung-meditation%C2%A0) nachgewiesen.
Aber so viele Benefits das Meditieren hat, so herausfordernd kann es auch sein, gerade für Anfänger:innen. Vielen Menschen fällt es schwer, ganz im Hier und Jetzt zu bleiben und ihren umherflatternden Gedanken nicht blind zu folgen. Und dann haben sie häufig noch dazu eine völlig falsche Erwartungshaltung an und Vorstellung von der [Meditation](https://www.brigitte.de/gesund/themen/meditation-10034422.html). Zeit, ein wenig Licht ins Dunkel zu bringen.
### 1\. Beim Meditieren ist das Ziel, an gar nichts zu denken
Viele Menschen glauben, dass man in der Meditation lernt, seine Gedanken zu kontrollieren oder komplett abzustellen. Aber unser Gehirn denkt nun mal das ist sein Job, und den wollen wir ihm auch gar nicht abtrainieren. Was wir beim Meditieren aber üben, ist, uns nicht mit den Gedanken zu identifizieren und uns nicht von ihnen davontragen zu lassen. Stattdessen wollen wir lernen, sie als neutrale:r Beobachter:in einfach wahrzunehmen ohne sie zu bewerten und in das Gedankenkarussell einzusteigen.
Das Problem: Wir gehen häufig viel zu hart mit uns ins Gericht, wenn wir vermeintlich "falsch" meditieren und es nicht schaffen, an nichts zu denken. Das ist aber kontraproduktiv, weil wir uns selbst und die Qualität unserer Meditation ständig be- und verurteilen. Und genau aus diesem Modus des Wertens wollen wir in der Achtsamkeit herauskommen. Leistungsgedanken haben hier nichts verloren.
### 2\. Wenn ich ab und zu meditiere, reicht das ist ja besser als nichts
Mit dem Meditieren ist es ähnlich wie mit dem Zähneputzen: Na klar ist es besser, sich einmal die Woche die Zähne zu putzen als nie ausreichen tut es trotzdem nicht, um gesunde Zähne zu haben. Und auch die Meditation lebt von der Routine. Und dabei geht es auch gar nicht um die Dauer. Jeden Tag fünf Minuten in die Stille zu gehen ist viel effektiver, als nur einmal die Woche, dafür aber eine Stunde zu meditieren. Unser Gehirn braucht die tägliche Wiederholung, um die Achtsamkeitspraxis als Gewohnheit abzuspeichern. Dann fällt es dir erstens leichter und zweitens wirst du die positiven Effekte der Meditation schneller und deutlicher spüren.
### 3\. Wer meditiert, ist immer tiefenentspannt und regt sich nie auf
Viele Anfänger:innen haben eine sehr hohe Erwartung an die Meditation und glauben, dass sie nach einigen Wochen der Praxis wie ein buddhistischer Mönch alles in ihrem Leben gelassen annehmen können und sich nie über irgendwas oder irgendwen ärgern (Spoiler: Auch Mönche finden mal was doof). Tja, das wäre natürlich ein Traum und die Welt sicher ein sehr viel angenehmerer Ort, wenn wir alle jeden Tag ein paar Minuten meditieren würden.
Beim Meditieren geht es aber darum, eine stärkere Achtsamkeit zu entwickeln  für uns selbst, unsere Gefühle und für unsere Empfindungen. Wir wollen uns damit auseinandersetzen, was wir fühlen und es nicht einfach wegdrücken. Das ist der Unterschied dazwischen, negative Gefühle loswerden zu wollen und sie loszulassen. In der Meditation dürfen alle Gefühle und Gedanken da sein, auch die unangenehmen. Wir nehmen sie wahr und lassen sie dann ziehen.
Langfristig hat das bei den meisten Menschen durchaus zur Folge, dass sie insgesamt gelassener werden und mit den Widrigkeiten des alltäglichen Lebens entspannter umgehen können. Aber es sollte nicht die Erwartungshaltung beim Meditieren sein, dass wir nie wieder negative Gefühle haben, wenn uns jemand den Parkplatz wegschnappt oder unsere Freundin uns versetzt. Aber wir können hoffentlich anders mit diesen Gefühlen umgehen.
@@ -1,54 +0,0 @@
---
title: 6 Big, Bad Mistakes in Configuration Management, Part 1
tags:
- IT/ConfigurationManagement
- IT/DevOps
source: https://devops.com/6-big-bad-mistakes-configuration-management-part-1/
---
# [6 Big, Bad Mistakes in Configuration Management, Part 1](https://devops.com/6-big-bad-mistakes-configuration-management-part-1/)
Configuration problems come in many flavors. Some are mere nuisances. Often though, configuration errors can lead to more serious mishaps like application performance problems, policy compliance violations or even security vulnerabilities. They can often go undetected, quietly doing their damage in the background while everyones attention is focused elsewhere.
Unfortunately, I find that configuration management is an area where many companies either 1) put it as a “last to solve” on their priority list (when arguably its quite important), or 2) try to solve it with a do-it-yourself fix, but in a way thats not always extensible or that doesnt end up working with their DevOps toolchain.
Usually, I find configuration issues stemming from the age old problem: using the wrong tool for the job. In this blog Ill address six big, bad mistakes of configuration management. (For the sake of brevity, three will be addressed here and three in an upcoming blog.)
Before I get into it, though, there are so many definitions of configuration management that it warrants a brief summary so were all on the same page. Im talking about the ongoing configuration management of the infrastructure tiers supporting your applications—the middleware, database and OS-level configurations that keep your applications lights on and everyone happy.
## Mistake No. 1: Only Considering Provisioning
Notice I just mentioned the word “ongoing” in my definition of configuration management. I find that so often people forget to take the ever-important “ongoing” into consideration. I have many conversations with folks wanting to implement a “provisioning tool.” On the surface, they think they need just that: a tool that provisions infrastructure including all the tiers of the application. But when I probe further, what theyre really wanting is something that provisions and then continues to monitor, manage and fix. Theres a big difference there.
![](Picture1-1_4a92b441cbb9476d82d03c42488e7ede.png)
Some tools do great at provisioning but lack the visibility and “ongoing” configuration management needs. Think of a provisioning tool as waving a bat at a piñata. Yes, you can “blow away your environment” and start over, but that blindfold prevents true visibility and ongoing interaction.
When looking for configuration management, be sure to focus on your current and future needs. Do you just need a provisioning tool? Or do you need an ongoing configuration management tool? Or both? Most tools that tout doing both do one much better than the other, so be sure to do your research.
## Mistake No. 2: Using an ARA Tool to Manage Configurations
In a previous position I spent quite a bit of time onsite with clients helping them automate
![](Picture2_7afbeabefced4c3881aa94964b0ada9c.png)
their application deployment processes. What I found is that around 80 percent of “application deployment” tasks are actually configuration tasks. The application deployment is the easy part; its the configuration management aspect that causes all of the headaches. I would spend the majority of my time onsite hurriedly writing little scripts that would be hurriedly inserted into the deployment process that would set the application pool, restart the service, change a heap size, etc. I had to write the scripts because application deployment products are workflow automation engines with process wrapped around them. They are not meant to be infrastructure configuration management products.
![](Picture3_2ebcb9d8565e4fcfbc074ef9d833ceed.png)
It bears repeating: Traditional application deployment solutions are not meant to be infrastructure configuration management products. They can get you part of the way there, but 1) youll need to script it all, which is not extensible and defeats the true purpose of a tool, and 2) they simply catapult your application (one way only!) into the next environment (i.e. Test to Staging, Staging to Prod), so you can forget about the “ongoing” piece we discussed above. Compare that one-way catapult launch to the complexity of routinely engineering one safe launch (and landing!!!) after another on an aircraft carrier on the open seas. A mission-critical task like this requires advanced technologies, visibility, communication and coordination to account for constantly changing environmental factors.
## Mistake No. 3: Using a CI or Build Automation Tool When You Need Configuration Management
As bad as misusing an application release tool when you really needed a configuration management solution, its even worse using a continuous integration tool for this.
![](Picture4_1c906c95674043569644774bd113d925.png)
Like many DevOps solutions, CI tools are particularly helpful for developers. CI tools like Jenkins and Bamboo require Dev teams to share or check in their updated code into a repository. The CI tool then detects potential problems early by automatically verifying builds for the developer. From the Dev teams perspective, there is no more wondering if their code is going to work, and they spend less time debugging and redoing. The financial benefits of CI and the early warning system they provide should be obvious and considered a must-have for developers.
But while detecting coding errors early saves a lot of hassle for the Dev and Test teams, Ops teams do not directly benefit from CI. Heres why: Operations teams are concerned with the application release into Production environments and then the ongoing configuration management of the entire application stack including the application, middleware, database and operating system. Once the (application) baton is passed to them, they require visibility into and intelligence about the applications operating environments—well after Dev and UAT. As good as they are for Dev teams, CI tools are simply not equipped to provide ongoing operations support, visibility and coordination in Production that modern Configuration Management solutions provide.
These are just a few big, bad mistakes in configuration management and they focus largely on misusing tools beyond their intended scope. I will follow up with a Part II companion article that addresses configuration management practices to be avoided.
Tune into our [upcoming webinar](http://webinars.devops.com/iis-middleware-configuration-management), which will touch on these topics as well.
## About the Author / Kristy McDougal
![](KristyMcDougall-150x150_f05340e6acb04d0ea4be9dac10.png)
Kristy McDougal leads Product and Sales Engineering for [Orca](http://www.orcaconfig.com/), an application release and configuration automation solution for DevOps teams. Prior to launching Orca, Kristy was a Senior Pre-Sales Consultant within BMC Softwares worldwide DevOps specialist team. Before BMC, Kristy held technical positions at VaraLogix, Virtual Bridges, Global Foundries and Advanced Micro Devices. Her experience includes Unix systems administration, systems engineering, pre-sales consulting and post-sales services. Kristy is ITIL Foundation-certified and is an electrical engineering graduate of the University of Texas at Austin.
[[Quellen/Artikel/6 Big, Bad Mistakes in Configuration Management, Part 2]]
@@ -1,42 +0,0 @@
---
title: 6 Big, Bad Mistakes in Configuration Management, Part 2
tags:
- IT/ConfigurationManagement
- IT/DevOps
source: https://devops.com/6-big-bad-mistakes-configuration-management-part-2/
---
[[Quellen/Artikel/6 Big, Bad Mistakes in Configuration Management, Part 1]]
# [6 Big, Bad Mistakes in Configuration Management, Part 2](https://devops.com/6-big-bad-mistakes-configuration-management-part-2/)
In [Part One](https://devops.com/6-big-bad-mistakes-configuration-management-part-1/) of my article on big, bad mistakes in configuration management, I reviewed the dangers of using the wrong tools for the configuration management job. Provisioning management tools, application release automation tools and continuous integration tools each have their place in your DevOps toolchain. But they should not be used as a substitute for ongoing configuration management. In this article I am focused less on misusing tools and more on bad practices, limited thinking and short-sightedness that should be avoided.
## Mistake No. 4: Direct Server Access to Production
This one may not bite you … until it does. Ive worked with many companies where developers have direct access to Production. This is not good. And, in many cases, it is a violation of compliance policies. Please dont take offense, my developer friends. You shouldnt want direct access to Production. I find that 9 times out of 10, your code is not the problem—the configuration is the problem. However, youre being asked to log directly into the server to do comparisons between your environment (where it worked just fine) and Production. This leads to the, “How did he fix it?” problem, and it leads to the dreaded typos and other manual errors. Ive witnessed companies lose millions of dollars in a matter of minutes because someone logged directly into a server and made an incorrect configuration change.
The question is, How do you cut off direct access to Production? How do you quickly find configuration differences between environments without logging into the server? The answer is a good configuration management solution that quickly shows differences between the environments for all your tiers. This is easy when youre doing file-to-file comparisons, but what about registry key comparisons, or WebSphere comparisons? Find a configuration management tool that gives you visibility fast, exactly when you need it, for the important parts of the stack that keep your applications running. And insist on a configuration management solution with robust RBAC (role-based access control) over what changes can be made, where and when they can be made, who can make them and even who can approve them.
## Mistake No. 5: Leaving Your DBAs Out of the Picture
The majority of companies I work with have completely disconnected database and middleware teams—the DBAs dont really know what the middleware team is doing and the middleware team has no visibility into what the DBAs are doing. I believe there are a couple reasons for this: people and technology. We wont worry about the people aspect today, other than to say that each team thinks the other team is “quirky” J. From the technology aspect, traditional tools simply do not provide configuration visibility into *both* the middleware and the database tier. So the DBAs end up having one toolset, and the middleware team a completely different toolset. This prevents collaboration, orchestrated releases, and the complete configuration picture thats needed to make sure your application is fully configured, performing, and running correctly.
This is a big problem. In fact 37 percent of survey respondents admitted that they relied on scripting and manual processes to determine which databases were used by which applications in their ecosystems. And another 38 percent admitted they dont even have a way to determine this information. Talk about blindfolds! My advice is to find a solution that both middleware and database teams can use. That doesnt necessarily mean the DBAs will replace their favorite tools, but theyre now involved in the process, allowing that collaboration and orchestration that was missing.
Also, if you use a single, integrated configuration management solution your management, middleware, OS and DBA teams will all have visibility into every aspect that makes the application run. The middleware team can see if there are schema changes that may be causing an application issue as opposed to spending hours looking for a middleware configuration issue theyll never find, or vice versa*.* Having one unified tool cuts down on the mean time to diagnose because you can see all the tiers in one place.
## Mistake No. 6: Focusing Only a Single Part of the Stack
The previous “big, bad mistake” segues nicely into this one: focusing on just a single part of the stack. There are many tiers supporting your application, and weve touched on several in this series—namely middleware, database and OS. Within each tier you may be supporting different technologies. Some applications may be running on IIS with a SQL Server back end while others run on WebSphere with an Oracle back end. Then you have the operating system settings to worry about: making sure registry keys are set, system services have the right accounts, filesystem permissions are accurate, all the correct versions of Linux packages are installed, etc.
Based on a lack of comprehensive coverage up and down the application stack, many companies have chosen to explore configuration management tools for just a single part of it. These point tools tend to focus on the most business-critical applications, the one where they hit the most configuration issues or simply the one thats most difficult to manage. This is not necessarily a bad thing to do, but take care not to be too single-minded. Try not to choose a configuration management solution that works well for one part of the stack but not others, or that works very well in one environment (Linux/Unix), but not very well in another (Windows). Managing these disparate point solutions, with maddening gaps and overlaps in coverage, can be exhausting.
Choose a tool thats extensible to other parts of the stack, business or other teams. My suggestion is to make a list of all present and future technologies you use that need configuration management support. Divide them into different parts of the stack and then rank them from “most onerous to manage and/or most business critical” to “nice to have.” Refer to this list when evaluating configuration management tools so you dont lose sight of the forest from the trees. Make sure the tool can support all your top items and ask about their road map for your “nice to haves.”
Tune into our [upcoming webinar](http://webinars.devops.com/iis-middleware-configuration-management), which will touch on these topics as well.
## About the Author / Kristy McDougal
![](KristyMcDougall-150x150_94a5153470db48bc92cec2fded.png)
Kristy McDougal leads Product and Sales Engineering for [Orca](http://www.orcaconfig.com/), an application release and configuration automation solution for DevOps teams. Prior to launching Orca, Kristy was a Senior Pre-Sales Consultant within BMC Softwares worldwide DevOps specialist team. Before BMC, Kristy held technical positions at VaraLogix, Virtual Bridges, Global Foundries and Advanced Micro Devices. Her experience includes Unix systems administration, systems engineering, pre-sales consulting and post-sales services. Kristy is ITIL Foundation-certified and is an electrical engineering graduate of the University of Texas at Austin.
@@ -1,110 +0,0 @@
---
title: "Achtsamkeit: Drei Methoden, Körper und Geist zu entspannen"
tags:
- Methoden/Meditation
- Methoden/AutogenesTraining
- Methoden/Achtsamkeit
source: https://www.geo.de/magazine/geo-wissen-gesundheit/14945-rtkl-achtsamkeit-drei-methoden-koerper-und-geist-zu-entspannen
---
Wer es schafft, den Körper zu beruhigen, kann auch psychische Beanspruchungen besser bewältigen. Dabei helfen zum Teil jahrtausendealte Verfahren aber ebenso neuere Methoden, deren Wirksamkeit wissenschaftlich belegt ist
![Achtsamkeit](achtsamkeit-g-530054195-jpg--63810-.jpg)
Getty Images/Hero Images
Der Lotussitz erlaubt Geübten eine längere Zeit andauernde meditative Versenkung - ohne dass sie dabei die Wirbelsäule belasten
In diesem Artikel
[I. PROGRESSIVE MUSKELRELAXATION](#278922-i-progressive-muskelrelaxation "I. PROGRESSIVE MUSKELRELAXATION")
[II. AUTOGENES TRAINING](#278924-ii-autogenes-training "II. AUTOGENES TRAINING")
[III. MEDITATION](#278926-iii-meditation "III. MEDITATION")
Gut gewappnet gegen Stress sind all jene Menschen, die sich regelmäßig körperlich entspannen, gedanklich abschalten können und vor allem achtsam ihre eigenen Bedürfnisse wahrzunehmen vermögen. Und all diese Fähigkeiten, darin sind sich Stressforscher einig, lassen sich systematisch einüben und intensivieren. Denn so wie Körper und Geist auf
Belastungen reagieren, indem sich etwa der Herzschlag beschleunigt oder negative Gefühle aufkommen, so zeigen beide auch Reaktionen, wenn der Organismus Entspannung erfährt:
Der Blutdruck sinkt und positive Gedanken stellen sich ein. Daher sollte Entspannung ebenso zu unserem Alltag gehören wie Anspannung. Vielen hilft dabei, passiv zu sein, sich etwa durch Massagen beruhigen zu lassen. Doch wenn die Belastung überhandnimmt, genügen solche einfachen Mittel zur Entspannung nicht mehr. Dann gilt es, die Ruhe aktiv zu suchen, zu üben und zu intensivieren, geradeso wie wenn man einen Muskel durch Kraftübungen stärkt. Dafür gibt es eine Vielzahl unterschiedlicher Verfahren.
Doch nicht alle sind wissenschaftlich untersucht, nicht jede Variante einer bestimmten Technik ist so wirksam wie eine andere. In den Richtlinien der gesetzlichen Krankenversicherungen werden drei Formen von Übungen aufgeführt, die nachweislich entspannend wirken und deshalb von den Kassen auch bezahlt werden:
• Progressive Muskelrelaxation,
• Autogenes Training,
• Meditation.
Wer diese Übungen regelmäßig trainiert, vermag selbst in schwierigen Situationen des Alltags gezielt Erregung zu vermindern oder kann vermeiden, dass sich Stress nicht mehr abschütteln lässt.
## I. PROGRESSIVE MUSKELRELAXATION
„Es gibt vermutlich kein allgemeineres Heilmittel als Ruhe“, schrieb der US-Physiologe Edmund Jacobson, der 1929 erstmals seine Methode der willentlichen Muskelentspannung publizierte. Dabei werden nacheinander bestimmte Muskelgruppen angespannt, jeweils für ein bis zwei Minuten. Danach versucht man, die gerade angespannte Muskelgruppe für drei bis vier Minuten maximal zu lockern.
So werden schrittweise alle Partien des Körpers angespannt und entspannt, von den Gliedmaßen über den Rumpf bis zum Kopf. Heute werden zumeist vereinfachte Varianten von Jacobsons Programm gelehrt. Doch auch ihr Ziel ist es, immer genauer wahrnehmen zu können, in welchem Grad der Anspannung sich einzelne Muskeln befinden.
Ob die Muskelrelaxation tatsächlich wie Jacobson annahm die Aktivität des zentralen Nervensystems beeinflusst, konnten Forscher bislang noch nicht belegen. Doch zeigen Studien: Wer aktive Muskelentspannung trainiert, steigert langfristig sein Wohlbefinden, ist weniger schmerzempfindlich und reagiert in belastenden Situationen gelassener.
## II. AUTOGENES TRAINING
In den 1920er Jahren beobachtete der deutsche Psychiater Johannes Heinrich Schultz, dass Menschen sich ohne äußeres Zutun selber (autogen) in eine Art Trance versetzen können in einen Zustand, in dem sie tiefe Ruhe erleben, Wärme in den Gliedmaßen spüren und sich anschließend erfrischt fühlen. Daraufhin entwickelte er Übungen, mit denen jeder gezielt etwa seine Herzfrequenz beeinflussen, seinen Atem regulieren und ein Gefühl von Wärme hervorrufen können soll.
Das Schema ist immer gleich: Der Übende wiederholt im Geist Sätze, die sich auf eine beruhigende Empfindung beziehen, etwa „Der rechte Arm ist schwer“ oder „Das Herz schlägt ruhig“.
Fast jeder kann erlernen, derartige körperliche Veränderungen auch tatsächlich hervorzurufen. Bereits nach einigen Wochen regelmäßigen Trainings erzeugen die Selbstsuggestionen bei den meisten den erwünschten Effekt: Ruhe, Wärme, Entspannung treten ein. Auch in belastenden Situationen können Erfahrene oft leichter wieder ruhig werden und somit souverän
agieren.
## III. MEDITATION
In nahezu allen Religionen gibt es Techniken, die helfen sollen, Selbsterkenntnis zu gewinnen, das Bewusstsein zu erweitern und höhere Welten zu erkunden, mithin „Erleuchtung“ zu finden. Entspannung gilt bei diesen meditativen Verfahren als Voraussetzung. Deshalb haben sich manche der Methoden, losgelöst von der spirituellen Bedeutung, auch für die
Stressbewältigung bewährt.
Von den Krankenkassen anerkannt werden das indische Hatha-Yoga und die chinesischen Praktiken Tai-Chi und Qigong. Diese drei Techniken verknüpfen geistige Versenkung mit Bewegung, mal langsam, mal schnell, mal dynamisch, mal konzentriert. Studien zeigen: Die Verfahren können dazu beizutragen, Stressreaktionen langfristig zu mildern und den
Körper in eine gesunde Balance von An- und Entspannung zu versetzen.
## Fünf Regeln für ideale Entspannung
**1\. Zur Ruhe kommen**
Es ist wichtig, den Körper in stressigen Phasen regelmäßig zu beruhigen. Massagen, Musik oder Akupunktur können dabei ebenso helfen wie Entspannungstechniken.
**2\. Die Muskeln lockern**
Mithilfe spezieller Übungen lässt sich der Muskeltonus kontrollieren und Anspannung gezielt lösen.
**3\. Selbstsuggestion üben**
Nahezu jeder kann lernen, durch Autogenes Training Empfindungen von Ruhe und Wärme zu erzeugen, die Stress entgegenwirken.
**4\. Energien fließen lassen**
Meditation in Verbindung mit gezielten Bewegungen, etwa beim Hatha-Yoga, Tai-Chi oder Qigong, vermag Körper und Geist wieder in Einklang zu bringen.
**5\. Im Hier und Jetzt sein**
Wer seine Gedanken aufmerksam beobachtet und Emotionen nachspürt, erlangt Kontrolle über sein Fühlen und Denken und kann Belastungen besser standhalten.
All diese Methoden helfen dabei, ein Gefühl der Kontrolle zu erleben. Sie erzeugen ein Bewusstsein dafür, dass man alltäglichen Belastungen und Beschwerden nicht hilflos ausgeliefert
ist. Denn es gilt, sensibler als in der üblichen Wahrnehmung den eigenen Körper zu empfinden, Gedanken zu beobachten, Gefühle zu erspüren. Und zugleich darauf zu achten, in welchem Wechselspiel die Umwelt und das Innere zusammenhängen. Sodass wir nicht allein ein vages Unwohlsein empfinden, sondern klarer erkennen können, was genau Schmerz oder Übelkeit auslöst, was Gereiztheit oder Müdigkeit.
## Der Begriff der Achtsamkeit
Erst in den vergangenen Jahrzehnten hat sich für diese Fähigkeit ein Begriff etabliert: Achtsamkeit. Sie ist gewissermaßen eine natürliche Arznei des Menschen, um Stress zu vermeiden oder zu lindern. Denn sie hilft dabei, schon frühe Anzeichen einer Belastung zu erkennen und nicht achtlos zu übergehen.
Wissenschaftler untersuchen deshalb intensiv, wie sich Achtsamkeit gezielt und langfristig stärken lässt. Als wirksam hat sich vor allem eine Methode erwiesen, die der US-Wissenschaftler Jon Kabat-Zinn entwickelt hat: die Mindfulness-Based Stress Reduction (achtsamkeitsbasierte Stressreduktion). In den USA wird dieses standardisierte Verfahren in Hunderten Kliniken und Gesundheitszentren unterrichtet, auch in Deutschland wird es vielfach angeboten.
Teilnehmer lernen in mehrwöchigen Kursen Elemente traditioneller Meditationstechniken, beispielsweise ihren Atem bewusst wahrzunehmen, ihre Gedanken mit Gleichmut zu beobachten oder aufmerksam einem Aroma nachzuspüren. Religiöse Bezüge werden ausdrücklich vermieden. Im Mittelpunkt steht, aktiv die Achtsamkeit zu üben, die Entspannung
zu vertiefen. Auf diese Weise, so haben Studien erwiesen, lässt sich unmittelbar unsere Widerstandskraft gegen übermäßigen Stress stärken.
## Durch Achtsamkeit wird Angst gedämpft
Hirnforscher haben herausgefunden: Mit regelmäßigen Meditationsübungen lässt sich langfristig die Aktivität in den Partien des Denkorgans verändern, die Emotionen und körperliche Empfindungen regulieren. Auch stärken Meditierende den Thalamus, jenes Hirnareal, in dem Sinneseindrücke gebündelt werden und so Aufmerksamkeit fokussiert wird.
Mehr noch: Sie dämpfen ihre neuronale Quelle der Angst, die Amygdala. Diese Region ist immer dann besonders aktiv, wenn wir Stress empfinden und angespannt sind. Achtsamkeits- und Entspannungsübungen führen nachweislich dazu, stressbedingte körperliche Beschwerden zu lindern, etwa Kopfschmerzen, Schlafprobleme, Herzstolpern oder Durchblutungsstörungen.
Wer regelmäßig trainiert, kann auch in schwierigen Situationen des Alltags gezielt Erregung vermindern und damit vermeiden, dass sich überhaupt erst langfristiger (und damit besonders schädlicher) Stress entwickelt.
## WEITERE INFORMATIONEN:
[**mbsr-verband.de**:](http://www.mbsr-verband.de/) Website eines Zusammenschlusses zertifizierter Achtsamkeitslehrer auf der sich Kurse in der Nähe sowie weiterführende
Literatur finden lassen.
**Ulrich Ott**: »Meditation für Skeptiker« (O. W. Barth): erklärt die Wirkung von Meditation aus neurowissenschaftlicher Sicht.
@@ -1,46 +0,0 @@
---
title: Die Macht der Gewohnheit
source: https://www.philomag.de/artikel/die-macht-der-gewohnheit
tags:
- Methoden/Disziplin
- Methoden/Gewohnheit
- Philosophie
---
## [Die Macht der Gewohnheit](https://www.philomag.de/artikel/die-macht-der-gewohnheit)
Eine unwiderstehliche Kraft wirkt in uns. Sie beherrscht unser Leben, und dabei nehmen wir sie meist nicht einmal wahr. Sie versteht es, stumm und beinahe unsichtbar zu bleiben. Sie dringt in die Poren der Zeit ein, durchzieht unser Tun, spricht und entscheidet an unserer Stelle. Das macht es so schwer, sie zu bekämpfen. Schlimmer noch: Je mehr Zeit vergeht, umso mehr setzt sie sich fest.
Als Dostojewski in seinem Roman *Die Dämonen* die Figur des Stepan Trofimowitsch Werchowenskij schildert, eines alternden Intellektuellen, der in seiner Neigung zu Faulenzerei, Kartenspiel und Wein versinkt, bringt er es auf eine grausame Formel: „Es scheint wohl wahr zu sein, dass die zweite Hälfte des menschlichen Lebens sich gewöhnlich nur aus Gewohnheiten zusammensetzt, die man in der ersten Hälfte erworben hat.“ Ab einem gewissen Zeitpunkt kann man sie nicht mehr ablegen.
Woher rührt die Macht der Gewohnheit? Zunächst wendet sie sich nicht an unseren Geist, sondern schreibt sich in unseren Körper ein. Diese oder jene Idee zu widerlegen, ist vergleichsweise leicht; viel schwerer fällt es, sich von einem Teil seiner selbst zu trennen. Wie Henri Bergson schreibt, ist die Gewohnheit „der versteinerte Überrest einer ehemals geistigen Aktivität“.
## Vom Willen zum Automatismus
Auch wenn sie manchmal ausgehend von einem Gedanken oder einer Entscheidung entsteht, verankert sie sich unausweichlich in der Materie unseres Körpers. Sehr oft steckt sie in unserer Hand, die sich zum Gruß hebt, in der Wange, die wir jemandem zum Küsschen hinhalten, den Lippen, die sich von ganz allein bewegen, um eine Höflichkeitsfloskel zu artikulieren, ohne dass sie von Herzen käme. Wenn wir einen bestimmten Weg zum ersten Mal gehen, finden wir alles entzückend. Schon nach wenigen Wochen aber trotten wir mit mechanischen Schritten dahin, unsere Augen nehmen von nichts mehr Notiz. Was sinnlich greifbar war, ist verblasst: Wir sind unempfänglich geworden für die Schönheit der Dinge.
Gewohnheit bedeutet sterile Wiederholung. Nach Bergson ist „die einmal angenommene Gewohnheit (…) ein Mechanismus, eine Reihe von Bewegungen, die sich untereinander bedingen“. Sie rastet ein und setzt sich fort, ohne dass wir bewusst Anteil daran hätten, und zieht sich schließlich wie eine lange Kette durch unseren Alltag: „Nun zeigt uns unsere innere Erfahrung in der Gewohnheit eine Aktivität, die in unmerkbaren Graden vom Bewusstsein zur Unbewusstheit und vom Willen zum Automatismus übergegangen ist.“
Diese enorme Kraft der Verfestigung drückt sich in einem eigentümlichen Phänomen aus: Selbst die extremsten Handlungen oder Ereignisse können sehr schnell zu so banalen Gewohnheiten wie dem Kaffee nach dem Essen werden. Wie die Geschichte zeigt, kann man sich leider an alles gewöhnen, auch daran, ein Kind zu schlagen oder Unschuldige zu erschießen. In der Literatur über die Konzentrationslager finden sich unzählige Berichte von Menschen, die unter grausamsten Bedingungen lebten, sich aber auf eine nahezu unfassbare Weise schließlich daran gewöhnten an Hunger, Schlafentzug und härteste Arbeit.
## Gewohnheit zum Tode
Wie man sieht, hat die Gewohnheit erhebliche moralische Folgen oder amoralische, um genau zu sein. Sie betäubt unseren Willen. Die Einschreibung unserer Handlungen in die Materie und ihre mechanische Wiederholung geben der Gewohnheit ein solches Gewicht, dass sie unverrückbar wird. Wenn das Bewusstsein abdankt, wenn wir schulterzuckend bekennen: „Ich kann nichts dagegen tun!“, dann erweist sich die Gewohnheit als ein bewährtes Alibi. Die Routine zersetzt unsere Verantwortung. Wenn wir jeden Morgen demselben Bettler begegnen und es uns angewöhnt haben, ihm nichts zu geben, dann wird auch diese Einstellung von uns ein Teil der äußeren Umgebung.
Die Wiederholung einer Handlung ist das beste Mittel, um sie festzuschreiben, also keine Fragen mehr zu ihrer ethischen Dimension zu stellen. Nehmen wir zum Beispiel einen Alkoholiker, der bei der Arbeit einen schweren Fehler begeht. Man kann ihn von der Verantwortung dafür freisprechen, weil er von morgens bis abends unter dem Einfluss von Alkohol steht. Vielleicht hat er nicht einmal gemerkt, was er da gerade tut. Aristoteles, der sich in der *Nikomachischen Ethik* eingehend mit der Gewohnheit befasst, beharrt indessen darauf, der Mann hätte mit dem Trinken gar nicht erst anfangen oder zumindest keine Gewohnheit daraus machen müssen. Deshalb ist er für die Folgen seiner schlechten Neigung, auch für die entferntesten, sehr wohl verantwortlich.
Die schlimmste Wirkung der Gewohnheit besteht darin, dass sie uns glauben lässt, wir seien für ihre Wirkungen nicht länger haftbar obwohl wir es in Wirklichkeit sind. Und der keineswegs unwichtigste Aspekt schließlich besteht darin, dass die Gewohnheit abgesehen von automatischen Handlungen offenbar nichts hervorbringt. Sie ist das beste Mittel, um uns gegen das Neue abzuschirmen und an Erfindungen zu hindern. Eben deshalb hatte Bergson, der Philosoph des *élan vital* und der Schöpfung, wenig für sie übrig. Die Gewohnheit führt zu Gleichgültigkeit, Ermüdung und Langeweile, was Hegel in der *Enzyklopädie der philosophischen Wissenschaften* (1817) zu der schonungslosen Bemerkung veranlasste, es sei „die Gewohnheit des Lebens, welche den Tod herbeiführt oder, wenn ganz abstrakt, der Tod selbst“.
## Mentale Dekontamination
Wie lässt sich die Macht der Gewohnheit bezwingen? Spontan würde man diese Ketten, die uns zu Sklaven unserer Marotten machen, gerne mit einem einzigen Akt in Stücke schlagen. Der Gedanke ist verlockend, schließlich geht es ja darum, mit der allgemeinen Mittelmäßigkeit des Alltäglichen zu brechen. Doch ein solcher Heroismus bleibt ungenügend. Die tausendfach wiederholte Handlung wird immer stärker sein als die Großtat eines einzelnen Tages. Das Geheimnis des Sieges über die Gewohnheit besteht in etwas anderem. Um sich von ihr zu befreien, muss man sie durch etwas ersetzen, das ganz ähnlich und mindestens genauso machtvoll ist: durch die Übung und die Disziplin.
Diese These vertritt der Philosoph Peter Sloterdijk in seinem Buch *Du mußt dein Leben ändern*. Ihm zufolge lässt sich das eigene Leben allein durch die Übung verändern: sei es wie bei den alten Griechen durch Sport, sei es durch künstlerische Betätigung, religiöse Askese oder die Introspektion in einer Psychoanalyse. Zur Überwindung der schlechten Angewohnheiten muss man laut Sloterdijk den Weg einer „guten Wiederholung“ beschreiten, die allein „die schlechte“ ersetzen kann.
Um eine „psychische Deautomatisierung und mentale Dekontamination“ herbeizuführen, bietet sich eine Reihe von Techniken an. Wie Sloterdijk unterstreicht, ist das Schweigen, das unseren Geist von allen vorgefertigten Ideen „leeren“ soll, eine bereits in der Antike von den Schülern des Pythagoras praktizierte Methode. Auch heute ist der Verzicht auf das Sprechen eine Voraussetzung der Übung, ganz gleich, ob diese der Meditation, der Musik oder der Malerei gilt. Am wichtigsten aber ist es, den „methodischen Aufbau einer neuen spirituellen Struktur“ zu vollziehen: ein bescheidenes, schrittweise durchgeführtes Handlungsprogramm, das aber mit strengster Regelmäßigkeit praktiziert wird.
## Training als Ethik
Alles, was Bergson an der Gewohnheit kritisierte, stellt sich nun in viel positiverem Licht dar. Um ein neues Leben anzustreben, muss man erneut vom Körper und der Wiederholung ausgehen. Nur so kann man hoffen, zum Spiel, dem schönen Werk, der Gelassenheit des Geistes zu gelangen. Auch die moralischen Tugenden stellen sich wieder ein: Durch die Disziplin entstehen neue Willenskraft, Hartnäckigkeit und Verantwortungsbewusstsein. Dieses „ethische Leben“, gegründet auf den Umstand, dass man dieselbe Übung und sei sie noch so gering jeden Tag praktiziert, ist letztendlich zutiefst „reformatorisch“, wie Sloterdijk schreibt.
Im Gegensatz zur Revolution, die nach zunächst befreiender Erhebung oft kein gutes Ende nimmt, ist die Übung bescheiden. Doch auch sie kann einen Neubeginn herbeiführen. Und vermeidet dabei das Risiko zerstörerischer Effekte. Grund genug, diesen anstrengenden Weg zu beschreiten. Worauf warten Sie? •
@@ -1,67 +0,0 @@
---
title: Diese 5 Dinge machen gelassene Menschen anders
source: https://www.geo.de/wissen/gesundheit/fuenf-dinge--die-gelassene-menschen-anders-machen-31722232.html
tags:
- Methoden/Entspannung
- Psychologie
- Methoden/Meditation
- Methoden/Selbstfindung
- Methoden/Yoga
---
Ungeduld, Hektik und Überforderung lauern im Alltag überall. Nicht jedem fällt es da leicht, gelassen zu bleiben. Manche Menschen strahlen dennoch stets eine innere Ruhe aus, selbst in stressigen Situationen. Wir verraten fünf ihrer Geheimnisse
Es sagt sich so leicht, fällt aber häufig so schwer: Immer mit der Ruhe. Im Alltag sind wir oft nervös, rastlos, gehetzt und manchmal auch überfordert. Die Chefin wartet auf die neueste Auswertung, im Haushalt türmt sich die Bügelwäsche, der Familienurlaub muss geplant werden, und den besten Freund hat man schon viel zu lange nicht gesehen.
Der alltäglichen Hektik zu entfliehen, einfach mal loszulassen und zu entspannen, wünscht sich wohl jede und jeder. Gerade in Situationen, in denen wir tätig sind, ist der Wunsch nach innerer Ruhe meist am größten. Doch Gelassenheit ist kein flüchtiger Zustand, der uns im Urlaub begegnet, sondern eine souveräne Lebenseinstellung. Manche Menschen scheinen diese mehr verinnerlicht zu haben als andere. Was wir uns von ihnen abschauen können:
## Den eigenen Perfektionismus zügeln
Ob im Job, beim Sport, in Beziehungen oder im Haushalt: Wer in allen Lebensbereichen permanent Bestleistungen erbringen möchte, der läuft Gefahr, sich auf Dauer selbst zu überfordern. Denn kein Mensch ist dazu in der Lage, ständig alles perfekt zu machen und das muss auch gar nicht sein. Im Gegenteil: Der eigene Perfektionismus erzeugt nur unnötig hohen Druck und führt letzten Endes fast immer zur eigenen Unzufriedenheit.
![Gelassenheit: Mit Meditaton lassen sich belastende Gedanken und Gefühle besser und schneller in den Griff bekommen](gelassenheit-s-1038286189-jpg--8_700a2669baf34edfa.jpg)
Gelassenheit: Mit Meditaton lassen sich belastende Gedanken und Gefühle besser und schneller in den Griff bekommen
### [Gelassenheit Wie Meditation gegen belastende Gedanken hilft](https://www.geo.de/wissen/gesundheit/22783-rtkl-gelassenheit-wie-meditation-gegen-belastende-gedanken-hilft)
Wer zu meditieren gelernt hat, kann mit belastenden Gedanken und Gefühlen besser umgehen, sagt die Hirnforscherin Britta Hölzel
Wer gelassener werden möchte, sollte sich klar machen, dass bereits die Erledigung einer Aufgabe gut genug ist. Sie muss nicht immer perfekt erledigt werden, oft reicht auch ein einfaches Gut. Anstatt sich also darauf zu konzentrieren, was nicht bis ins kleinste Detail perfekt geworden ist, sollte man besser auf die positiven Aspekte schauen. Wer Aufgaben gelassener angeht, kann sich im Vorfeld bereits enorm viel Druck nehmen und lebt entspannter.
## Regelmäßig an die frische Luft gehen
Fragt man Menschen, wo sie sich besonders gut entspannen können, hört man immer wieder: draußen in der Natur. Offenbar hat ein natürlich-biologisches Umfeld einen besonderen Effekt auf unser Gehirn: Es entspannt uns, baut Stress ab und legt so die Grundlage für unser Wohlbefinden.
Dieser Effekt ist auch im Gehirn messbar, denn wir organisieren unsere Denkvorgänge neu, wenn wir natürlichen Geräuschen und Tönen lauschen. Nicht umsonst empfinden so viele Menschen das Meeresrauschen oder Vogelgezwitscher als besonders entspannend. [Forschende konnte dies sogar bei Testpersonen im Hirnscanner nachweisen.](https://www.geo.de/magazine/geo-magazin/darum-wirken-naturgeraeusche-so-entspannend-30173216.html)
Noch entspannter wird, wer den Aufenthalt im Grünen mit einem kurzen Spaziergang verknüpft. Kaum etwas ist so wirksam gegen Stress und innere Unruhe wie Bewegung. Schon nach wenigen Minuten setzt der Körper beruhigende und stimmungsaufhellende Substanzen frei. Wer regelmäßig spazieren oder joggen geht, lindert Niedergeschlagenheit und Unruhe, schöpft neue Kraft und fördert nachweislich die eigene Gesundheit.
## Ruhepausen im Alltag einbauen
Wer ständig unter Strom steht und von einer Aufgabe zur nächsten hastet, gibt Pausen keinen möglichen Raum. Ein hoher Stresspegel ist Gift für Ruhe und Gelassenheit. Im Alltag sind regelmäßige Pausen daher enorm wichtig, ebenso ausreichend Nachtschlaf. Wer dazu neigt, sich keine Pausen zu nehmen, für den können eingeübte Routinen hilfreich sein.
Regelmäßige Rituale verschaffen wichtige Verschnaufpausen, in denen man sich ganz auf die eigenen Bedürfnisse fokussieren kann. Dies kann ein kurzer Gang "an die frische Luft" sein, eine Tasse frischer Tee oder ein entspannendes Fußbad am Abend. Je regelmäßiger diese kleinen Inseln der Ruhe im Alltag aufgesucht werden, desto natürlicher werden sie und desto eher bringen sie Körper und Geist wieder in Balance.
![Gelassenheit beginnt im Kopf - mit der Art und Weise, wie wir über das Leben denken. Die antiken Stoiker waren Experten, sich nicht von allen Aufregungen im Leben mitziehen zu lassen. Mit den richtigen Gedanken kann sich Ruhe in Sekunden einstellen, glauben einige Experten auch heute ](egelassen-wie-die-stoiker--red-g_f5778b2c424f4f98b.jpg)
Philosophie für den Alltag: Gelassenheit beginnt im Kopf - mit der Art und Weise, wie wir über das Leben denken. Die antiken Stoiker waren Experten, sich nicht von allen Aufregungen im Leben mitziehen zu lassen. Mit den richtigen Gedanken kann sich Ruhe in Sekunden einstellen, glauben einige Experten auch heute
Eine antike Philosophie boomt: Die Lehre der Stoiker verspricht Seelenruhe und Gelassenheit in schweren Zeiten und Krisen. Was ist ihr Geheimnis und wie nutzen wir es? Ein Gespräch mit dem Coach Thomas Hohensee über den klugen Umgang mit Belastungen, Kontrolle der Gedanken und den Irrglauben, unvernünftig leben zu müssen
Eine Übung, die bereits der römische Philosoph Seneca empfohlen hat, ist etwa die abendliche Reflexion. Dabei lässt man den vergangenen Tag Revue passieren und fragt sich selbst: In welcher Situation wäre ich heute gern gelassener gewesen? Welche Emotionen kamen auf und was waren meine Ansprüche?
Wem es gelingt, diese Selbstreflexion über längere Zeit zu führen ob in Gedanken oder in Form eines Tagebuchs , wird sich unausweichlich verändern und allmählich auf Herausforderungen, in denen Gelassenheit hilfreich wäre, anders reagieren als zuvor.
## Öfters mal Nein sagen
Vor allem jene Menschen, die alles selbst erledigen wollen, andere nicht um Hilfe bitten mögen und auch nicht Nein sagen können, wenn sie um Hilfe gebeten werden, riskieren Unsicherheit, Überlastung und Frustration. Doch wer erlebt, dass sich vieles auch ohne eigenes Zutun zum Guten wendet, kann allmählich Gelassenheit entwickeln.
![Widerstandskraft: Psychische Stabilität: Was uns innerlich stark macht und durch Krisen helfen kann](mauritius-images-14246260_b5e7f41ba5aa49dc8a69d3eb.jpg)
Widerstandskraft: Psychische Stabilität: Was uns innerlich stark macht und durch Krisen helfen kann
Manche Menschen bewahren auch in herausfordernden Zeiten scheinbar mühelos ihren Lebensmut, reagieren auch in Krisen mit Zuversicht. Forschende nennen diesen Wesenszug "Resilienz" und sind davon überzeugt, dass jeder die positiven Denkmuster trainieren kann
## Dankbarer sein
Dankbarkeit kann eine machtvolle Kraft sein, um mehr zu sich selbst zu finden. Doch wohl kaum ein Ratschlag mag schwieriger umzusetzen sein, oft will sich dieses Gefühl einfach nicht einstellen. Wem es aber gelingt, im Alltag die guten Dinge nicht immer für selbstverständlich zu nehmen, sondern öfters dankbar für sie zu sein, der handelt gelassener.
In vielen Religionen spielt Dankbarkeit eine wichtige Rolle, Gelehrte des Altertums haben das Gefühl gepriesen. Zu Recht, wie Studien gezeigt haben: Jene, die anderen danken oder Dankbarkeit in sich spüren, sind nachweislich zufriedener mit sich selbst und mit anderen.
@@ -1,142 +0,0 @@
---
title: "Einfach mal gar nichts sagen: Sei doch mal still"
tags:
- Methoden/Schweigen
- Methoden/Meditation
- Psychologie/Gespräch
source: https://taz.de/Einfach-mal-gar-nichts-sagen/!5898628/
---
## [Einfach mal gar nichts sagen: Sei doch mal still](https://taz.de/Einfach-mal-gar-nichts-sagen/!5898628/)
[![Eine Person sitzt im Schneidersitz auf einem Kissen vor einem Fenster. Vorn im Bild ist ein Zweig in einem Glas](https://taz.de/picture/5964968/948/31712905-2.jpeg "Eine Person sitzt im Schneidersitz auf einem Kissen vor einem Fenster. Vorn im Bild ist ein Zweig in einem Glas")](https://taz.de/picture/5964968/948/31712905-2.jpeg)
Was kann man hören, wenn ausnahmsweise mal niemand spricht? Illustration: Hanna Harms
Schweigen war für unsere Autorin lange bedrückend. Dann lud ein indischer Zahnarzt sie zum Meditieren ein. Über Stille in Zeiten der Ruhelosigkeit.
An manchen Tagen stelle ich mich abends auf den Teppich im Wohnzimmer, dehne meinen Körper, atme tief durch und lasse mich auf das runde schwarze Kissen nieder. Da sitze ich dann und schweige, zwanzig Minuten, manchmal länger. Endlich, am Ende des Tages, möchte ich aus dem Hamsterrad aussteigen, ruhig werden und mich sammeln. Allerdings meldet sich sofort der Alltag zu Wort. Satzfetzen von vergangenen Gesprächen und Diskussionen klingen in meinen Ohren nach. Szenen und Bilder schwirren mir durch den Kopf. Und Gedanken an morgen, was ich da machen sollte, geben ein kurzes Stelldichein.
Aber ich sitze, schweige und achte möglichst nur auf den Atem in meinem Bauch. Allmählich scheint das Durcheinander tiefer zu sinken. Schweigend kann ich mich mit freundlichem Abstand betrachten. Vieles, was mich beschäftigt, sehe ich dann wie auf einer inneren Bühne, auf der viel los ist, aber wo ich im Schweigen nicht mehr mitspielen muss und den Vorhang ohne Verlust mal zuziehen kann. Aufatmen. Ausatmen. Schweigen.
Mit diesem Bedürfnis nach innerer Ruhe bin ich nicht allein. In Buchläden und im Netz findet man zahlreiche Ratgeber zu Achtsamkeit und Stille. Sie versprechen mit einfachen Übungen Entschleunigung im Alltag, Kraft und Momente von innerem Frieden in einer Welt, die zunehmend hektisch und chaotisch ist. Hilfe gibt es auch auf dem Handy: So startete der Brite Andy Puddicombe vor zehn Jahren die Meditations-App „Headspace“, nachdem er einige Jahre in einem buddhistischen Kloster gelebt hatte. Seitdem wurde „Headspace“ millionenfach heruntergeladen, allein im zweiten Quartal dieses Jahres 1,5 Millionen Mal.
In den Meditations-Apps wird kaum geschwiegen. Man hört sanfte Stimmen, die genaue Anleitungen geben
Noch erfolgreicher ist die App „Calm“. Über 100 Millionen Menschen haben sie auf ihrem Handy. „Calm“ wird mittlerweile mit 2 Milliarden Dollar bewertet. Das bedeutet, dass auch für die Zukunft sehr hohe Gewinne durch diese App erwartet werden. Allerdings wird in den Meditations-Apps kaum geschwiegen. Stattdessen hört man sanfte Stimmen, die beruhigen sollen und genaue Anleitungen geben, was zu tun oder zu lassen ist, um zu entspannen oder zu meditieren.
Aber solche gut gemeinten Anleitungen will ich nicht. Ich möchte einfach schweigen und übe das in der stillen Meditation. Ich finde, nur in der Stille kann ein Schweigen entstehen, das beruhigt, aufrichtet und dann auch im Alltag wirksam wird.
Es hat viele Jahre gedauert, bis ich dieses wohltuende Schweigen fand. Während ich schweige, wird mir oft erst klar, was mir im Grunde wichtig ist und wie ich es mitteilen will. Mein Weg zum Schweigen war holprig**.** Von meiner persönlichen, holprigen Reise zum Schweigen handelt diese Geschichte. Und auch davon, was Schweigen eigentlich für eine Gesellschaft und für unsere Kommunikation bedeutet.
Beim Schweigen kommt es immer auf den Kontext an. Schweigen ist eine besondere Art und Weise, mit der Umwelt zu kommunizieren und ist wie ein unsichtbares Etwas, das immerzu wegflutscht schwer zu fassen. Es hat viele Facetten, und meiner Erfahrung nach ist wohltuendes, friedvolles Schweigen oft eher die Ausnahme. Menschen schweigen häufiger aus Angst, Verzweiflung oder Scham. Ihr Schweigen ist Ausdruck von Ohnmacht. Aber auch die Mächtigen schweigen oft weil sie sich berechnend und kalt durchsetzen können, ohne sich mit Worten erklären zu müssen.
Ich kenne das „beredte Schweigen“, aufgeladen mit Bedeutung, gerade weil nichts gesagt wird. Auch in meinem Leben waren die Erfahrungen mit Schweigen jahrelang nur beklemmend. Da war Schweigen eine beängstigende, schwer drückende Last.
###### Was vor den Eltern unsagbar ist
Mein Vater fährt mit seinem großen Auto in den Hof vor unserem alten Haus. Er kommt, um mich abzuholen, zu seinem Haus in der Stadt. Ich bin ein Kind im Grundschulalter und lebe mit meiner Mutter auf dem Dorf bei meinen Großeltern. Vater und Mutter sprechen schon seit Jahren nicht mehr miteinander, sie haben nur noch über Rechtsanwälte Kontakt.
Wenn mein Vater mit dem Auto kommt, muss ich die Haustür aufmachen, einige Schritte hinaus- und auf ihn zugehen, ihm einen spitzen Kuss auf die Lippen geben und „Guten Tag, Vater“ sagen. In sein Auto will ich nicht einsteigen. Aber das darf ich auf keinen Fall äußern, das widerspräche den ungeschriebenen Regeln, die hier herrschen. Ich könnte meinen Vater wütend machen und vor seinen unkontrollierten Wutausbrüchen habe ich Angst.
Ich sitze auf dem Beifahrersitz und spüre, dass er erwartet, dass ich mich mit ihm unterhalte. Aber was könnte ich berichten, was seine Zustimmung findet, was interessant für ihn wäre und unverfänglich für mich? Mir fällt nichts ein. Ich bleibe stumm.
Manchmal klagt mein Vater über sein Schicksal als verlassener Ehemann und Vater. „Bei Nacht und Nebel“ habe meine Mutter mich „entführt“ und er müsse nun ohne sein Kind leben. Es wäre doch viel besser für mich, wenn ich bei ihm in seinem modernen Haus leben und eine gute Schule besuchen könnte. Ich erstarre, wenn ich ihn so sprechen höre. Mein Vater ist für mich wie ein gebieterischer Fremder, der ungefragt wieder und wieder in mein Leben einbricht. Keinesfalls möchte ich bei ihm wohnen, auch nicht in einer Stadt zur Schule gehen, wo ich niemanden kenne. Aber das ist unsagbar.
Ich starre auf den grauen Asphalt, der neben dem fahrenden Auto vorbeirast. Ich will nicht ankommen, wo wir hinfahren: Zu dem Haus, in dem er mit seiner Mutter wohnt und seine Arztpraxis betreibt. Hier muss ich ein Wochenende pro Monat verbringen, so hat es das Familiengericht entschieden. Ich bin ungern hier, aber ich sage das nicht. Ich bin einsilbig, sage pflichtschuldig, was von mir erwartet wird, wenn man mich etwas fragt. Zwei Tage lang bin ich, das Kind, das eigentlich gerne hüpft, trällert und mit seiner Katze spielt, wie unter einer Maske, misstrauisch, ängstlich und stumm.
Mit meiner Mutter hatte ich hin und wieder Streit wann ich abends zu Hause sein sollte, ob ich vorlaut und frech zu ihr war. Die Anlässe erscheinen mir heute banal und ich habe die meisten ganz und gar vergessen.
Nicht vergessen habe ich hingegen das lähmende Schweigen, das plötzliche mitten in unsere kleinen Wortgefechte einbrach. Mutter bekommt einen hochroten Kopf, wirft einen gekränkten Blick in meine Richtung und presst ihre Lippen zusammen. Ab sofort kein Wort mehr zu mir nun bin ich wie Luft für sie. Erschreckt schaue ich hoch: Bin ich wirklich so böse zu ihr? So unerträglich? Enttäuscht zieht Mutter sich zurück und macht sich unerreichbar.
Panik steigt in mir hoch: Was mache ich, wenn meine Mutter nie mehr mit mir spricht? Ich habe doch nur sie, die mich mal an die Hand nimmt, die mich versorgt, bei der ich wenn auch nur kurz auf dem Schoß sitzen darf. Angstvoll fange ich an, sie zu beschatten: Wie blickt sie? Wie bewegt sie sich? Sie geht aus dem Haus wohin? Kommt sie wieder? Wenn ich ganz alleine bleibe, muss ich dann zu meinem Vater?
Abends, im Bett, soll ich mich bei ihr entschuldigen. Das ist die Voraussetzung dafür, dass sie ihr Schweigen bricht. Allmählich weicht die Hochspannung aus meinem kleinen Körper, aber lange noch bin ich unruhig und schlafe schlecht ein.
Diese Zeit liegt nun schon lange zurück. Ich bin erleichtert darüber, kein abhängiges, emotional schlecht versorgtes Kind mehr zu sein. Heute bin ich eine Frau von 64 Jahren, von Beruf Journalistin. Ich konnte studieren, bin Politikwissenschaftlerin und habe trotz der Belastungen aus meiner Herkunftsfamilie geheiratet und eine eigene Familie gegründet. Gute Gespräche mit meinem Mann, mit den mittlerweile erwachsenen Kindern, mit Freun­d:in­nen und in Gruppen sind mir wichtig. Ich erlebe sie als beglückend und als Grundlage für gute Beziehungen.
###### Nicht klagen, sondern schweigen
Meine Angst und Abneigung vor dem Schweigen, die sich in Kindheit und Jugend aufgebaut hatte, bekam erste Risse, als ich mit 30 Jahren für mehrere Monate in Indien war. Ein Land, in dem die Menschen viel sprechen und sich gerne angeregt unterhalten. Aber sie kennen eben auch Schweigen, vor allem aus spirituellen Gründen.
Ich bin in Himachal Pradesh, dem nördlichen indischen Bundesstaat in den Bergen. Da schwillt meine rechte Backe an, es pocht und klopft im Unterkiefer. Der Zahnarzt, den ich in der abgelegenen Gegend ausfindig mache, hält mir ein kleines Röntgenbild vor die Nase. Unscharf zeigt es einen Zahn, der verquer im Unterkiefer sitzt. Es ist eine schlechte Aufnahme von meinem Weisheitszahn. „Es tut mir leid, aber ich kann Ihnen nicht helfen“, sagt der Zahnarzt und lächelt milde.
[![Eine Person kauert in einem dunklen Glas, von außerhalb reden zwei große Gestalten auf sie ein](https://taz.de/picture/5964968/948/31712898-1.jpeg "Eine Person kauert in einem dunklen Glas, von außerhalb reden zwei große Gestalten auf sie ein")](https://taz.de/picture/5964968/948/31712898-1.jpeg)
Schweigen als bedrückender Rückzug: Was soll ich denn sagen? Illustration: Hanna Harms
„Ist die Tour in den Himalaja zu gefährlich mit einer Entzündung im Kiefer?“, frage ich. Er habe keinen besseren Röntgenapparat, entschuldigt sich der Zahnarzt, eine genaue Diagnose wäre ihm nicht möglich und operieren könne er sowieso nicht. „Aber möchten Sie vielleicht mitkommen zum Meditieren?“ Verblüfft schaue ich ihn an. „Immer in der Mittagspause fahre ich zu einer Höhle hier in den Bergen und meditiere. Es dauert nur eine halbe Stunde. Kommen Sie gerne mit, es kann beruhigen und erfrischen.“
Mittags um ein Uhr sitze ich also neben ihm auf dem Boden, in einer schattigen Höhle auf kühlen Steinen. Von einem steilen Berg blicke ich in eine Landschaft, die sich im Sonnenlicht ausbreitet bis zum Horizont. Wir schweigen. Mit meiner Zunge fahre ich wieder und wieder zum Zahnfleisch und taste die Schwellung ab. Die Zunge vergrößert, was sie tastet, vielleicht ist es doch nicht so schlimm, beruhige ich mich. Bald schon habe ich mehr Schmerzen im Hintern als im Kiefer, die spitzen Steine drücken ins Gesäß. Aber ich klage nicht, ich schweige.
Nach einer halben Stunde steht der Arzt auf, klopft sich den Staub von der Hose. „Warum machen Sie diese Meditation?“, frage ich. „Für mein Karma“, sagt er. Aha, als gläubiger Hindu ist für ihn Meditation ein Gebet und er sammelt damit gute Taten für sein nächstes Leben, denke ich, vielleicht bekommt er dann endlich ein gutes Röntgengerät. Das stille Sitzen in der Höhle hat mir gut getan, mich ruhiger werden lassen, vielleicht auch geduldiger. Ich spüre Sympathie für diesen Arzt, der mir mit seinen bescheidenen Möglichkeiten helfen will. Wir fahren zurück zu seine Praxis. Er bedankt sich fürs Zusammensein, ich bedanke mich für die Einladung zur Meditation. Kein Wort mehr über Zahnprobleme.
So komme ich zum ersten Mal in Berührung mit wohltuendem Schweigen. Weit weg von Deutschland, weit weg von der Sicherheit, die eine gute medizinische Versorgung mir bislang gegeben hat. Mit Meditation habe ich mich nie zuvor beschäftigt. Welchen Sinn sollte es haben, sich hinzusetzen und zu schweigen? Als junge Frau in der linken, alternativen und feministischen Bewegung weiß ich doch, was zählt: Worte und Taten, möglichst überzeugende Worte und möglichst kämpferische Taten.
Fritz Betz, Psychotherapeut und Soziologe
„Besonders wertvoll ist das einvernehmliche Schweigen. Der Patient fühlt sich darin geschützt, sicher und verstanden“
Aber im fremden Land bin ich wie ein unbeschriebenes Blatt und habe vielleicht auch genau deshalb mehr Freiheit. Wenn ich sitze und schweige, muss ich mich niemandem erklären, mich nicht rechtfertigen wegen mangelndem Engagement. Ich bin erstaunt über mich selbst. Tatsächlich tut es mir gut, eine Weile auf Worte und Taten zu verzichten. Es lockt mich, ruhig zu werden und darauf zu warten, was in Körper und Geist geschieht. Immer wieder gehe ich in einen Tempel oder in eine Moschee, lausche dem Gemurmel und den Klängen dort, setze mich auf den Boden und schweige. So wie andere Menschen um mich herum auch. Wie selbstverständlich.
###### Raum für Veränderung
Die Österreicher Fritz Betz und René Reichel haben im Jahr 2021 das Buch „Schweigen macht Sinn“ veröffentlicht. Darin betrachten und analysieren die Therapeuten besonders das Schweigen in der Psychotherapie. Und die Autoren spannen den Bogen noch weiter: Von der Bedeutung von Sprechpausen bis hin zur Betrachtung von Verschwiegenheit. Dieses Buch ist deshalb auch eine Lektüre über den Sinn des Schweigens im Kontakt zwischen Menschen. Schweigen ist danach keinesfalls nur eine Leerstelle, die das Reden begrenzt, sondern eine Möglichkeit zu starkem, auch leiblichen Ausdruck.
„Für mich ist Schweigen nicht nur ein Wort oder ein Satz. Schweigen ist eine ganze Erzählung“, sagt Fritz Betz im Videogespräch. Es könne entschleunigen, um in einem Zeitmodus anzukommen, in dem Begegnung erst möglich werde. „Besonders wertvoll ist das einvernehmliche Schweigen. Der Patient fühlt sich darin geschützt, sicher und verstanden.“ Längere Sprechpausen könnten „Raum für Veränderungsprozesse öffnen“, man könne sich darin „selbst spüren, reflektieren und etwas seelisch verdauen“.
Damals in Indien, war es vermutlich auch das, was ich brauchte: einen Raum für Veränderungsprozesse. In einem mir unbekannten Land, allein auf mich gestellt, musste ich mich neu orientieren. Ich suchte damals auch Beruhigung und Klarheit, wie ich mich in einem Konflikt, bei dem es keine gute Lösung gab, entscheiden sollte.
Die Tour in den Himalaja brach ich schließlich ab, rumpelte einen Tag lang mit einem Bus zurück nach Delhi und ließ mir dort bei einem Zahnarzt, der mir versicherte, in Großbritannien seine Ausbildung absolviert zu haben, den vereiterten, eingeklemmten Weisheitszahn herausoperieren. Es gab eine Komplikation, eine Verletzung an einem Ast des Trigeminus-Nervs. Seitdem erinnert mich eine taube Stelle an der rechten Unterlippe an diese Zeit.
Drei autobiografische Erzählungen zum Thema Schweigen legte im Herbst vergangenen Jahres der Schriftsteller Friedrich Christian Delius vor, der dieses Jahr im Mai verstarb. Der Titel des Buches: Die sieben Sprachen des Schweigens. Delius, der in den 1970er Jahren mit seinem Text „Unsere Siemens-Welt“ die Nazi-Verstrickungen des Unternehmens zum Thema machte und dafür verklagt wurde, der der RAF eine Roman-Trilogie widmete, der den Kapitalismus kritisierte und vor drei Jahren das Essay „Wenn die Chinesen Rügen kaufen, dann denkt an mich“ veröffentlichte dieser Delius widmet ein Buch dem Schweigen. Das überraschte mich und machte mich neugierig.
In der Mitte des Bandes, in der titelgebenden Erzählung „Die sieben Sprachen des Schweigens“, überlegt Delius, ob „Schweigen auch eine Art Sprache sein kann, vielleicht sogar der Ausgangspunkt und Angelpunkt aller Sprachen.“ Er erzählt, dass er als Fünfjähriger zum Stotterer wurde. Sein spät aus Kriegsgefangenschaft heimkehrender, nicht körperlich, jedoch seelisch verwundeter Vater bricht in das Leben des Jungen und seine innige Beziehung zur Mutter ein. Das geschieht mit doppelt angsteinflößender Macht als Patriarch und Pastor in einer hessischen Provinzstadt.
Weil ihm das Stottern so beschämend und peinlich ist, wird Delius zum schweigsamen Jugendlichen, der quälend nach Worten suchen muss, die sich aussprechen lassen, zum Mann, der lieber schreibt als spricht. Später dann zum Schriftsteller, der die fertige, schablonenhafte Sprache der Mächtigen und Marketingexperten mit den Mitteln der Literatur seziert.
Nach F. C. Delius gibt es das Schweigen aus Angst vor Autoritäten, vor Urteilen das Schweigen aus Dummheit, Unwissenheit, das Schweigen aus Schüchternheit und Respekt, das Schweigen aus Verlegenheit und Unentschiedenheit, aber auch das Schweigen aus Überlegenheit, wenn man meint, es besser zu wissen und schlauer zu sein. Das Schweigen aus Faulheit, auch Denkfaulheit. Das Schweigen aus Macht für den strategischen Vorteil, um andere zu irritieren, um Mitleid und Interesse zu provozieren.
Aber es gebe eben auch das Schweigen der Mönche und das Schweigen der Verbrecher, das Schweigen der Verzweifelten, das Schweigen über eine Schuld oder Mitschuld, die notwendige Verschwiegenheit und das Schweigen der Liebenden.
###### Wir begegnen uns im Schweigen
Ein liebevolles, akzeptierendes und gewährendes Schweigen übt man in der Meditation. Seit knapp zwanzig Jahren meditiere ich regelmäßig montagabends in einer Gruppe. Hier übe ich, aus der Zerstreutheit in die Sammlung zu gelangen. Ruhig atmend komme ich in freundlichem Kontakt mit mir selbst und der Welt. Es kann sein, dass sich dabei Überraschendes auftut, das klärend und befreiend wirkt.
Nach dem Tod des Gründers und langjährigen Leiters vor sechs Jahren leiten zwei Männer und drei Frauen abwechselnd unsere eineinhalbstündige Meditation. Ich bin eine von ihnen. Das Ritual ist schlicht. Nach den ersten fünf Minuten in Stille berichtet je­de:r kurz, wie es in Familie, Beruf oder mit der Gesundheit geht, was man erlebt hat, was Sorgen macht, was Lebensfreude schenkt oder Hoffnung macht. Die anderen hören aufmerksam und schweigend zu. Nach einigen Übungen, um Körper und Atem zu spüren, spricht die Lei­te­r:in Impulsworte zur Einstimmung und schlägt dreimal die Klangschale. Damit ist die Meditation eingeläutet.
Meistens kommen acht bis zehn Personen. Wir sitzen im großen Kreis auf Kissen, Meditationsbänkchen oder Stühlen, versammeln uns um das Licht einer weißen Kerze, die in der Mitte in einer braunen Keramikschale brennt. Zwanzig Minuten oder etwas länger schweigen wir gemeinsam. Ertönt wieder die Klangschale, stehen wir auf, gehen zwei Runden im Kreis, hintereinander, schweigend. Das tut dem Kreislauf und den Beinen gut und übt ein, auch in Bewegung innerlich gesammelt zu sein. Noch einmal setzen wir uns, der Gong der Klangschale ertönt, wir sitzen weitere zwanzig Minuten schweigend. Zum letzten Mal an diesem Abend hören wir die Klangschale, stehen auf. Die An­lei­te­r:in verabschiedet sich mit guten Wünschen, reihum schauen wir uns an, die Blicke begegnen sich, lächelnd, im Schweigen.
Die 15 Frauen und Männer, die zur Gruppe gehören, sprechen nicht darüber, was während der Stille in ihnen geschieht. Niemand möchte die inneren Prozesse, die ohne Worte möglich sind, zerreden. Die kleinen Mitteilungen zu Beginn des Abends und manchmal auch ein freundschaftliches Gespräch im Anschluss, draußen außerhalb des Meditationsraums, reichen meistens, um in Kontakt zu bleiben.
Weil ich für diesen Artikel über Schweigen recherchiere, frage ich ein Mitglied der Gruppe dennoch, ob er darüber reden würde, was er in der Stille erlebt. „Ich habe das Bedürfnis, einen Kontrapunkt zu setzen zu meinem sonstigen Leben, zum Handeln, auch zum Handeln-Müssen nach außen“, sagt der 62-Jährige, der als Kinderarzt arbeitet. „Aber es ist jedes Mal unterschiedlich. Da gibt es Zeiten, in denen ich alles um mich herum abstellen kann, ich wie versunken bin. Ich habe dann das Gefühl, wie umhüllt zu sein, auch verbunden zu sein mit der geistigen Welt.“
Schweigen ist viel mehr, als nicht zu wissen, was man sagen soll. Es ist eine jahrhundertalte spirituelle Praxis. Sie erlebt eine Renaissance im Westen, seit viele Menschen der kaum mehr verständlichen Worte und liturgischen Rituale überdrüssig sind, die in Gottesdiensten oder anderen spirituellen Feiern gemacht werden. In meiner Gruppe sind einige christlich geprägt, andere stehen dem Zen-Buddhismus nahe und wieder andere wollen sich, gerade wenn es um Meditation geht, nicht festlegen.
Wir sollen nicht ruhig werden, sondern uns aufregen und bei möglichst vielen Debatten mitmischen
„Es gibt auch Tage, da bin ich voller Unruhe und die Gedanken toben in mir“, spricht der Arzt über seine Erfahrungen während des Meditierens. „Die Meditation ist ein guter Spiegel, wie ich innerlich aufgestellt bin.“ Er betont, dass das Schweigen für ihn immer ein Gewinn sei, auch wenn er innerlich nicht ruhig werden könne. „Ich habe geübt, ich habe den Weg gemacht, auch das ist bereits wertvoll.“ Nicht nur von ihm, sondern von vielen Menschen, auch von meiner Tochter und meinem Sohn, die beide noch in Ausbildung sind, höre ich immer wieder, dass sie zu viel machen und reden müssen, dass ihr Leben hektisch sei und sie mehr Ruhe wollten.
###### In der modernen Welt sollen wir nicht ruhig werden
Aber warum schweigen wir dann nicht einfach mehr? Was macht es uns so schwer, sich eine Weile still hinzusetzen und den Mund zu halten? Ich versuche, mich dieser Frage von der anderen Seite zu nähern. Wie lassen sich die Unruhe und die Hektik, der Lärm und das Getöse in unserer Gesellschaft erklären?
Der Medienwissenschaftler Bernhard Pörksen forscht und lehrt an der Universität Tübingen zur Kommunikation mit Empörung, Skandalen und überhitzten Debatten. Im Jahr 2018 veröffentlichte er das Buch „Die große Gereiztheit: Wege aus der kollektiven Erregung“, in dem er den Begriff der „reizbaren Gesellschaft“ prägte. Während meiner Ausbildung zur Journalistin studierte ich auch einige Semester Kommunikationswissenschaft.
In einem [taz-Interview im März 2020](https://taz.de/Medienexperte-ueber-Krisen-Erzaehlungen/!5665993/) sagte Pörksen: „Wir, die Bewohner einer privilegierten Welt, sind in eine Atmosphäre der totalen Gleichzeitigkeit eingetreten, sehen alles, leiden unter einer Überdosis Weltgeschehen, schwanken zwischen Erregungserschöpfung, Panikschüben, Mitgefühl, Ignoranz-Sehnsucht. Dieses Gefühl der Überforderung ist das Stimmungsschicksal vernetzter Gesellschaften, die einen klug dosierten Umgang mit ihren Affekten noch nicht beherrschen.“
Nach Pörksen sind die Gefühle, die über die Medien transportiert werden, eine emotionale Überforderung für den Einzelnen und die gesamte Gesellschaft. Er vertritt die Auffassung, es gebe eine eigene Emotions- und Erregungsindustrie, die nichts anderes mache, als permanent auf den viralen Hype zu zielen, auf den Aufmerksamkeitsexzess und -erfolg. Er analysiert die ökonomischen und technischen Strukturen und konstatiert eine „Vermachtung“ und „Refeudalisierung des kommunikativen Raumes.“ Die Kommunikationsströme von Milliarden von Menschen seien reguliert von wenigen „Digitalgiganten, die eines definitiv nicht wollen: das Schweigen, die Stille, die Nichtkommunikation, sondern die Überhitzung der Kommunikation, um Menschen weiter auf ihren Plattformen zu halten“.
Das heißt, wir sollen nicht ruhig werden. Wir sollen nicht schweigen, sondern uns aufregen und bei möglichst vielen Debatten mitmischen. Als Menschen sind wir soziale Wesen, die gesehen, gehört und beachtet werden wollen. Die sozialen Medien scheinen dafür wie geschaffen. Mit Bild, eigenem Wort und Ton kann man damit Reichweiten erzielen, von denen man früher nicht zu träumen wagte. Gut möglich, dass dabei auch narzisstische Wünsche nach persönlicher Bedeutung genährt werden. Es entsteht die Illusion, man sei deshalb wichtig, weil man spricht, schreibt, postet und Reaktionen provoziert.
Wenn ich still sitze, meditiere und das Schweigen übe, erbringe ich hingegen nichts, was in dieser Logik als Leistung anerkannt wäre. Ich brauche keine spezielle Kleidung oder Ausrüstung und [steigere nicht das Bruttosozialprodukt](https://taz.de/Abseits-von-Lohnarbeit/!5842928/). Wenn ich schweige, pflege ich nicht meine Netzwerke und verpasse vermutlich spannende Ereignisse oder Nachrichten. Ruhiges, friedvolles Schweigen erscheint als Anachronismus in Zeiten der Ökonomisierung fast aller Lebensbereiche und ist unzweckmäßig in einer globalisierten Welt, in der man sich als vereinzelter Leistungserbringer gegen eine weltweite Konkurrenz behaupten muss.
Aber: Schweigen muss man sich heutzutage auch leisten können. Man braucht dafür das knappe Gut Zeit und so viel Geld, dass man in dieser Zeit keine Lohnarbeit leisten muss.
###### Schweigen muss nicht passiv sein
Noch immer wird Schweigen oft mit Passivität verwechselt. Ich stimme dem Schriftsteller Friedrich Christian Delius zu, dass es ein Schweigen aus Faulheit, aus Denkfaulheit und Bequemlichkeit gibt. Aber bewusstes, friedvolles Schweigen ist eine aktive Handlung. Für mich war es der Weg, Vater und Mutter zu verzeihen. Lange Zeit hatte ich als erwachsene Frau auf Zeichen von Bedauern oder Einsicht ihrerseits gewartet. Vergeblich. Auf Fragen antworteten sie nicht oder so ausweichend, dass es erneut verletzte. Bis ich begriff: Ich bin erwachsen und ihnen schon lange entwachsen.
Verzeihen kommt von verzichten. Wenn ich die Lasten, die ich in der Vorwurfshaltung mit mir schleppe, loswerden will, muss ich verzichten: auf Vorwürfe, auf unerfüllte Wünsche, aufs Besserwissen. In einer Haltung des ruhigen, um Versöhnung bemühten Schweigens konnte ich zuerst auf die lauten, später auf die versteckten und zuletzt auch auf die stummen Vorwürfe verzichten. Ich lernte allmählich, diesen Teil meiner Geschichte zu akzeptieren, wurde verständnisvoller und bekam einen neuen Blickwinkel: Mutter und Vater konnten nicht anders handeln. Vermutlich waren sie Gefangene ihrer Zeit, ihrer Begrenzungen und der Enge, in der sie lebten.
Auf meiner langen Reise zum Schweigen war es wichtig für mich, zu unterscheiden. Selbstverständlich ist es ein wesentliches Recht, die Stimme zu erheben. So, dass man darauf aufmerksam macht, was Unrecht ist und Veränderungen anbahnen kann. Das Recht zu sprechen ist durch das Schweigen, zu dem man sich selbst entscheidet, nicht berührt. Sprechen und schweigen gehören zusammen und ergänzen sich, das ist spürbar besonders in persönlichen Beziehungen. Um in Gesprächen aufmerksam und empathisch zuhören zu können, braucht es Sprechpausen.
So entsteht der Raum, den anderen, sich selbst und das Gesagte wahrzunehmen. Selbst gewähltes Schweigen gibt die Freiheit, zu entscheiden, wann ich spreche, wann ich schweige. Lange gesucht und endlich gefunden, ist Schweigen für mich ein Gut, das ich heute sorgfältig pflege. Am liebsten so: Einatmen, ausatmen, schweigen, danach sprechen und handeln.
@@ -1,76 +0,0 @@
---
title: GitHub-Flow - GitHub-Dokumentation
tags:
- IT/Development/Git
- IT/Tools/GitHub
- IT/Workflow
source: https://docs.github.com/de/get-started/quickstart/github-flow
---
## [](#introduction)Einführung
GitHub-Flow ist ein schlanker, branchbasierter Workflow. Der GitHub-Flow ist für alle Benutzer von Vorteil, nicht nur für Entwickler. Hier bei GitHub nutzen wir den GitHub-Flow zum Beispiel für unsere [Standortrichtlinie](https://github.com/github/site-policy), [Dokumentation](https://github.com/github/docs) und [Roadmap](https://github.com/github/roadmap).
## [](#prerequisites)Voraussetzungen
Um dem GitHub-Flow zu folgen, benötigst du ein GitHub-Konto und ein Repository. Informationen zum Erstellen eines Kontos findest du unter [Bei GitHub registrieren](https://docs.github.com/de/get-started/signing-up-for-github). Informationen zum Erstellen eines Repositorys findest du unter [Erstellen eines Repositorys](https://docs.github.com/de/get-started/quickstart/create-a-repo). Informationen darüber, wie du ein vorhandenes Repository ermittelst, zu dem du beitragen kannst, findest du unter [Möglichkeiten finden, um zu Open-Source auf GitHub beizutragen](https://docs.github.com/de/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github).
## [](#durchlaufen-des-github-flows)Durchlaufen des GitHub-Flows
**Tipp:** Du kannst alle Schritte des GitHub-Flows über die GitHub-Weboberfläche, Befehlszeile und [GitHub CLI](https://cli.github.com/) oder über [GitHub Desktop](https://docs.github.com/de/desktop) ausführen.
### [](#create-a-branch)Erstellen einer Verzweigung
Erstelle einen Branch in deinem Repository. Ein kurzer, beschreibender Branchname ermöglicht es den Projektmitarbeitern, sich auf einen Blick über die laufenden Arbeiten zu informieren. Zum Beispiel: `increase-test-timeout` oder `add-code-of-conduct`. Weitere Informationen findest du unter [Erstellen und Löschen von Branches in deinem Repository](https://docs.github.com/de/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository).
Indem du einen Branch erstellst, schaffst du einen Raum zum Arbeiten, ohne den Standardbranch zu beeinflussen. Außerdem gibst du den Projektmitarbeitern die Möglichkeit, deine Arbeit zu überprüfen.
### [](#make-changes)Vornehmen von Änderungen
In deinem Branch kannst du alle gewünschten Änderungen am Repository vornehmen. Weitere Informationen findest du unter [Neue Dateien erstellen](https://docs.github.com/de/repositories/working-with-files/managing-files/creating-new-files), [Bearbeiten von Dateien](https://docs.github.com/de/repositories/working-with-files/managing-files/editing-files), [Umbenennen einer Datei](https://docs.github.com/de/repositories/working-with-files/managing-files/renaming-a-file), [Verschieben einer Datei an einen neuen Speicherort](https://docs.github.com/de/repositories/working-with-files/managing-files/moving-a-file-to-a-new-location) oder [Löschen von Dateien in einem Repository](https://docs.github.com/de/repositories/working-with-files/managing-files/deleting-files-in-a-repository).
Dein Branch ist ein sicherer Ort, um Änderungen vorzunehmen. Wenn du einen Fehler machst, kannst du deine Änderungen rückgängig machen oder zusätzliche Änderungen vornehmen, um den Fehler zu korrigieren. Deine Änderungen werden erst dann in den Standardbranch übernommen, wenn du deinen Branch mergst.
Committe deine Änderungen und pushe sie in deinen Branch. Gib jedem Commit eine aussagekräftige Beschreibung, damit du und zukünftige Mitwirkende nachvollziehen können, welche Änderungen der Commit enthält. Zum Beispiel: `fix typo` oder `increase rate limit`.
Im Idealfall enthält jeder Commit eine isolierte, vollständige Änderung. Das macht es einfach, deine Änderungen rückgängig zu machen, wenn du dich für einen anderen Ansatz entscheidest. Wenn du zum Beispiel eine Variable umbenennen und einige Tests hinzufügen möchtest, fügst du die Variablenumbenennung in einen Commit und die Tests in einen anderen Commit ein. Wenn du später die Tests beibehalten, aber die Umbenennung der Variablen rückgängig machen möchtest, kannst du den Commit rückgängig machen, der die Umbenennung der Variablen beinhaltet. Wenn du die Variablenumbenennung und die Tests in denselben Commit einfügst oder die Variablenumbenennung auf mehrere Commits verteilst, würde dies den Aufwand für das Rückgängigmachen deiner Änderungen erhöhen.
Durch das Committen und Pushen deiner Änderungen sicherst du deine Arbeit in einem Remotespeicher. Dies bedeutet, dass du von jedem Gerät aus auf deine Arbeit zugreifen kannst. Außerdem können alle Projektmitarbeiter deine Arbeit sehen, Fragen beantworten und Vorschläge oder Beiträge einbringen.
Fahre damit fort, Änderungen zu erstellen und in deinen Branch zu committen und zu pushen, bis du bereit bist, Feedback einzuholen.
**Tipp:** Erstelle einen separaten Branch für jeden Satz nicht zusammengehöriger Änderungen. Das macht es für die Reviewer einfacher, Feedback zu geben. Außerdem ist es so für dich und zukünftige Projektmitarbeiter einfacher, die Änderungen nachzuvollziehen und sie rückgängig zu machen oder darauf aufzubauen. Zudem gibt es keine Verzögerungen bei deinen anderen Änderungen, falls es bei einem Satz von Änderungen zu einer Verzögerung kommt.
### [](#create-a-pull-request)Erstellen eines Pull Requests
Erstelle einen Pull Request, um die Projektmitarbeiter um Feedback zu deinen Änderungen zu bitten. Die Überprüfung von Pull Requests ist so wichtig, dass in einigen Repositorys ein Review zur Genehmigung erforderlich ist, bevor Pull Requests gemergt werden können. Wenn du frühes Feedback oder Ratschläge einholen möchtest, bevor du deine Änderungen fertigstellst, kannst du deinen Pull Request als Entwurf markieren. Weitere Informationen findest du unter [Erstellen eines Pull Requests](https://docs.github.com/de/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request).
Wenn du einen Pull Request erstellst, fasse in einer Beschreibung zusammen, welche Änderungen durchgeführt werden und welches Problem gelöst wird. Du kannst zur Verdeutlichung Bilder, Links und Tabellen einfügen. Wenn dein Pull Request ein Issue betrifft, verlinke das Issue, damit die am Issue beteiligten Personen über den Pull Request informiert werden und umgekehrt. Bei einer Verknüpfung mit einem Schlüsselwort wird das Issue automatisch geschlossen, wenn der Pull Request gemergt wird. Weitere Informationen findest du unter [Grundlegende Schreib- und Formatierungssyntax](https://docs.github.com/de/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax) und unter [Einen Pull Request zu einem Issue verknüpfen](https://docs.github.com/de/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue).
![Pull Request-Text](https://docs.github.com/assets/images/help/pull_requests/pull-request-body.png)
Du kannst nicht nur den Text des Pull Requests ausfüllen, sondern auch Kommentare zu bestimmten Zeilen des Pull Requests hinzufügen, um die Reviewer ausdrücklich auf etwas hinzuweisen.
![Pull Request-Kommentar](https://docs.github.com/assets/images/help/pull_requests/pull-request-comment.png)
Dein Repository kann so konfiguriert werden, dass es automatisch einen Review von bestimmten Teams oder Benutzern anfordert, wenn ein Pull Request erstellt wird. Darüber hinaus kannst du manuell per Erwähnung (@mention) oder bei bestimmten Personen oder Teams einen Review anfordern.
Wenn dein Repository so konfiguriert ist, dass Überprüfungen für Pull Requests durchgeführt werden, werden dir alle Überprüfungen angezeigt, die bei deinem Pull Request fehlgeschlagen sind. Das hilft dir, Fehler zu finden, bevor du deinen Branch zusammenführst. Weitere Informationen findest du unter [Informationen zu Statuschecks](https://docs.github.com/de/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks).
Reviewer sollten Fragen stellen, Kommentare abgeben und Vorschläge machen. Reviewer können den gesamten Pull Request kommentieren oder Kommentare zu bestimmten Zeilen hinzufügen. Du und die Reviewer können Bilder oder Codevorschläge einfügen, um Kommentare zu verdeutlichen. Weitere Informationen findest du unter [Änderungen in Pull Requests überprüfen](https://docs.github.com/de/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests).
Du kannst als Reaktion auf die Reviews weitere Änderungen committen und pushen. Dein Pull Request wird automatisch aktualisiert werden.
### [](#merge-your-pull-request)Mergen deines Pull Requests
Sobald dein Pull Request genehmigt wurde, kannst du ihn mergen. Dabei wird dein Branch automatisch zusammengeführt, sodass deine Änderungen im Standardbranch erscheinen. GitHub speichert den Verlauf der Kommentare und Commits im Pull Request, damit zukünftige Mitwirkende deine Änderungen nachvollziehen können. Weitere Informationen findest du unter [Einen Pull Request zusammenführen](https://docs.github.com/de/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request).
GitHub informiert dich, ob dein Pull Request Konflikte aufweist, die vor dem Zusammenführen aufgelöst werden müssen. Weitere Informationen findest du unter [Mergekonflikte beheben](https://docs.github.com/de/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts).
Die Schutzeinstellungen für den Branch können das Mergen blockieren, wenn dein Pull Request bestimmte Anforderungen nicht erfüllt. Du benötigst z. B. eine bestimmte Anzahl von Reviews zur Genehmigung oder ein Review zur Genehmigung durch ein bestimmtes Team. Weitere Informationen findest du unter [Informationen zu geschützten Branches](https://docs.github.com/de/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches).
### [](#delete-your-branch)Löschen deines Branches
Nachdem du deinen Pull Request gemergt hast, löschst du deinen Branch. Dies zeigt an, dass die Arbeit an dem Branch abgeschlossen ist und verhindert, dass du oder andere versehentlich alte Branches verwenden. Weitere Informationen findest du unter [Branches in einem Pull Request löschen und wiederherstellen](https://docs.github.com/de/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/deleting-and-restoring-branches-in-a-pull-request).
Du musst keine Angst haben, Informationen zu verlieren. Dein Pull Request und der Commitverlauf werden nicht gelöscht. Du kannst deinen gelöschten Branch oder den Pull Request bei Bedarf jederzeit wiederherstellen.
@@ -1,71 +0,0 @@
---
title: How to properly mirror a git repository « Plataformatec Blog
tags:
- IT
- IT/Development/Git
source: http://blog.plataformatec.com.br/2013/05/how-to-properly-mirror-a-git-repository/
---
# [How to properly mirror a git repository « Plataformatec Blog](http://blog.plataformatec.com.br/2013/05/how-to-properly-mirror-a-git-repository/)
When people talk about mirroring a git repository, usually we have a simple answer in mind:
> Just git clone the repo and youre set!!
However, what we want with mirroring is to replicate the state of an origin repository (or upstream repository). By state, we mean all the branches (including `master`) and all the tags as well.
Youll need to do this when migrating your upstream repository to a new “home”, like when switching services like GitHub.
As with most tools, theres a lot of ways to accomplish that, but Ill be focusing on two of them. The difference lays on whether you already have a working copy of that repository or not.
## Mirroring a git repository without a local copy
If you havent cloned the repository before, you can mirror it to a new home by
$ git clone --mirror git@example.com/upstream-repository.git
$ cd upstream-repository.git
$ git push --mirror git@example.com/new-location.git
This will get all the branches and tags that are available in the upstream repository and will replicate those into the new location.
### Warning
Dont use `git push --mirror` in repositories that werent cloned by `--mirror` as well. Itll overwrite the remote repository with your local references (and your local branches). This is not what we want. Read the next section to discover what to do in these cases.
Also `git clone --mirror` is prefered over `git clone --bare` because the former also clones git notes and some other attributes.
## Mirroring a git repository if you already have a local working copy
By working copy, we mean a “normal” repository, in which you have the files that are being tracked into git and where you perform commands like `git add` and so on.
In this case, you may have a lot of local branches and tags that you dont want to copy to the new location. But you do have references to remote branches. You can view them with `git branches -r`. If you pay attention to that list, tough, you may notice that you have a lot of branches that were already deleted in the upstream repository. Why?
### Cleaning old references to remote branches
By default, when you do a `git fetch` or `git pull`, git will not delete the references to branches that were deleted in the upstream repository (you may view them in your `.git/refs/remotes` dir). We need to clean those old references before mirroring them to a new location.
To do so, run
$ git fetch --prune
This will update your references to the origin repository and also clean the stale branches reported by `git branch -r`.
### Finally, mirroring the repository to a new location
Now were ready to send those updated references back to the `origin` repository:
$ git push --prune git@example.com:/new-location.git +refs/remotes/origin/*:refs/heads/* +refs/tags/*:refs/tags/*
Ok, what just happened here?!
We want those references inside the `.git/refs/remotes/origin` to be the LOCAL references in the new location. The local references there will be stored in the `refs/heads` dir. Same thing happens to tags.
The `+` sign indicates that we want to **overwrite** any reference there may already exist.
`--prune` means we want to delete any reference that may exist there if we dont have such reference in our `refs/remotes/origin/*` (and tags) references.
## Conclusion
Git is certainly not an easy tool to learn. Although when you do, it turns into a very powerful and flexible tool.
If you want to learn more about it, please see the [excelent book written by Scott Chacon and available for free](http://git-scm.com/book).
-54
View File
@@ -1,54 +0,0 @@
---
title: My GTD Implementation - zen habits
author:
- Leo Babauta
tags:
- Methoden/Zeitmanagement
- LeoBabauta
- ZenHabits
- Methoden/GTD
source: https://zenhabits.net/my-gtd-implementation/
---
## [My GTD Implementation - zen habits](https://zenhabits.net/my-gtd-implementation/)
###### By [Leo Babauta](http://leobabauta.com/)
A favorite topic among GTDers is describing their [GTD](https://zenhabits.net/gtd/) implementation. I wont try and be a non-conformist here — Ill jump on the bandwagon.
As with most GTDers, Ive tried a number of different setups. Thatll be my next post. For now, let me describe my current setup:
- Pocket notebook
I carry this around everywhere simply as a capture tool. Any thoughts, to-dos, projects, calendar stuff that I collect while Im not at the computer gets captured in the notebook and transfered to my action lists or calendar later. Ive also been experimenting with the [PocketMod](http://www.pocketmod.com/), and what I really want is a [Moleskine pocket notebook](http://www.moleskine.com/eng/_interni/catalogo/Cat_int/catalogo_notebooks.htm), but I keep telling myself that the coolness of the Moleskine doesnt justify its additional cost on top of the free notebooks I get at work.
- Tracks
this [beautiful program](http://www.rousette.org.uk/projects/), written in Ruby on Rails, was written specifically for GTD, and after trying many other online and off-line apps, this is definitely the best. I use it for all of my context action lists, my someday/maybe list, my waiting-for list and my projects.
- GCal
OK, Im not the first GTDer to love Google Calendar, but its simply the best, and it takes care of all my calendaring needs. For [hard landscape](http://patrickrhone.com/journal/archives/2006/08/197.html) only.
- Gmail
Another popular email app with GTDers, nothing else compares. It rocks.
- Misc
Other than these main tools, I have an inbox at home and work, filing systems at both locations, and a [very clean desk](https://zenhabits.net/2007/01/steps-to-permanently-clear-desk/).
See also: [a beginners guide to GTD.](https://zenhabits.net/2007/02/beginners-guide-to-gtd/)
A few other posts on GTD implementations:
- Patrick Rhone: [Backpack GTD implementation](http://patrickrhone.com/journal/archives/2006/06/189.html)
- Jasons Rantings: [My GTD Implementation](https://jasonalanmoore.wordpress.com/2006/04/28/my-gtd-implementation/)
- Davidco forum: [Ultra-minimal GTD implementation](http://www.davidco.com/forum/archive/index.php/t-2038.html)
- 43 Folders forum: [How to implement GTD for university students](http://board.43folders.com/showthread.php?t=104)
- [GTD+R](https://gtd-r.blogspot.com/)
- Whats the Next Action: [Using Backpack and GTD](http://www.frankmeeuwsen.com/archive/2006/02/05/using_backpack_and_gtd_continu/whats_the_next_action)
- OrganizeIT: [Tweaking your GTD implementation](http://www.mallosworld.co.uk/organize-it/2007/01/22/tweaking-your-gtd-implementation/)
See also:
- [Email Zen: Clear Out Your Inbox](https://zenhabits.net/2007/01/email-zen-clear-out-your-inbox/)
- [5 Ways GTD Helps You Achieve Your Goals](https://zenhabits.net/2007/02/5-ways-gtd-helps-you-achieve-your-goals/)
- [Beginners Guide to GTD](https://zenhabits.net/2007/02/beginners-guide-to-gtd/)
- [Mind Like Water](https://zenhabits.net/2007/01/mind-like-water/)
- [How to Do the Weekly Review in Under an Hour](https://zenhabits.net/2007/02/how-to-do-weekly-review-in-under-hour/)
- [Weekly Review: Key to GTD and Achieving Goals](https://zenhabits.net/2007/02/weekly-review-key-to-gtd-and-achieving/)
- [Tips for GTDs Ubiquitous Capture](https://zenhabits.net/2007/02/tips-for-gtds-ubiquitous-capture/)
- [Cranking Widgets: Turning Your Work into Stress-free Productivity](https://zenhabits.net/2007/03/cranking-widgets-turn-your-work-into/)
- [Why is GTD So Popular?](https://zenhabits.net/2007/02/why-is-gtd-so-popular/)
@@ -1,60 +0,0 @@
---
tags:
- Methoden/Achtsamkeit
- Psychologie
- Methoden/Tagebuch
- Methoden/BulletJournal
- Psychologie/Akzeptanz
- Psychologie/Emotionen
---
**Schreiben Sie Tagebuch.**
Für viele Jugendliche hat das Tagebuchschreiben einen festen Platz im Alltag. Man notiert, was einen beschäftigt, wie es einem geht und wovon man träumt. Je älter wir werden, desto eher hören wir allerdings damit auf, unsere Gedanken zu Papier zu bringen. Dabei kann so ein Tagebuch echt hilfreich sein. Wer seine Gedanken aufschreibt, der schafft Platz im Kopf. Das hilft vor allem dann, wenn man im Gedankenkarussell gefangen ist oder sich nicht konzentrieren kann, weil ständig neue Tabs im Kopf aufploppen. Außerdem reflektieren wir unsere Gedanken und Erlebnisse noch einmal, wenn wir sie aufschreiben. Das kann uns helfen, den Blick zu weiten und neue Perspektiven einzunehmen. Das Tagebuch kann also helfen, zu neuen Erkenntnissen zu kommen, sich selbst besser kennenzulernen und Struktur ins Gedankenchaos zu bringen. Und wenn man sich daran mal nichtmehr erinnern kann, dann hat man es ja sogar schriftlich.
___
**Seien Sie aktiv.**
Schlechte Nachrichten für Couchpotatos: Den Feierabend jeden Tag nur vor dem TV zu verbringen, ist nicht die beste Lebensart für unsere mentale Gesundheit. Aber keine Sorge, Hochleistungssport ist auch nicht nötig, um unserer Psyche etwas Gutes zutun. Es reicht vollkommen aus, sich regelmäßig zu bewegen am besten an der frischen Luft. Das kann ein Spaziergang in der Abendsonne sein oder eine Partie Fußball mit den Freunden. Manchmal reicht es auch schon, den Weg zur Arbeit mit dem Rad statt mit dem Auto zu fahren. Es kommt nicht darauf an, was Sie machen, um Ihren Körper in Schwung zu bringen. Hauptsache, Bewegung findet in irgendeiner Form statt. Denn die gibt uns richtig viel, zum Beispiel eine große Ladung Glückshormone. Die wiederum machen uns resistenter gegen Stress, stärken unser Immunsystem und unser Selbstbewusstsein. Sport ist Mord können wir damit getrost als Lüge abstempeln.
___
**Akzeptieren Sie sich selbst.**
Willkommen in der Königs-Disziplin der Psychohygiene: Selbstakzeptanz. Die Beziehung zu uns selbst ist kompliziert. Durch ständige Vergleiche fällt uns immer wieder ein neuer Makel auf, sobald wir mit den bisher bekannten Fehlern so einigermaßen im Reinen sind. Selbstakzeptanz meint, dass wir uns mit all diesen Macken die übrigens jeder hat akzeptieren und uns genau so annehmen, wie wir nunmal sind. Dafür müssen wir uns von unserem Ideal-Ich verabschieden, also von der Person, die wir gerne wären. Das Wichtigste dafür ist Selbstreflexion. Sie könnten sich zum Beispiel damit auseinandersetzen, was Sie als Mensch ausmacht. Das ist eine Frage, die Ihnen sicher auch ihre Freunde gerne beantworten. Der Fokus auf eigene Erfolge, Stärken und Träume hilft dabei, sich selbst besser zu kennen und zu akzeptieren. Übrigens: Akzeptanz reicht völlig aus. Sie dürfen sich also von dem Anspruch freimachen, jede Zelle Ihres Körpers innig lieben zu müssen.
___
**Vermeiden Sie Terminstress.**
Morgens die Kinder in die Kita bringen, in der Mittagspause wichtige Anrufe erledigen und nach Feierabend noch einen Termin mit dem Steuerberater: Terminstress ist heutzutage für viele Menschen gar nicht mehr wegzudenken. Ganz zu schweigen von der ständigen Erreichbarkeit. Die Folge: Dauerstress. Und der ist ziemlich ungesund. Stress löst in unserem Körper eine Art Alarmsystem aus, um uns auf den Ernstfall vorzubereiten. Unser Herz schlägt schneller und unsere Nervenbahnen sind auf Spannung. Kein Wunder, dass es nicht gerade eine Wohltat für die Seele ist, wenn das zum Dauerzustand wird, oder? Deshalb gilt: Termine großzügig planen und auch feste Zeiten für eine Ruhepause mitdenken. Jeder von uns braucht auch mal Zeit zum Durchatmen. Nehmen wir uns diese Zeit nicht, laufen wir Gefahr, ernsthaft krank zu werden. Dauerstress begünstigt unter anderem Herz-Kreislauf-Erkrankungen, Depressionen und chronische Erschöpfung. Also lautet die Devise: Entschleunigung im Alltag.
___
**Belohnen Sie sich selbst.**
Wann haben Sie sich das letzte Mal etwas gegönnt? Das kann schon eine Kleinigkeit sein, wie ein frischer Strauß Blumen oder eine Schachtel Pralinen. Wissen Sie nicht so richtig? Dann wird es höchste Zeit! Es ist enorm wichtig, dass wir uns selbst als Mensch wertschätzen und uns deshalb auch ab und zu mal etwas nicht Alltägliches gönnen. Vor allem dann, wenn wir eine Leistung erbracht haben, sehnen wir uns nach Wertschätzung und Anerkennung. Meistens suchen wir die in unserem Umfeld. Aber wer weiß besser, wonach uns der Sinn steht, als wir selbst? Machen Sie beim nächsten Erfolgserlebnis doch einfach mal einen Wellnesstag, gehen mit Freunden schick essen oder kaufen Sie sich etwas, das schon lange auf ihrer Wunschliste steht. Sie haben es sich verdient! Übrigens: Ganz nebenbei erhöhen Selbstbelohnungen auch unsere Motivation für künftige Erfolge. 
___
**Pflegen Sie Ihre Freundschaften.**
Wenn es eine Sache gibt, in der sich Glücksforscher weltweit einig sind, dann ist es der Wert von Freundschaften. Freunde machen uns nachweislich glücklicher. Wenn wir Zeit mit Menschen verbringen, die uns am Herzen liegen, dann kann das sogar Schmerzen lindern und nachhaltig Stress reduzieren. Und in Krisenzeiten sind es vor allem unsere Freunde, die uns Kraft geben. Schaffen Sie sich also so viele Freiräume wie möglich für wichtige Menschen. Dabei kommt es übrigens nicht darauf an, möglichst viele Freunde um sich herum zu scharen. Im Gegenteil: Es reichen prinzipiell wenige Freunde, wenn es denn echte sind. Und wie intensiv und echt eine Freundschaft ist, das haben am Ende wir in der Hand. Wenn wir uns anderen Menschen öffnen, dann bekommen wir Vertrauen geschenkt und legen vielleicht die Basis für eine Freundschaft, die uns glücklich macht.
___
**Helfen Sie anderen Menschen.**
Altruismus ist eine Eigenschaft, die vor allem in unserer heutigen Leistungsgesellschaft gerne mal belächelt wird. Dabei tut es unserer Psyche extrem gut, selbstlos zu sein und anderen Menschen etwas Gutes zu tun. Der Soziologe Robert D. Putman spricht in diesem Zusammenhang von "sozialem Kapital". Gemeint ist das Ausmaß des sozialen Zusammenhaltes innerhalb von Gesellschaften. Während der Coronavirus-Pandemie haben wir erlebt, was passiert, wenn das soziale Kapital sinkt: Die Zahl von psychischen Erkrankungen und Gewalttaten steigt. Ein Grund mehr, jetzt proaktiv auch das Wohl unserer Mitmenschen in den Fokus zu nehmen. Das bedeutet nicht, dass Sie jetzt gleich ein Ehrenamt ausüben (was natürlich eine gute Sache ist) oder sich für andere komplett selbst vergessen sollten (bitte nicht!). Es reicht aus, anderen im Alltag zu helfen, wenn das nötig ist und seinen Lieben Unterstützung anzubieten. Sie werden sehen, es wird sich auch für Sie lohnen. 
___
**Seien Sie kreativ.**
Ganz egal, ob musizieren, malen oder tanzen: Wenn wir kreativ sind, können wir unsere Ängste und Sorgen für einen Moment lang vergessen. Und das Schöne daran ist, dass jeder von uns auf seine ganz eigene Art und Weise kreativ ist. Wir müssen kein großer Künstler sein, um unserer Psyche durch kreative Momente etwas Gutes zutun. Es ist schon kreativ, wenn wir einfach mal genau das machen, wonach uns ist. Sie haben Lust, den Abend bei einem Picknick am See zu verbringen, obwohl es regnet? Tun Sie es! Kreativität heißt, die Grenzen in unserem Kopf auszureizen. Wir dürfen uns also trauen, zu träumen. Übrigens: Wer die einfachste Form der Meditation ausprobieren möchte, der kann sich einfach ein paar Buntstifte schnappen und Mandalas ausmachen. Wenn Sie eine Extra-Portion Entspannung brauchen, dann sollten Sie dabei vor allem auf blaue Farben setzen denn die verschafft uns innere Ruhe.
___
**Seien Sie achtsam.**
Lesen Sie diesen Text gerade wirklich aufmerksam? Oder überfliegen Sie die Zeilen nur flüchtig, während im Hintergrund der TV läuft oder Sie im Zug sitzen? Wir sind es fast gewohnt, mehrere Dinge gleichzeitig zu machen. Dadurch fällt es uns manchmal gar nicht mehr auf, wenn wir mal wieder versuchen, möglichst viele Aufgaben unter einen Hut zu kriegen. Für unser Gehirn ist dieses Multitasking echter Hochleistungssport. Um nicht zu überhitzen, fahren wir unsere Leistung deshalb runter. Das heißt: Wir funktionieren zwar, nehmen den Moment aber nicht mehr richtig wahr. Schade eigentlich, oder? Deshalb ist es so wichtig, Achtsamkeit in sein Leben einzubauen. Und da ist jetzt erstmal nicht die Rede von Meditation oder Yoga. Es ist auch achtsam, einfach mal ohne Smartphone spazieren zu gehen, bewusst zu essen oder sich mal einen Augenblick darauf zu konzentrieren, wie sich der eigene Körper eigentlich anfühlt. Das sind Momente, die wahrer Balsam für die Seele sind.
___
**Lassen Sie negative Gefühle zu.**
Bestimmt kennen Sie den Spruch: Das Leben ist kein Ponyhof. So abgedroschen er auch sein mag, ein Funken Wahrheit steckt drin. Denn Krisen und Gefühle wie Trauer, Angst und Wut gehören genauso zu unserem Leben wie Freude, Liebe und Lust. Meistens klopfen die doofen Gefühle dann auch noch in einer echt ungünstigen Zeit an. Die Tür sollten Sie trotzdem öffnen, denn jedes Gefühl hat seine Berechtigung und will gefühlt werden. Ansonsten zieht sich das Gefühl wieder zurück und startet irgendwann einen neuen Versuch. Dann hat es sich aber womöglich mit anderen verdrängten Emotionen zusammengetan und lässt Ihnen keine andere Wahl, als hinzusehen. Wenn wir einen gesunden Umgang mit Trauer, Scham, Wut und Angst etablieren, dann nehmen wir diesen Gefühlen aber die Schlagkraft. Wie das geht? Weinen Sie, wenn Ihnen danach ist und trauen Sie sich, ihrer Wut auch mal Luft zu machen (wenn die Situation es hergibt). 
___
@@ -1,96 +0,0 @@
---
title: "RPA mit SAP: Einsatzmöglichkeiten, Beispiele und Erfahrungen"
source: https://it-onlinemagazin.de/rpa-mit-sap-einsatzmoeglichkeiten-beispiele-und-erfahrungen/
---
# [RPA mit SAP: Einsatzmöglichkeiten, Beispiele und Erfahrungen](https://it-onlinemagazin.de/rpa-mit-sap-einsatzmoeglichkeiten-beispiele-und-erfahrungen/)
12\. Mai 2020
![](https://it-onlinemagazin.de/wp-content/uploads/2020/05/Simon-Kauf-AFI-Solutions-300x200.jpg)
Quelle: AFI Solutions GmbH
Robotic Process Automation (RPA) wird nach Schätzungen von Gartner — bis Ende 2022 bei rund 85 Prozent der großen und sehr großen Unternehmen im Einsatz sein. Damit dürfte RPA auch direkt ein Anwendungsfall für SAP-Prozesse und SAP-Dateneingaben sein, wenn sich Unternehmen Kostenvorteile, bessere Datenqualität und geringere Fehlerhäufigkeit versprechen.
Ein Gastbeitrag von Simon Kaul, Projektleiter bei AFI Solutions, zeigt Einsatzmöglichkeiten und Beispiele von RPA im Zusammenspiel mit SAP auf.
## **Warum Robotic Process Automation (RPA)** **»****dumm****«** **ist** **─** **der Einsatz in SAP aber trotzdem schlau**
Eine Sport-App führt in regelmäßigen Abständen über einen Chat individuelle Umfragen durch und liefert dem Nutzer daraus Analysen für seinen Trainingsfortschritt. Über den Servicechatbot eines großen Online-Marktplatzes wird eine Reklamation schnell kategorisiert und, falls vom Bot nicht direkt lösbar, an den zuständigen menschlichen Mitarbeiter übergeben.
Hinter diesen eher kommerziellen Beispielen steckt die Technologie Robotic Process Automation (RPA): Hierbei handelt es sich um Software-Roboter, die menschliches Verhalten imitieren und immer wiederkehrende Aufgaben automatisiert verarbeiten.
Häufig sind Informationen über mehrere Systeme hinweg verteilt und werden vom Nutzer über unterschiedliche Anwendungen abgerufen sowie zusammengeführt. Hier fungiert ein Software-Roboter (Bot) als Schnittstelle und kann Anwendern sehr viel lästige Arbeit abnehmen. Denn RPA interagiert mit allen notwendigen Softwaresystemen einfach über die Benutzeroberfläche. Deshalb bedarf es in der Regel auch keiner umfangreichen Implementierung auf Servern. Voraussetzung für den einfachen Einsatz von RPA ist, dass die Daten strukturiert sind und einen regelbasierten Prozess durchlaufen.
## **Unterschied zwischen beaufsichtigter und unbeaufsichtigter Automation**
Bei der Durchführung immer wiederkehrender Aufgaben durch Software-Roboter wird bei der Technologie oft nochmals unterteilt in: unbeaufsichtigte RPA (unattended automation) und beaufsichtigte RPA (attended automation). Dem ein oder anderen wird im Netz hier auch der Begriff Robotic Desktop Automation (RDA) über den Weg laufen, damit ist die beaufsichtigte RPA gemeint siehe Grafik.
## **Die beaufsichtigte RPA / Automation**
…ist ähnlich einem Software-Assistenten, der in Dialog mit dem Anwender ist. In der Regel aktiviert der Mensch den Software-Roboter, um einen bestimmten Ablauf automatisiert durchführen zu lassen. Sind während des Prozesses manuelle Tätigkeiten notwendig oder treten Probleme (z. B. neue Szenarien) auf, dann übergibt die beaufsichtigte RPA wieder zurück an den Anwender. Ein gutes Beispiel hierfür sind die Assistenten innerhalb der AFI Lösungen: Automatisiert vergleichen sie Daten zwischen verschiedenen Quellen und weisen den Nutzer etwa auf Unstimmigkeiten in Bestellungen oder Rechnungen hin.
## **Die unbeaufsichtigte RPA / Automation…**
…führt in der Regel End-to-End-Prozesse durch, sie kann also einen Vorgang komplett ohne menschliches Eingreifen automatisiert verarbeiten. Ein solcher Software-Roboter benötigt allerdings eine gewisse Infrastruktur und eventuell sogar Prozessanpassungen. Projekte mit unbeaufsichtigter RPA sind daher oft komplexer, da sie mehr Programmieraufwand erfordern.
[![](https://it-onlinemagazin.de/wp-content/uploads/2020/05/Grafik_RPA_Vergleich-1024x512.jpg)](https://it-onlinemagazin.de/wp-content/uploads/2020/05/Grafik_RPA_Vergleich.jpg)
Quelle: AFI Solutions GmbH
## **Zeitfresser eliminieren: RPA performt erfolgreich in der Praxis**
Die Investition in RPA-Technologie ist dennoch überschaubar und die Vorteile praxiserprobt. Der Einsatz von RPA spart vor allem eine Menge Zeit, wie auch die SAP auf Basis von Kundenbefragungen feststellt: Mitarbeiter gewinnen zwischen 15 und 30 Prozent mehr Zeit für ihre Kernaufgaben.
Das bestätigt auch eine Studie von Forrester Consulting im Auftrag des RPA-Anbieters UiPath aus dem Jahr 2018: Hier gaben sogar zwei Drittel der Befragten an, dass sich ihre bisherige Arbeit durch RPA neu strukturiert hat, so dass mehr Raum für strategisches Arbeiten geschaffen wurde. 57 Prozent der befragten Entscheider bestätigten zudem, dass die Technologie manuelle Fehler reduziere. Darüber hinaus konnten 86 Prozent eine höhere Effizienz bei Mitarbeitern feststellen.
Kein Wunder, dass bereits viele große Unternehmen auf RPA setzen. Laut dem Marktforschungsunternehmen Gartner sollen bis Ende 2022 mindestens 85 Prozent aller großen und sehr großen Unternehmen RPA nutzen. Ziel ist es, primär den Automatisierungsgrad der Geschäftsprozesse zu erhöhen. Dabei stehen vor allem die lästigen, sich stetig wiederholenden Aufgaben im Fokus, die wahre Zeitfresser bei der täglichen Arbeit sind.
## **RPA Einsatzspektrum für SAP-Prozesse
**
Das Einsatzspektrum von RPA ist genauso vielfältig, wie es strukturierte Prozesse sind. RPA übernimmt den manuellen Aufwand innerhalb unveränderter, vorhersehbarer Geschäftsprozesse. Gerade Anwender in SAP haben oft einen hohen Aufwand mit immer wiederkehrenden manuellen Tätigkeiten und suchen sich Informationen aus unterschiedlichen Anwendungen, um sie dann wieder in SAP zusammenzuführen. Daher liegt es nahe, die RPA-Technologie für Prozesse rund um SAP einzusetzen.
Um das Einsatzspektrum besser zu verstehen, nachfolgend ein paar funktionale Beispiele. RPA-Technologie kann…
- Daten prüfen,
- Formulare ausfüllen,
- Daten kopieren, einfügen und verschieben,
- Berechnungen durchführen,
- Informationen aus mehreren unterschiedlichen Systemen lesen und verarbeiten,
- Daten aus strukturierten Dokumenten lesen und verarbeiten,
- Kunden- und Lieferantendateien erstellen,
- Bestellungen veranlassen,
- auf Webseiten und Social Media zugreifen,
- Stammdaten pflegen,
- Wenn-Dann-Befehle ausführen,
- Aufträge erfassen
und vieles mehr.
## **RPA in der Rechnungsbearbeitung**
So ist es beispielsweise möglich, dass ein Software-Roboter die Ermittlung von Steuerkennzeichen bei der Rechnungsbearbeitung übernimmt: Konnte im SAP-System kein Kennzeichen ermittelt werden, dann übernimmt der Bot diese Aufgabe über vordefinierte Logiken, ermittelt das Steuerkennzeichen, setzt es im System ein und versucht, die Rechnung zu buchen. Funktioniert der Vorgang nicht, dann setzt der Bot einen sichtbaren Hinweis oder ein Flag zur manuellen Prüfung durch einen Mitarbeiter. Oder ganz schlicht, aber sehr effizient: Ein Software-Roboter überträgt fehlerfrei und mehrfach täglich Informationen aus einem Excel-Dokument in eine SAP-Bestellung. Funktioniert simpel, minimiert Tippfehler und schafft eine große manuelle Entlastung.
Der Einsatz von RPA öffnet viele weitere Türen sowie Möglichkeiten, Abläufe zu automatisieren und die Technologie lässt sich ausgezeichnet mit künstlicher Intelligenz erweitern.
## **RPA kann auch intelligent aber wie?**
RPA ist nicht gleich Künstliche Intelligenz (KI): Denn anders als KI ist RPA nicht selbstlernend, sondern tut haargenau das, was ihr vorgegeben wird. So liegt die Erfolgsquote bei der Verarbeitung strukturierter Daten logischerweise bei 100 Prozent.
Bei komplexeren Abläufen ist der Einsatz von RPA allein nicht optimal. Allerdings lassen sich RPA und KI miteinander verbinden und schaffen als Software-Team neue Synergieeffekte. Das Einsatzspektrum dieser intelligenten RPA wird dadurch enorm erweitert und ermöglicht auch die Optimierung komplexer Prozesse bzw. die Verarbeitung unstrukturierter Daten.
Anhand der Dokumentenklassifizierung lässt sich die Erweiterung der RPA-Technologie durch KI-Fähigkeiten einfach erklären: Der RPA-Bot durchläuft zum Beispiel anhand von Schlagworten wie »Rechnungsnummer« immer wieder die gleichen Schritte zur Klassifizierung. Kommen jetzt zusätzliche Sprachen oder Begriffe vor, die der Bot bisher nicht kennt, kann er sie durchaus lernen, wenn eine entsprechende KI-Funktion integriert ist. So kann der Bot neu erlernte Sprachen oder Begrifflichkeiten direkt anwenden und den gleichen Prozess, der sich ja an sich nicht verändert hat, mit den neu gewonnenen Erkenntnissen routiniert fortführen.
## **Warum RPA das Gegenteil von Prozessoptimierung ist**
Auch wenn RPA-Technologie Abläufe straffen sowie Fehler reduzieren kann und 24/7 im Einsatz ist, verbessert die Technologie keine Geschäftsprozesse oder IT-Systeme. Vergleichbar mit medizinischen Diagnosen behandelt RPA die Symptome, aber nicht die Ursache eines Missstands. Ziel der Software-Roboter ist es also, Prozesse zu automatisieren, ohne dabei bestehende Systeme zu verändern. Bei der »klassischen« Prozessoptimierung, steht die grundlegende Optimierung und Veränderung des Ablaufs im Vordergrund.
Daher ist vor dem Einsatz von RPA eine Prozessanalyse und eine saubere Prozessdokumentation, die auch die Menschen und eingesetzten Softwaresysteme miteinbezieht, ausschlaggebend. Hier muss genau analysiert werden, welche Schritte es braucht, um eine Aufgabe zu erledigen, beziehungsweise wie Mitarbeiter den Ablauf durchführen, um ihn danach dem Software-Roboter zu übertragen. Es bedarf einer genauen Anleitung, um die Logik des Prozesses sichtbar zu machen und die Reihenfolge festzulegen. Daraufhin wird ein vordefinierter Workflow eingerichtet, den der Software-Roboter strikt immer wieder gleich durchläuft.
## **Fazit: RPA ist mehr als nur ein Hype**
Die Studien und die Praxis sprechen für sich. Vielen unserer Kunden ist wahrscheinlich gar nicht bewusst, dass sie die Vorreiter dieser Technologie bereits seit Jahren in ihren AFI Lösungen nutzen. Aber selbstverständlich ist hier noch sehr viel mehr Potenzial drin und es lassen sich Abläufe beschleunigen, die viele auf den ersten Blick gar nicht auf dem Schirm haben, die aber ungeahnte Ressourcen freisetzen.
Ein sehr spannendes Umfeld: Wir sind hier schon seit geraumer Zeit in der Forschung dran. Momentan setzen wir beispielsweise bei einem unserer großen Pharmakunden RPA großflächig ein und bekommen selbst Gänsehaut, wenn wir die Effekte in der Praxis erleben: Und die beweist, dass RPA mehr als nur ein Hype ist.
@@ -1,115 +0,0 @@
---
title: Robotic Process Automation Wikipedia
source: https://de.wikipedia.org/wiki/Robotic_Process_Automation
---
# [Robotic Process Automation Wikipedia](https://de.wikipedia.org/wiki/Robotic_Process_Automation)
| | |
| --- | --- |
| [![QS-Informatik](../../_resources/50px-Icon_tools.svg_a05fc021910b4122b12507c7553c02.png)](https://de.wikipedia.org/wiki/Wikipedia:Redaktion_Informatik/Qualit%C3%A4tssicherung#Robotic_Process_Automation "Beteilige dich an der Diskussion!") | Dieser Artikel wurde wegen inhaltlicher Mängel auf der [Qualitätssicherungsseite](https://de.wikipedia.org/wiki/Wikipedia:Redaktion_Informatik/Qualit%C3%A4tssicherung "Wikipedia:Redaktion Informatik/Qualitätssicherung") der [Redaktion Informatik](https://de.wikipedia.org/wiki/Wikipedia:Redaktion_Informatik "Wikipedia:Redaktion Informatik") eingetragen. Dies geschieht, um die Qualität der Artikel aus dem **Themengebiet Informatik** auf ein akzeptables Niveau zu bringen. [Hilf mit](https://de.wikipedia.org/wiki/Wikipedia:Sei_mutig "Wikipedia:Sei mutig"), die inhaltlichen Mängel dieses Artikels zu beseitigen, und beteilige dich an der **[Diskussion](https://de.wikipedia.org/wiki/Wikipedia:Redaktion_Informatik/Qualit%C3%A4tssicherung#Robotic_Process_Automation "Wikipedia:Redaktion Informatik/Qualitätssicherung")!** (<a id="NeuerAbschnitt"></a>[+](https://de.wikipedia.org/w/index.php?title=Wikipedia:Redaktion_Informatik/Qualit%C3%A4tssicherung&action=edit&section=new&preload=Vorlage:$1&preloadparams%5B%5D=Bitte+Begr%C3%BCndung+hier+eintragen+und+signieren.&preloadtitle=%5B%5BRobotic+Process+Automation%5D%5D)) |
**Robotic Process Automation** (**RPA**, deutsch: *Robotergesteuerte Prozessautomatisierung*) ist ein „Ansatz zur Prozessautomatisierung bei dem repetitive, manuelle, zeitintensive oder fehleranfällige Tätigkeiten durch sogenannte (Bots) [Softwareroboter](https://de.wikipedia.org/w/index.php?title=Softwareroboter&action=edit&redlink=1 "Softwareroboter (Seite nicht vorhanden)") erlernt und automatisiert ausgeführt werden“[\[1\]](#cite_note-Czarnecki_Auth2018-1). Softwareroboter verwenden dabei nicht nur technische APIs von Systemkomponenten, sondern können [Anwendungssoftware](https://de.wikipedia.org/wiki/Anwendungssoftware "Anwendungssoftware") auch über die [Präsentationsschicht](https://de.wikipedia.org/wiki/Schichtenarchitektur#Pr%C3%A4sentationsschicht "Schichtenarchitektur") steuern, vergleichbar mit der Durchführung durch einen Menschen.[\[2\]](#cite_note-2) Je nach verwendeter RPA Plattform können notwendige Schritte mit modellgetriebenen oder [selbstlernenden](https://de.wikipedia.org/wiki/Maschinelles_Lernen "Maschinelles Lernen") Ansätzen aufgezeichnet werden.[\[1\]](#cite_note-Czarnecki_Auth2018-1) RPA vereint die Modellierung von Abläufen, Skripting und [Job-Scheduling](https://de.wikipedia.org/w/index.php?title=Job-Scheduling&action=edit&redlink=1 "Job-Scheduling (Seite nicht vorhanden)").
## <a id="Softwareroboter_als_Paradigma_der_Automatisierung"></a>Softwareroboter als Paradigma der Automatisierung\[[Bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&veaction=edit&section=1 "Abschnitt bearbeiten: Softwareroboter als Paradigma der Automatisierung") | [Quelltext bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&action=edit&section=1 "Abschnitt bearbeiten: Softwareroboter als Paradigma der Automatisierung")\]
Softwareroboter sind Anwendungen, die auch eine menschliche Interaktion mit [Benutzerschnittstellen](https://de.wikipedia.org/wiki/Benutzerschnittstelle "Benutzerschnittstelle") von Softwaresystemen nachahmen können.[\[3\]](#cite_note-3) Dabei arbeiten Softwareroboter in einer vergleichbaren Art und Weise auf dem User Interface (siehe auch [Mensch-Maschine-Interface](https://de.wikipedia.org/wiki/Mensch-Maschine-Interface "Mensch-Maschine-Interface")), wie es ein Mensch würde. Während RPA die manuellen Schritte digitalisiert, ändert traditionelles [Business Process Management](https://de.wikipedia.org/wiki/Gesch%C3%A4ftsprozessmodellierung "Geschäftsprozessmodellierung") (BPM) die Ebene der Geschäftslogik.[\[1\]](#cite_note-Czarnecki_Auth2018-1) Beispielsweise kann die Ausführung einer Dateneingabe in ein [ERP](https://de.wikipedia.org/wiki/Enterprise-Resource-Planning "Enterprise-Resource-Planning")-System oder sogar das Ausführen eines gesamten [Geschäftsprozesses](https://de.wikipedia.org/wiki/Gesch%C3%A4ftsprozess "Geschäftsprozess") durch einen Roboter abgebildet werden.[\[4\]](#cite_note-4)
Im weiteren Sinne ist RPA "mehr als nur eine Technologie zur Roboter unterstützten Geschäftsprozess Automatisierung. Sie ist Vorgehensmodell, Framework und nicht zuletzt eine sich neu etablierende Unternehmensphilosophie, die das Ziel hat, sämtliche Prozesse des Unternehmens neu auf Aktualität, Angemessenheit und Performanz zu hinterfragen, um den sich im Zuge der wachsenden Digitalisierung beschleunigenden Abläufen innerhalb und außerhalb des Unternehmens Rechnung zu tragen. Konkret geht es um den Einsatz von Robotern zur Automatisierung von Prozessen, die verschiedene Eigenschaften besitzen, mit dem Ziel der Erhöhung von Zuverlässigkeit, Geschwindigkeit, Einfachheit und Sicherheit, bei gleichzeitiger Reduzierung der ursprünglichen Prozesskosten, der mit der Durchführung des Prozesses verbundenen Risiken sowie der Abhängigkeit von externen Ressourcen."[\[5\]](#cite_note-5)
### <a id="Historische_Entwicklung"></a>Historische Entwicklung\[[Bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&veaction=edit&section=2 "Abschnitt bearbeiten: Historische Entwicklung") | [Quelltext bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&action=edit&section=2 "Abschnitt bearbeiten: Historische Entwicklung")\]
Nachdem zunächst einfache Probleme mittels RPA-basierter Systeme gelöst werden konnten, sind moderne Softwareroboter mittlerweile bereits in der Lage, komplexe Aufgaben zu übernehmen. So liegt der Fokus nicht nur auf der Prozessoptimierung im Kundendienst, sondern gewinnt zunehmend auch unternehmensintern an Relevanz (siehe hierzu auch RPA Beispiele). Seit Anfang 2000 werden Softwareroboter vermehrt für die Erstellung von [Social Media](https://de.wikipedia.org/wiki/Social_Media "Social Media") Beiträgen, den Versand generierter E-Mails oder auch für die telefonische Kundenberatung in Form von [Interactive Voice Response](https://de.wikipedia.org/wiki/Sprachdialogsystem "Sprachdialogsystem") eingesetzt. Ein bedeutender Entwicklungsschritt in der Geschichte der robotergesteuerten Prozessautomatisierung erfolgte in der [Testautomatisierung](https://de.wikipedia.org/wiki/Testautomatisierung "Testautomatisierung") der Software-Qualitätssicherung.[\[6\]](#cite_note-6)[\[7\]](#cite_note-7)
Ein **RPA Rechenbeispiel** in der [Testautomatisierung](https://de.wikipedia.org/wiki/Testautomatisierung "Testautomatisierung"):
Während manuelle Tester an einem 8 stündigen Arbeitstag aufgrund weiterer berufsbegleitender Aktivitäten (z. B. Lesen von E-Mails, Teilnahme an Meetings, Gespräche mit Kollegen, sonstige Arbeitsunterbrechungen) effektiv etwa 3,5 Stunden testen, was in der Woche 17,5 Stunden entspricht, ermöglicht beispielsweise die RPA gestützte Testautomatisierung im 24/7 Einsatz 168 Stunden Testzeit, während zudem gleichzeitig eine lückenlose automatische Protokollierung, der sogenannte Testreport, erstellt werden kann.
Das [Screen Scraping](https://de.wikipedia.org/wiki/Screen_Scraping "Screen Scraping") ist eine der robotergesteuerten Prozessautomatisierung verwandte Art der Automatisierung. RPA gilt allerdings als eine wesentlich bedeutsamere, technologische Weiterentwicklung dieser Technik. Aus ihr hervorgehende Softwareplattformen bieten einen wesentlich reiferen, flexibleren, skalierbareren und verlässlicheren Ansatz zum Einsatz in großen Unternehmen.[\[8\]](#cite_note-8)
Fortschrittliche RPA Lösungen können in ihrer Erscheinung über reine Software Roboter hinausgehen und verfügen neben Maschinen Vision Systemen sogar über Kinematiken und Stimmen, um auch Touch Devices und sprachgesteuerte Geräte bedienen zu können.[\[9\]](#cite_note-9)
### <a id="Deployment"></a>Deployment\[[Bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&veaction=edit&section=3 "Abschnitt bearbeiten: Deployment") | [Quelltext bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&action=edit&section=3 "Abschnitt bearbeiten: Deployment")\]
Das Anbieten von solchen RPA-Diensten unterstreicht die Metapher des KI-getriebenen Arbeiters in dem Sinne, dass jede Softwareroboterinstanz ihrer eigenen virtuellen Workstation zugewiesen wird, vergleichbar der eines menschlichen Arbeiters. Der Roboter verwendet dabei Kontrollinstrumente für Maus und Tastatur, um Interaktionen auf der Benutzeroberfläche auszuführen. Verständlicherweise finden diese Interaktionen im Verborgenen in einer virtuellen Umgebung ohne physischen Bildschirm statt, da ein Softwareroboter auf diesen verzichten kann stattdessen interpretiert er das Bildschirmsignal elektronisch.[\[10\]](#cite_note-10)
## <a id="Charakteristiken_von_RPA-Anwendungen"></a>Charakteristiken von RPA-Anwendungen\[[Bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&veaction=edit&section=4 "Abschnitt bearbeiten: Charakteristiken von RPA-Anwendungen") | [Quelltext bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&action=edit&section=4 "Abschnitt bearbeiten: Charakteristiken von RPA-Anwendungen")\]
### <a id="Programmierung"></a>Programmierung\[[Bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&veaction=edit&section=5 "Abschnitt bearbeiten: Programmierung") | [Quelltext bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&action=edit&section=5 "Abschnitt bearbeiten: Programmierung")\]
[![](../../_resources/24px-Qsicon_Quelle.svg_0a70bd11f5604e4c9387819abc1.png)](https://de.wikipedia.org/wiki/Wikipedia:Belege "Belege")
Dieser Artikel oder nachfolgende Abschnitt ist nicht hinreichend mit [Belegen](https://de.wikipedia.org/wiki/Wikipedia:Belege "Wikipedia:Belege") (beispielsweise [Einzelnachweisen](https://de.wikipedia.org/wiki/Hilfe:Einzelnachweise "Hilfe:Einzelnachweise")) ausgestattet. Angaben ohne ausreichenden Beleg könnten demnächst entfernt werden. Bitte hilf Wikipedia, indem du die Angaben recherchierst und gute Belege einfügst.
RPA-Plattformen modellieren Prozesse abstrakt in einzelnen Schritten (häufig als "Step" oder "Task" bezeichnet). Viele bedienen sich der Technik von [Flussdiagrammen](https://de.wikipedia.org/wiki/Programmablaufplan "Programmablaufplan") oder anderen Entscheidungsbäumen, um so eine graphische [Prozessmodellierung](https://de.wikipedia.org/wiki/Prozessmodellierung "Prozessmodellierung") mittels [Drag&Drop](https://de.wikipedia.org/wiki/Drag%26Drop "Drag&Drop") zu ermöglichen. Prozessschritte greifen auf wiederverwendbare Bausteine aus Bibliotheken zurück, so dass keine Programmierung zur Steuerung von Systemkomponenten notwendig ist. So gibt es in RPA-Plattformen zum Beispiel häufig bereits Module zur Steuerung von Webbrowsern. Die abstrahierte Ablauflogik wird in der Regel innerhalb der RPA-Software in eine Skriptsprache übersetzt.
#### <a id="Beispiel_(Robot_Framework)"></a>Beispiel (Robot Framework)\[[Bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&veaction=edit&section=6 "Abschnitt bearbeiten: Beispiel (Robot Framework)") | [Quelltext bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&action=edit&section=6 "Abschnitt bearbeiten: Beispiel (Robot Framework)")\]
Im folgenden Beispiel wird mit Hilfe von [Robot Framework](https://de.wikipedia.org/wiki/Robot_Framework "Robot Framework") ein Prozessablauf abstrahiert (im Abschnitt *Tasks* Zeile 68). Die Abstraktion geschieht hier nicht über Visualisierungstools, sondern über menschenlesbare textuelle Prozessbeschreibung. Ein Task setzt sich hier aus sogenannten Keywords zusammen. Die bereits vorimplementierten Keywords sind hier in Englisch und werden in Zeile 2 importiert. Zum besseren Verständnis baut ein RPA Entwickler daraus eigene Keywords, die der Fachsprache des Prozesses entsprechen (Abschnitt **Keywords**, Zeile 10 ff.). Das Prozessmodell wird hier zwar in Python übersetzt, der RPA Entwickler muss zur Modellierung aber kein Pythonprogrammierer sein, sondern braucht nur rudimentäre Programmierkenntnisse.
1 \*\*\* Settings ***
2 Library RPA.Browser
3 Task Teardown Close All Browsers
4
5 \*\*\* Tasks ***
6 Screenshot der aktuellen Nachrichten auf Wikipedia erstellen
7 Hauptseite von Wikipedia.de öffnen
8 Screenshot der Nachrichten erstellen
9
10 \*\*\* Keywords ***
11 Hauptseite von Wikipedia.de öffnen
12 Open Available Browser https://de.wikipedia.org
13
14 Screenshot der Nachrichten erstellen
15 Wait Until Page Contains Element xpath://div\[@id="hauptseite-nachrichten"\]
16 Capture Element Screenshot xpath://div\[@id="hauptseite-nachrichten"\]
### <a id="Deployment_2"></a>Deployment\[[Bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&veaction=edit&section=7 "Abschnitt bearbeiten: Deployment") | [Quelltext bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&action=edit&section=7 "Abschnitt bearbeiten: Deployment")\]
Eine wesentliche Herausforderung von [Softwaredeployments](https://de.wikipedia.org/wiki/Software_deployment "Software deployment") ist, dass Änderungen von bestehenden Systemen zunächst die Kenntnis der komplexen Zusammenhänge zwischen den Systemkomponenten erfordert. Die Erneuerung, Erweiterung oder sogar der Austausch bestehender Systeme in großen Unternehmen (Systemmodifikation oder auch als "Change" bezeichnet), stellt ein großes Risiko dar, weil die Veränderung der Systemkomponenten auch ungewollte Seiteneffekte in der Systeminfrastruktur erzeugen kann sogar mit Auswirkung auf Teilkomponenten, die selbst gar nicht modifiziert wurden.[\[11\]](#cite_note-11) Ein Prinzip von RPA ist es, für solche Änderungen automatisierte [Regressionstests](https://de.wikipedia.org/wiki/Regressionstest "Regressionstest") durchzuführen.
## <a id="Ziele_der_RPA"></a>Ziele der RPA\[[Bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&veaction=edit&section=8 "Abschnitt bearbeiten: Ziele der RPA") | [Quelltext bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&action=edit&section=8 "Abschnitt bearbeiten: Ziele der RPA")\]
Zu den häufigsten Zielen einer RPA Lösung gehören[\[12\]](#cite_note-12):
- Kostenreduktion repetitiver Tätigkeiten / Arbeitsschritte
- Vermeidung von Risiken durch menschliche Fehler:
1. Bei der Durchführung der eigentlichen Aufgabe
2. Bei der Erstellung eines RPA Prozesses
- Mitarbeiterentlastung zur Fokussierung auf wertschöpfende Tätigkeiten
- Prozessgeschwindigkeit erhöhen
- Reduzierung der Abhängigkeit vom Fachkräftemangel
- Prozessstabilität
## <a id="Die_Zukunft_von_RPA"></a>Die Zukunft von RPA\[[Bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&veaction=edit&section=9 "Abschnitt bearbeiten: Die Zukunft von RPA") | [Quelltext bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&action=edit&section=9 "Abschnitt bearbeiten: Die Zukunft von RPA")\]
Die Zukunft von RPA kann vielfältig sein. Aus der Mehrheit der frühzeitigen Anwender ergeben sich neue Anwendungsfälle und Synergien. Mögliche Szenarien können wie folgt aussehen:
- Annäherung von Plattformen des [Business Process Managements](https://de.wikipedia.org/wiki/Business_Process_Management "Business Process Management") (BPM) und RPA.
- Ein breiterer Einsatz von künstlicher Intelligenz zur fortgeschrittenen Entscheidungsfindung ([Hyperautomation](https://de.wikipedia.org/w/index.php?title=Hyperautomation&action=edit&redlink=1 "Hyperautomation (Seite nicht vorhanden)")).
### <a id="Gesellschaftlicher_Einfluss"></a>Gesellschaftlicher Einfluss\[[Bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&veaction=edit&section=10 "Abschnitt bearbeiten: Gesellschaftlicher Einfluss") | [Quelltext bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&action=edit&section=10 "Abschnitt bearbeiten: Gesellschaftlicher Einfluss")\]
Akademische Studien gehen davon aus, dass RPA neben anderen technologischen Trends maßgeblich für Produktivitäts- und Effizienzsteigerungen verantwortlich sein wird und in diesem Zusammenhang innerhalb der nächsten zwei Dekaden (~2035), wenn auch nicht allein auf RPA zurückzuführen, rund 47 % aller amerikanischen Berufe automatisiert werden könnten.[\[13\]](#cite_note-13)[\[14\]](#cite_note-:0-14)
Der Unternehmer David Moss zeichnet ein Szenario bei einem TEDx-Event, in dem der Einsatz digitaler Arbeitskräfte den [Dienstleistungssektor](https://de.wikipedia.org/wiki/Dienstleistungssektor "Dienstleistungssektor") revolutionieren wird. Neben einem weitreichenden Einfluss auf die Kostenstrukturen von Dienstleistungen ergeben sich vor allem Möglichkeiten in der Dienstleistungsreichweite, -ausgestaltung, -qualität und insbesondere der Individualisierbarkeit von Dienstleistungen.[\[15\]](#cite_note-15)
Prof. Willcocks geht indes davon aus, dass Softwareroboter darüber hinaus maßgeblich das gesellschaftliche Bild verändern. Durch das Wegfallen (die Übernahme durch die Softwareroboter) von vielen profanen und hochrepetitiven Tätigkeiten wird das tägliche Arbeitsvolumen maßgeblich reduziert. Das führt zu einer gesteigerten Arbeitszufriedenheit und intellektueller Stimulation. Somit können humane Arbeitnehmer sich mehr auf ihre wesentlichen Tätigkeiten konzentrieren.[\[14\]](#cite_note-:0-14)
## <a id="Einzelnachweise"></a>Einzelnachweise\[[Bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&veaction=edit&section=11 "Abschnitt bearbeiten: Einzelnachweise") | [Quelltext bearbeiten](https://de.wikipedia.org/w/index.php?title=Robotic_Process_Automation&action=edit&section=11 "Abschnitt bearbeiten: Einzelnachweise")\]
1. ↑ [Hochspringen nach: a](#cite_ref-Czarnecki_Auth2018_1-0) [b](#cite_ref-Czarnecki_Auth2018_1-1) [c](#cite_ref-Czarnecki_Auth2018_1-2) Christian Czarnecki, Gunnar Auth: Prozessdigitalisierung durch Robotic Process Automation. In: Digitalisierung in Unternehmen: Von den theoretischen Ansätzen zur praktischen Umsetzung (= Angewandte Wirtschaftsinformatik). Springer Fachmedien Wiesbaden, Wiesbaden 2018, [ISBN 978-3-658-22773-9](https://de.wikipedia.org/wiki/Spezial:ISBN-Suche/9783658227739), S.113131, [doi](https://de.wikipedia.org/wiki/Digital_Object_Identifier "Digital Object Identifier"):[10.1007/978-3-658-22773-9_7](https://doi.org/10.1007/978-3-658-22773-9_7) ([springer.com](https://link.springer.com/chapter/10.1007/978-3-658-22773-9_7) \[abgerufen am 14. August 2019\]).
2. [](#cite_ref-2 "Hochspringen") [*Beispiel einer RPA Lösung mit Kinematik.*](https://www.youtube.com/watch?v=pYn3Ak2yy1U) In: *Youtube.com.* WIANCO OTT Robotics, abgerufen am 20. Mai 2020.
3. [](#cite_ref-3 "Hochspringen") Hal Hodson: [*AI interns: Software already taking jobs from humans.*](https://www.newscientist.com/article/mg22630151.700-ai-interns-software-already-taking-jobs-from-humans/#.VY2CxPlViko) In: *New Scientist.* 31. März 2015, abgerufen am 29. November 2016 (englisch).
4. [](#cite_ref-4 "Hochspringen") Michael Azoff: [*Blue Prisms robotic process automation offers scope for artificial intelligence.*](https://web.archive.org/web/20160731060027/http://www.ovum.com/blue-prisms-robotic-process-automation-offers-scope-for-artificial-intelligence/) (Nicht mehr online verfügbar.) In: *Ovum.com.* 24. Juni 2015, archiviert vom [Original](https://giftbot.toolforge.org/deref.fcgi?url=http%3A%2F%2Fwww.ovum.com%2Fblue-prisms-robotic-process-automation-offers-scope-for-artificial-intelligence%2F) am 31. Juli 2016; abgerufen am 29. November 2016 (englisch). ![i](../../_resources/15px-Pictogram_voting_info.svg_473e2948a3254ddbbb2.png "i") **Info:** Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß [Anleitung](https://de.wikipedia.org/wiki/Benutzer:InternetArchiveBot/Anleitung/Archivlink "Benutzer:InternetArchiveBot/Anleitung/Archivlink") und entferne dann diesen Hinweis.
5. [](#cite_ref-5 "Hochspringen") Michael Wilczynska: [*Robotic Process Automation . RPA Erklärung, Ethik und Zweck.*](https://wianco.de/robotic-process-automation.html) In: *wianco.de.* WIANCO OTT Robotics, abgerufen am 20. Mai 2020.
6. [](#cite_ref-6 "Hochspringen") André Rist, Markus Stahl: [*Qualität komplexer Systeme mit Open-Source-Tools verifizieren.*](http://www.sigs.de/media/GTM-1-2019-Digital.pdf) (PDF) In: *German Testing Magazin.* SIGS DATACOM GmbH, Mai 2019, S. 23, abgerufen am 15. Juni 2020.
7. [](#cite_ref-7 "Hochspringen") [*Entstehung der Robotic Process Automation.*](https://weissenberg-solutions.de/was-ist-robotic-process-automation/) Abgerufen am 23. September 2018.
8. [](#cite_ref-8 "Hochspringen") Phil Fersht, Jim Slaby: [*Robotic Automation emerges as a threat to traditional Low-Cost Outsourcing.*](http://www.hfsresearch.com/pointsofview/robotic-automation-emerges-threat-traditional-low-cost-outsourcing) In: *HfS-Research.com.* 24. Oktober 2012, abgerufen am 29. November 2016 (englisch).
9. [](#cite_ref-9 "Hochspringen") Michael Wilczynska: [*Say “Hi” to EMMA The Learning (ML) Robotic Process Automated (RPA) Test Engineer.*](https://www.sap.com/idea-place/sap-innovation-awards/submission-details-2020.html?idea_id=1432) Abgerufen am 18. Mai 2020.
10. [](#cite_ref-10 "Hochspringen") Eric Lambeth: [*How robotics can improve legacy sourcing agreements: Go beneath the surface of your contract.*](http://www.kpmg-institutes.com/content/dam/kpmg/sharedservicesoutsourcinginstitute/pdf/2015/robotics-improve-legacy-sourcing.pdf) In: *kpmg-institutes.com.* Abgerufen am 29. November 2016 (englisch).
11. [](#cite_ref-11 "Hochspringen") [*Testautomatisierung - Herausforderungen im Überblick.*](https://wianco.com/testautomatisierung.html) Abgerufen am 20. Mai 2020.
12. [](#cite_ref-12 "Hochspringen") [*Robotic Process Automation - RPA Erklärung, RPA Ethik, RPA Management und RPA Zweck.*](http://www.wianco.de/robotic-process-automation.html) Abgerufen am 17. Mai 2020.
13. [](#cite_ref-13 "Hochspringen") Carl Benedikt Frey, Michael A. Osborne: [*The future of employment: how susceptible are jobs to Computerisation?*](http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=E47C9709E99DBBFB01BF5DE92925BD5D?doi=10.1.1.395.416&rep=rep1&type=pdf) Oxford University Engineering Sciences Department, 13. September 2013, abgerufen am 29. November 2016 (englisch).
14. ↑ [Hochspringen nach: a](#cite_ref-:0_14-0) [b](#cite_ref-:0_14-1) Leslie P. Willcocks, Mary C. Lacity: [*Nine likely scenarios arising from the growing use of robots.*](http://eprints.lse.ac.uk/64032/1/blogs.lse.ac.uk-Nine%20likely%20scenarios%20arising%20from%20the%20growing%20use%20of%20robots.pdf) London School of Economics, 2015, abgerufen am 29. November 2016 (englisch).
15. [](#cite_ref-15 "Hochspringen") [*White Collar Robots: The Virtual Workforce.*](https://www.youtube.com/watch?v=1SximAg9t4w) TEDx Talks, abgerufen am 29. November 2016 (englisch).
@@ -1,136 +0,0 @@
---
title: "Robotic Process Automation: Praktische Beispiele für RPA mit UiPath"
source: https://entwickler.de/online/windowsdeveloper/rpa-robotic-automation-uipath-579915633.html
---
# [Robotic Process Automation: Praktische Beispiele für RPA mit UiPath](https://entwickler.de/online/windowsdeveloper/rpa-robotic-automation-uipath-579915633.html)
Die softwaregestützte Automatisierung von Prozessen mit Robotic Process Automation scheint für viele Unternehmen die Antwort auf den Fachkräftemangel und einen immer stärker werdenden Kostendruck zu sein. So vielversprechend und einfach die Technologie klingt, bietet sie jedoch einige Fallstricke und Herausforderungen. Um RPA erfolgreich im Unternehmen zu verankern und maximale Akzeptanz zu schaffen, ist es wichtig, mit Vorurteilen aufzuräumen und die Einführung so transparent wie nur möglich zu gestalten.
Liest man in den Medien von RPA, werden in diesem Zusammenhang oftmals Ängste geschürt. Robotic Process Automation gilt als der ultimative Jobkiller und erfreut sich daher bei Mitarbeitern nicht unbedingt großer Beliebtheit. Um diesem Vorurteil entgegenzutreten, gilt es vor allem, die Vorteile und Chancen der Technologie aufzuzeigen. Dazu gehört unter anderem die Entlastung der Mitarbeiter bei monotonen und repetitiven Tätigkeiten. Das verschafft den Mitarbeitern in Zukunft mehr kreative Freiräume für die Lösung komplexer Problemstellungen und hilft, den Fokus auf die Kernaufgaben der Tätigkeit zu legen. Einfache, wiederholbare Tätigkeiten werden hingegen durch den Softwareroboter erledigt.
In einer Forrester-Studie gaben 66 Prozent der Unternehmen, die RPA einsetzen, an, dass bestehende Arbeit neu strukturiert werden konnte und die Mitarbeiter nun mehr menschliche Interaktionen durchführen. Statt die lästigen Aufgaben selbst auszuführen, betreuen sie ihre virtuellen Kollegen und prüfen die Qualität der Arbeit. Dadurch erfolgt eine Verschiebung der tatsächlichen Arbeit von stupiden hin zu wertschöpfenden Tätigkeiten.
Fällt die Entscheidung zur Automatisierung eines unbeliebten Prozesses mit einer hohen Sichtbarkeit, kann das dazu beitragen, die Akzeptanz von robotergestützter Prozessautomatisierung bei den Mitarbeitern zu steigern. Dabei kann es sich zum Beispiel um einen Prozess handeln, bei dem ein Mitarbeiter verschiedene Applikationen bedienen muss oder Informationen von einer Applikation in eine andere kopiert. Ebenfalls beliebt sind Dateisystemoperationen oder das manuelle Pflegen einer Excel-Liste mit Informationen aus unterschiedlichen Datenquellen. Das erste Automatisierungsprojekt sollte also einen möglichst einfachen, gut dokumentierten und wenig fehleranfälligen Prozess adressieren.
Auch wenn es sich um einen gut sichtbaren Prozess handeln sollte, ist es ratsam, einen nicht businesskritischen Prozess zu wählen. Denn scheitert das erste Projekt und richtet zudem noch einen finanziellen oder reputativen Schaden an, wird dies das weitere Automatisierungsvorhaben erheblich erschweren. Die daraus resultierende Unsicherheit und Grundskepsis können ein Unternehmen in die gedankliche Automationssteinzeit zurückversetzen. Die Auswahl des richtigen Prozesses ist somit ein elementarer Erfolgsfaktor.
Die Umsetzung kann sowohl mit externer Verstärkung als auch mit rein internen Ressourcen erfolgen. Das Hinzuziehen eines externen Implementierungspartners oder eine Beratung ersetzt jedoch nicht die Notwendigkeit, ein internes RPA-Team aufzubauen. Häufig wird dieses Automationsteam in Form eines Centers of Excellence aufgebaut, was zahlreiche Vorteile bietet: Das Team arbeitet an der gesamtheitlichen Automatisierungsstrategie, priorisiert Automatisierungsanfragen und sorgt für eine regelkonforme Implementierung und Inbetriebnahme der Prozesse. Dadurch, dass Automationsanfragen und Ideen zentral zusammenlaufen, können Synergieeffekte identifiziert und die Effizienz kann erhöht werden.
## Auf die Strategie kommt es an
Neben dem Aufbau des Automationsteams ist das Vorhandensein einer langfristigen Automatisierungsstrategie erfolgsentscheidend. Denn hat ein Unternehmen mit dem Einsatz von RPA begonnen und konnte der erste Leuchtturm platziert werden, dauert es erfahrungsgemäß nicht lange, bis sich weitere Prozesse für eine potenzielle Automatisierung auftun. Gerade für den Anfang hat es sich bewährt, dass Automatisierungsideen aus den verschiedenen Unternehmensbereichen beim Center of Excellence eingereicht und dort auf die Sinnhaftigkeit der Automatisierung, technische Machbarkeit sowie Wirtschaftlichkeit bewertet werden. Denn in der Realität lassen sich nur etwa 20 bis 30 Prozent der eingebrachten Ideen tatsächlich sinnvoll umsetzen.
Eine Automatisierungsstrategie kann dabei helfen, diese Prozesse zu identifizieren und vor allem zu priorisieren. Die Priorisierung kann sich auch in einer Roadmap für die Automatisierung niederschlagen. Eine Roadmap mit einem Ausblick auf Einsparpotenziale kann das Management zudem dabei unterstützen, Ausgaben für die Prozessautomatisierung zu rechtfertigen.
Eine fehlende Strategie wird nicht zwangsläufig zum Scheitern des ersten Projekts führen, mittelfristig benötigt die Automatisierung aber eine klare Leitlinie. Üblicherweise ist es nicht mit der einmaligen Entwicklung eines Prozesses getan. Sowohl Prozesse als auch Applikationen unterliegen einem stetigen Wandel, deshalb ist sicherzustellen, dass Tool- oder Prozessänderungen mit RPA-Implementierungen abgeglichen werden, um notwendige Anpassungen frühzeitig einplanen zu können. Ebenso ist eine regelmäßige Bewertung hinsichtlich der Aktualität von Prozessen vorzunehmen, denn auch Prozesse unterliegen einem Lifecycle. Bewährt hat sich, diese Themen in einem Governance-Board mit den notwendigen Stakeholdern zu diskutieren. Genauso wichtig wie eine frühzeitige Kommunikation und Einbindung der Mitarbeiter ist das Involvieren der IT-Abteilung zu einem möglichst frühen Zeitpunkt.
Zwar ist das Business üblicherweise der Treiber für Automatisierungsprojekte und nicht die IT, aufgrund der Notwendigkeit einer Einbeziehung ist es jedoch durchaus empfehlenswert, das Gespräch proaktiv und möglichst am Anfang des Automationsvorhabens zu suchen. Denn bei der Implementierung von RPA gibt es einige Punkte, bei denen die Unterstützung der IT-Abteilung notwendig ist oder zumindest hilfreich sein kann. Beispielsweise wird die Plattform üblicherweise durch die IT oder zumindest mit der Unterstützung der IT bereitgestellt und betrieben. Auch beim Bereitstellen der einzelnen virtuellen Umgebungen für die Roboter ist die Unterstützung der IT erforderlich. Das kann allein schon dadurch begründet sein, dass die Lizenzbeschaffung und ihre Verwaltung oftmals in der IT beheimatet sind.
Gibt es im Unternehmen einen Sicherheitsbeauftragten oder eine Abteilung, die sich mit diesem Themenbereich beschäftigt, sollte auch sie in das Vorhaben miteinbezogen werden. Fühlt sich jemand der Beteiligten nicht abgeholt oder in seinen Befindlichkeiten verletzt, kann das zu unnötigen Verzögerungen bei der Einführung von RPA führen.
Ein weiteres wichtiges Erfolgskriterium ist die Wahl der richtigen Plattform. Ein ausschlaggebendes Merkmal ist beispielsweise die einfache Entwicklung der Prozesse mittels Drag-and-Drop-Funktionalität. Denn die Automatisierung soll primär durch die Fachabteilungen getrieben werden. Eine RPA-Plattform unterstützt die Mitarbeiter optimal dabei, wenn sie die Prozesse ohne jegliche Programmierkenntnisse einfach zusammenklicken können. Im Rahmen einer Automatisierungsstrategie werden nicht nur Roboter benötigt, die im Hintergrund direkt auf den Servern agieren und dort Prozesse rund um die Uhr abarbeiten (unattended), sondern ebenso persönliche Assistenten, die den Mitarbeiter unmittelbar bei der Erledigung von Prozessen unterstützen (attended). Diese Unterstützung kann durch ein bestimmtes Ereignis oder direkt durch den Mitarbeiter angestoßen werden. Durch diese Art der Unterstützung spart der Mitarbeiter wertvolle Zeit und kann sich auf wertschöpfende Tätigkeiten konzentrieren. Diese Form der Zeitersparnis wird häufig als Focus Time bezeichnet.
Für die Prozesse, die durch unattended RPA bearbeitet werden, sollte die Plattform in der Lage sein, diese Prozesse übergreifend zu orchestrieren und beliebig zu skalieren, denn üblicherweise starten Unternehmen nicht direkt mit hunderten von Robotern sondern zunächst mit einigen wenigen. Es ist jedoch nicht unüblich, dass eine RPA-Umgebung mit ihren Robotern bald exponentiell wächst. Um die Übersicht auch bei einer schnell gewachsenen Umgebung nicht zu verlieren, ist eine zentrale Administration äußerst wichtig. Sie erlaubt es zum Beispiel, zentrale Updates für oder Wartungen an den automatisierten Prozessen vorzunehmen. Denn wer möchte schon manuell ein Update eines Prozesses auf einer beliebig großen Anzahl von virtuellen Maschinen vornehmen? Eine zentrale Plattform kann auch bei einer globalen Governance unterstützen. Die Qualität der Prozesse muss durch regelmäßige Reviews und Auswertungen von Logs gesichert und stetig verbessert werden. Ebenso ist eine aktive Benachrichtigungsfunktion für Process Owner von Vorteil, die sie regelmäßig über die Ausführungsergebnisse informiert.
Um auch Prozesse zu automatisieren, in deren Verlauf Entscheidungen getroffen werden müssen, sollte eine RPA-Plattform einfache Möglichkeiten bieten, KI-Services in die Prozesse zu integrieren. Mit diesen Erweiterungen ist es dann zum Beispiel möglich, eingehende E-Mails automatisch zu klassifizieren und basierend auf dem Inhalt automatisch an eine bestimmte Abteilung weiterzuleiten oder direkt durch den Softwareroboter bearbeiten zu lassen. Eine der führenden Plattformen im RPA-Umfeld ist UiPath. Diese Plattform wird im Rahmen dieses Artikels noch näher beleuchtet werden.
## Die Identifikation RPA-geeigneter Prozesse
Robotic Process Automation lässt sich in nahezu jeder Branche und jedem Unternehmensbereich einsetzen. Hierzu zählt sowohl die Unterstützung bei der Durchführung klassischer HR-Prozesse, wie etwa der Mitarbeiterrekrutierung, als auch der Einsatz in herkömmlichen IT-Prozessen, wie beispielsweise dem Software-Deployment oder in Konfigurationsszenarien. Die Identifikation der Prozesse beginnt oftmals mit dem sogenannten Process Mining. Hierbei werden Teilprozesse über verschiedene Systeme und Tools zu Prozessketten zusammengesetzt, um Transparenz über den gesamten Ablauf zu erhalten.
Jedoch ist nicht unbedingt jeder Prozess für die Automatisierung mittels RPA geeignet. Es gibt einige Attribute, anhand derer entschieden werden kann, wie sinnvoll und wirtschaftlich eine Automation tatsächlich ist. Zunächst sollte es sich um Prozesse handeln, die sich durch ein hohes Ausführungsvolumen auszeichnen. Eine Tätigkeit, die einmal im Jahr von einem Mitarbeiter oder einer Mitarbeiterin verrichtet wird, lässt sich in der Regel nicht wirtschaftlich und sinnvoll automatisieren.
Gleiches gilt für Prozesse mit einer hohen Varianz in der Durchführung oder häufigen Änderungen im Prozessfluss selbst. Fehleranfällige und schlecht oder gar nicht dokumentierte Prozesse sollten zunächst einer Lean-Process-Transformation unterzogen werden, bevor sie mittels RPA automatisiert werden; sie eignen sich nicht unbedingt als Testballon. Denn der Einsatz von RPA kann Fehler im Prozess nicht kompensieren und führt in solchen Fällen automatisch zu schlechten Ergebnissen. Folgt der Prozess einem klaren und vor allem standardisierten Regelwerk, ist er meist RPA-Kompatibel. Eine weitere Grundvoraussetzung für die Prozessautomatisierung mit RPA ist, dass die zu verarbeitenden Daten in einem maschinenlesbaren Format wie etwa Excel, Word oder PDF vorliegen in jedem Fall müssen sie aber digital sein. Liegen Dokumente in Papierform vor, ist es zunächst erforderlich, sie zu digitalisieren.
Hierfür kann es unter Umständen notwendig sein, zusätzliche Technologien wie etwa Optical Character Recognition (OCR) oder AI einzusetzen, um die Informationen so aufzubereiten, dass sie sich im automatisierten Prozess verwenden lassen. Grade für das Erlernen des Umgangs mit RPA ist es wichtig, am Anfang Prozesse für die Automatisierung zu wählen, die möglichst viele Grundvoraussetzungen erfüllen. Ein Hilfsmittel für die Auswahl kann die in **Abbildung 1** dargestellte Kompatibilitätsmatrix sein.
[![Abb. 1: Unterstützungsmatrix für die Identifikation RPA-geeigneter Prozesse](../../_resources/gerndt_rpa2_1_2657ca4b78914d7aa90c50043490f610.png)](https://entwickler.de/wp-content/uploads/2019/11/gerndt_rpa2_1.png)
Abb. 1: Unterstützungsmatrix für die Identifikation RPA-geeigneter Prozesse
Die verschiedenen Prozessmerkmale wie etwa Fehleranfälligkeit, Häufigkeit der Änderungen oder die mit dem Prozess verbundene Höhe des Durchführungsaufwands werden nach einem Punktesystem bewertet. Drei Punkte bedeuten, dass das Kriterium bestmöglich erfüllt ist, ein Punkt deutet auf Anpassungsbedarf hin. Im direkten Vergleich schneidet Prozess B etwas besser ab als Prozess A und wäre somit ein geeigneterer Kandidat für den Einsatz von RPA. Prozess A hingegen müsste nochmal etwas detaillierter betrachtet werden und könnte aufgrund der hohen Änderungshäufigkeit am Prozess für die erste Automatisierungsphase gänzlich ausscheiden.
Da der Prozess sich aber durch einen hohen manuellen Aufwand mit stark wiederholbaren Tätigkeiten auszeichnet, kann es durchaus sinnvoll sein, diesen zu einem späteren Zeitpunkt erneut zu betrachten und die Ursache für die häufigen Prozessänderungen detaillierter zu untersuchen. Das Aufstellen einer Wirtschaftlichkeitsbetrachtung mit der Gegenüberstellung des einzusparenden Full Time Equivalent (FTE) und der Kosten, die für die Wartung und Prozessanpassungen anfallen, kann bei der Entscheidung, ob die Automatisierung lohnend ist oder nicht, helfen.
## Einführung in die UiPath-Plattform
Bei der UiPath-Plattform handelt es sich um eine der führenden Softwarelösungen für die Implementierung von Robotic Process Automation, die sich perfekt in eine bestehende Systemlandschaft integrieren lässt. Im Vergleich zu anderen am Markt verfügbaren Produkten werden sowohl die Frontoffice- als auch Backofficeautomatisierung unterstützt. Einen weiteren Trumpf kann UiPath bei der Automation von Prozessen in virtuellen Umgebungen wie etwa Citrix ausspielen. Hierbei besteht die Herausforderungen vor allem darin, dass der Citrix-Virtualisierungsserver nur Screenshots der laufenden Live-Anwendungen an die Clients übermittelt. Das Ansprechen einzelner Elemente wie etwa einem Eingabefeld oder Button, ist deshalb eigentlich nicht möglich. UiPath nutzt zur Lösung dieses Problems eine leistungsstarke Computer Vision Engine. Das ist ein Bildverarbeitungsalgorithmus, der in der Lage ist, innerhalb weniger Millisekunden Elemente auf Bildern zu identifizieren und zu bedienen.
Die UiPath-Plattform besteht im Wesentlichen aus drei Komponenten: dem UiPath Studio, dem Orchestrator, sowie dem Roboter. Bei UiPath Studio handelt es sich um ein leistungsstarkes Werkzeug für die Entwicklung von Workflows. Mit der Desktopapplikation können Prozesse mittels vordefinierter Aktionen relativ einfach dank Drag-and-Drop-Funktionalität zusammengeklickt werden. Der große Vorteil eines grafischen Editors im Vergleich zu einer reinen Programmierumgebung besteht darin, dass der Prozess direkt in visueller Form vorliegt und somit einfacher verstanden werden kann. Vorgefertigte Elemente existieren für nahezu alle Standardbenutzerinteraktionen wie etwa einen einfachen Klick, Doppelklick, Copy/Paste und Dateisystemoperationen (**Abb. 2**).
[![Abb. 2: Oberfläche von UiPath Studio](../../_resources/gerndt_rpa2_2_33f43ad8298249b7ae15cc1106e64828.png)](https://entwickler.de/wp-content/uploads/2019/11/gerndt_rpa2_2.png)
Abb. 2: Oberfläche von UiPath Studio
Darüber hinaus werden applikationsspezifische Automatisierungsaktionen angeboten, die vor allem bei der SAP- und Office-Automatisierung eine erhebliche Erleichterung darstellen können. Ist es in einem Prozess beispielsweise erforderlich, ein Worddokument zu editieren, kann das in zwei unterschiedliche Varianten passieren. Die klassische Vorgehensweise orientiert sich am Vorgehen des Benutzers. Der würde zunächst die Word-Applikation öffnen, um anschließend an einem Dokument zu arbeiten. Somit wäre es durchaus legitim, diese Aktionen in einer Oberflächenautomatisierung abzubilden. Eine valide Alternative stellen jedoch die Word-spezifischen Automatisierungsaktionen dar. Sie können für den XML-basierten Standard angewendet werden und sind in der Lage, ein Dokument zu bearbeiten, ohne dass ein Öffnen der Word-Applikation erforderlich ist.
Diese Vorgehensweise bietet mehrere Vorteile; zunächst einmal ist eine Installation von Office bzw. Microsoft Word auf dem Client nicht erforderlich, es wird auch keine Lizenz benötigt. Zudem funktioniert die direkte Bearbeitung wesentlich schneller als die Bearbeitung über die Oberfläche. Vor allem in Szenarien mit einem hohen Volumen an zu bearbeitenden Dokumenten kann sich der Zeitvorteil deutlich bemerkbar machen. Die einzelnen Aktionen bieten eine Vielzahl von Einstellungsmöglichkeiten. So lassen sich zum Beispiel Timeouts, die Anzahl der Wiederholungen im Fehlerfall oder gar das Verhalten im Fehlerfall detailliert konfigurieren. Bestimmte Aktionen erlauben zusätzlich die Evaluierung von VB.NET-Code, was für immense Flexibilität sorgt.
Eine noch schnellere und einfachere Möglichkeit des Prozessdesigns bieten die verschiedenen Recorder für Desktop-, Web- und Citrix-Applikationen. Wird die Aufnahmefunktion gestartet, so läuft sie im Hintergrund und zeichnet die ausgeführten Einzelaktionen auf. Im Ergebnis erstellt die Software einen Flow, bestehend aus Einzelaktionen, die sich anschließend weiterbearbeiten lassen. Die Recorder-Funktionen für Desktop und Web sind sowohl hinsichtlich der Funktion als auch der Bedienbarkeit ähnlich. Der Desktop-Recorder eignet sich hervorragend für das Aufzeichnen von Aktionen in einer Desktopapplikation. Mit dem Web-Recorder wird die Aufzeichnung von Aktionen in einem Web-Browser ermöglicht. Für übergreifende Aktionen lässt sich der sogenannte Basic-Recorder verwenden, der jedoch nicht so performant ist wie die spezialisierten Recorder-Typen.
Für die Aufzeichnung einer Prozessabfolge in einer virtuellen Umgebung, wie zum Beispiel Citrix, bietet sich der Citrix-Recorder an. Der ist äquivalent zum Desktop-Recorder jedoch für die Verwendung in virtuellen Umgebungen optimiert. Das Herzstück der UiPath-Plattform stellt der Orchestrator dar. Hierbei handelt es sich um eine Webanwendung zur Orchestrierung der Roboter. Sie lässt sich entweder klassisch On-Premises installieren oder als Cloud-Service nutzen. Die Orchestrator-Komponente erlaubt die zentrale Erstellung, Überwachung und Bereitstellung von Ressourcen in der Umgebung.
Nach der Entwicklung eines Prozesses mit UiPath Studio wird er auf den Orchestrator deployt. Im Fall einer Entwicklungsumgebung kann die Bereitstellung unmittelbar vom Studio auf den Orchestrator erfolgen. Üblicherweise erfolgt die Auslieferung des Prozesses jedoch paketiert. Die Orchestrierungskomponente hält bei Bedarf verschiedene Versionen eines Prozesses vor, sodass im Fall eines Prozessfehlers jederzeit ein Rollback auf eine frühere Version durchgeführt werden kann.
Neben den Prozessen werden im Orchestrator auch die einzelnen Roboter verwaltet. Das schließt neben dem Hinzufügen neuer Roboter auch die Konfiguration bereits bestehender ein. Es liegt somit in der Verantwortung des Orchestrators, Prozesse an einen Roboter zu delegieren, der in der Lage ist, den eingereihten Prozess abzuarbeiten, und gerade Leerlauf hat. Für den Fall, dass alle Roboter ausgelastet sind, werden die Bearbeitungsanfragen in eine Queue eingereiht und zu einem späteren Zeitpunkt bearbeitet. Zwischen Roboter und Orchestrator erfolgt ein kontinuierlicher bidirektionaler Austausch. Informationen zum Fortschritt bei der Abarbeitung eines Prozesses oder auftretende Fehler werden somit jederzeit an den UiPath Orchestrator übermittelt und sind von dort aus einsehbar.
Das letzte und eigentlich wichtigste Glied in der Kette ist der Roboter. Im Fall von UiPath können Roboter entweder im Hintergrund (unattended) oder als persönlicher Assistent des Benutzers (attended) laufen. In beiden Fällen handelt es sich jedoch technisch gesehen um einen Windows-Service, der entweder direkt in der Umgebung installiert oder zentral, beispielsweise mittels System Center Configuration Manager (SCCM), bereitgestellt werden kann. Der Roboter ist für die eigentliche Abarbeitung der Prozessanfragen zuständig und erhält seine Arbeitsaufgaben durch den Orchestrator. Die UiPath-Plattform kann sowohl als Enterprise- als auch [als kostenfreie Community-Variante](https://www.uipath.com/platform-trial) bezogen werden. Die Community Edition unterliegt zwar einigen Einschränkungen, eignet sich aber bestens für einen schnellen Einstieg in die Welt der Robotic Process Automation.
## Beispielprojekt
Die Implementierung eines RPA-Projekts startet üblicherweise mit der Umsetzung eines Proofs of Concept (PoC). In dieser Projektphase wird die prinzipielle Machbarkeit des Vorhabens geprüft. In Softwareentwicklungsprojekten liegt ein hohes Risiko häufig in der Einbindung von Drittsystemen über Schnittstellen. Diese Systeme, auf die der Entwickler in der Regel keinen unmittelbaren Einfluss hat, können beispielsweise langsam oder unvorhersehbar reagieren.
Ähnlich ist es auch bei der Durchführung eines Automatisierungsprojekts mittels RPA. Nicht jede Oberfläche lässt sich auf Anhieb perfekt mittels Oberflächenautomation bedienen. Im Fall eines Medienbruchs, ist es vielleicht erforderlich, auf OCR-Technologie zurückzugreifen. Diese kann jedoch auch schnell an ihre Grenzen stoßen und es mag erforderlich sein, die Bildqualität in einem zusätzlichen Workflowschritt zu erhöhen. All diese Unsicherheiten sollten im Rahmen eines Proofs of Concept geklärt werden.
Ein häufiger und verhältnismäßig einfacher Anwendungsfall für den Einsatz von RPA ist der automatisierte Datenabruf von Informationen aus einem Drittsystem oder einer Website. Im nachfolgend dargestellten Beispiel soll der aktuelle Preis der Amazon-Aktie aus einer Website ausgelesen und in einer Excel-Liste gespeichert werden. Kommt es beim Übertragen der Informationen zu einem Fehler, ist es erforderlich, den Process Owner mit einer E-Mail über das Problem zu informieren. In dem hier dargestellten Beispiel gehen wir davon aus, dass Prozessaufnahme und -analyse bereits stattgefunden haben und die notwendigen Dokumente, wie etwa ein Prozess Design Dokument (PDD), bereits erstellt wurden. Der vereinfacht dargestellte Process Flow könnte wie in **Abbildung 3** dargestellt aussehen.
[<img width="568" height="374" src="../../_resources/gerndt_rpa2_3_0631abace6d54d6da62bd0991443e8b8.png"/>](https://entwickler.de/wp-content/uploads/2019/11/gerndt_rpa2_3.png)
Abb. 3: Vereinfachte Process-Flow-Darstellung
Um mit der Entwicklung eines neuen Automatisierungsprojekts zu starten, muss zunächst ein neues Prozessprojekt erstellt werden. Das geschieht bequem über die Oberfläche der UiPath-Studio-Software. Da die nachfolgenden Schritte nämlich der Seitenaufruf, die Suche nach dem Aktienkurs, sowie das Extrahieren der Informationen im Webbrowser stattfinden, bietet es sich an, den Web-Recorder für das Aufzeichnen des ersten Teilprozesses zu verwenden (**Abb. 4**).
[![Abb. 4: Verwenden des Web-Recorders](../../_resources/gerndt_rpa2_4_127ce5ccef1141ccaa42778034bf0dd5.png)](https://entwickler.de/wp-content/uploads/2019/11/gerndt_rpa2_4.png)
Abb. 4: Verwenden des Web-Recorders
Der Web-Recorder lässt sich intuitiv bedienen. Die Aufzeichnung wird durch einen Klick auf den RECORD-Button gestartet und durch Drücken der Escape-Taste beendet. Alle im Browser ausgeführten Aktionen, wie etwa Seitennavigation, Einfügen oder Kopieren von Text etc., werden während der Aufnahme aufgezeichnet. Diese Funktion ist standardmäßig für den Internet Explorer verfügbar. Für Aufzeichnungen von Prozessen mittels anderer Browser ist es zunächst erforderlich, das entsprechende Plug-in über den Menüpunkt TOOLS in UiPath Studio zu installieren. Plug-ins stehen für folgende Browser zur Verfügung:
[![Abb. 5: Generierte Prozessdarstellung](../../_resources/gerndt_rpa2_5_17d3911ebe6749bba6e5826bfa3f8c40.png)](https://entwickler.de/wp-content/uploads/2019/11/gerndt_rpa2_5.png)
Abb. 5: Generierte Prozessdarstellung
- Google Chrome
- Mozilla Firefox
- Microsoft Edge
Nach der Beendigung der Aufzeichnung generiert UiPath Studio automatisch eine Prozessdarstellung, basierend auf den ausgeführten Einzelaktionen (**Abb. 5**).
Beim Abspielen des Prozesses dürfte sich jedoch Ernüchterung einstellen und zugleich eine Schwäche des Web-Recorders zeigen. Verfügt ein Webelement über eine generierte oder gar keine ID, so ist eine Identifikation des Elements für den Softwareroboter zu einem späteren Zeitpunkt nicht mehr ohne weiteres möglich. Die fehlerhafte Prozessaktion lässt sich am einfachsten beim Debugging des Prozesses ausfindig machen. Um die Abläufe möglichst einfach nachvollziehen zu können, sollte die Option Highlight Elements aktiviert sein. Sie sorgt dafür, dass die abgearbeiteten Prozessschritte farblich hervorgehoben werden.
Zudem bietet das Debugging ein ausführliches Log an, aus dem sich zusätzliche Informationen für das Auffinden eines Fehlers heranziehen lassen. Im Fall der automatisch generierten Selektoren ist es erforderlich, sie zu analysieren und manuell nachzubearbeiten. Generierte Identifier setzen sich häufig aus einer statischen und einer generierten Zeichenfolge zusammen. In diesem Szenario könnte die Lösung darin liegen, eine Wildcard wie etwa * zu verwenden, um eine eindeutige Identifizierung des Elements zu ermöglichen. Lassen sich die Werte korrekt auslesen, ist es im nächsten Schritt erforderlich, sie in einer Variablen abzuspeichern.
UiPath Studio bietet neben einigen speziellen Datentypen Zugriff auf sämtliche Typen des .NET Frameworks. In dem hier aufgezeigten Beispiel sollen die Werte lediglich als Text in eine Excel-Datei übernommen werden. Eine Konvertierung ist daher nicht notwendig. Aus diesem Grund fällt die Wahl auf den UiPath-spezifischen Typ *UIPath.Core.GenericValue*. Dieser Variablentyp kann sowohl Text als auch numerische Werte, Datumswerte und Arrays abspeichern. Damit die Einzelwerte zu einem Excel-Dokument hinzugefügt werden können, müssen sie zunächst in ein *DataTable*-Objekt überführt werden.
Für einen einfachen Umgang mit *DataTable* stellt UiPath Studio verschiedene Aktivitäten bereit, mit denen sich sowohl die Struktur über einen grafischen Editor festlegen lässt als auch ein Hinzufügen von neuen Data Rows ermöglicht wird. Auch für den Umgang mit Excel-Dokumenten steht eine Vielzahl von Elementen bereit. Sie werden in der Regel innerhalb eines Excel Application Scopes platziert, mit dem die Zieldatei festgelegt wird. Alle im Scope platzierten Aktivitäten wie das Hinzufügen einer neuen Zeile mit den erfassten Aktiendaten und das Speichern des Workbooks, beziehen sich auf das zuvor festgelegte Excel-Dokument.
[![Abb. 6: UiPath Robot](../../_resources/gerndt_rpa2_6_6ab3d6ad6f33477bb1cde52b2dd71e3b.png)](https://entwickler.de/wp-content/uploads/2019/11/gerndt_rpa2_6.png)
Abb. 6: UiPath Robot
Die einfachste Variante des Deployments ist die Bereitstellung auf dem lokalen UiPath-Softwareroboter. Dieser wird standardmäßig mit dem Studio installiert. Die Bereitstellung erfolgt über den Publizierungsdialog. Der Softwareroboter ermittelt in der Standardkonfiguration alle unter dem Dateipfad *C:\\ProgramData\\UiPath\\Packages* publizierten Prozessdefinitionen und zeigt diese zur Ausführung an. Um die Konfiguration und die bereitgestellten Prozesse einzusehen, muss er über das System Tray geöffnet werden (**Abb. 6**). Über den UiPath-Robot-Dialog lässt sich der Prozess auch lokal ausführen.
Mit ein wenig Übung lässt sich das hier geschilderte Beispielszenario innerhalb weniger Minuten konfigurieren. Auch wenn es sich natürlich nur um einen Prototyp handelt und wichtigen Aspekten wie etwa der Fehlerbehandlung keine nennenswerte Beachtung geschenkt wurde, ist es dennoch schwierig, mittels herkömmlicher Softwareentwicklung ein ähnliches Ergebnis innerhalb so kurzer Zeit zu erzielen.
## Fazit
Die Potenziale für den Einsatz von Robotic Process Automation im Unternehmen sind immens. Angefangen bei massiven Kosteneinsparungen und Produktivitätssteigerungen über höhere Mitarbeiterzufriedenheit bis hin zu verbesserten Prozessen und einem Abfedern des Fachkräftemangels. Das Einführen von RPA ist jedoch nicht mit der Installation einer Automatisierungsplattform und der blinden Umsetzung von Prozessen getan. Ein wichtiges Erfolgskriterium neben der Auswahl einer geeigneten Plattform ist die Automatisierungsstrategie. Fehlt die Strategie, wird das nicht zwangsläufig zum Scheitern des ersten Projekts führen; mittelfristig benötigt die Automatisierung aber eine klare Leitlinie. Denn üblicherweise unterliegen sowohl Prozesse als auch Applikationen einem stetigen Wandel. Veränderungen in der Prozess- oder Applikationslandschaft sowie Auswirkungen auf bereits automatisierte Prozesse sollten in regelmäßigen Governance-Meetings unter der Führung eines Automationsteams diskutiert werden.
Um Akzeptanz für Robotic Process Automation zu schaffen, ist es notwendig, sowohl die IT-Abteilung als auch die Mitarbeiter frühzeitig zu involvieren. Auch die Auswahl des ersten Prozesses für die Automatisierung kann ausschlaggebend für die Akzeptanz sein. Handelt es sich um einen gut sichtbaren Prozess, der Mitarbeiter von lästigen Tätigkeiten entbindet, wird der Einsatz der Technologie womöglich wohlwollend begrüßt. Für die Identifikation geeigneter Prozesse empfiehlt es sich, einen Kriterienkatalog festzulegen, der dabei helfen kann, zu eruieren, ob ein Prozess für die Automation mittels RPA geeignet ist. In der Praxis trifft das nur auf ca. 20 bis 30 Prozent aller eingereichten Automatisierungsideen zu. Die Umsetzung identifizierter Prozesse funktioniert mit einer RPA-Plattform wie UiPath dank Drag and Drop und vieler vorgefertigter Aktionen innerhalb kürzester Zeit. Aufgrund der kurzen Implementierungsdauer lassen sich so auch Prozesse automatisieren, für die sich eine Umsetzung mittels herkömmlicher Softwareentwicklung nicht lohnt.
### Windows Developer
![Windows Developer](../../_resources/windows_developer_180px_a755334dfe064b438adf2ec356.jpg)Dieser Artikel ist im [Windows Developer](https://kiosk.entwickler.de/windows-developer-magazin/ "Windows Developer") erschienen. Windows Developer informiert umfassend und herstellerneutral über neue Trends und Möglichkeiten der Software- und Systementwicklung rund um Microsoft-Technologien.
Natürlich können Sie den Windows Developer über den [entwickler.kiosk](https://kiosk.entwickler.de/ "entwickler.kiosk") auch digital im Browser oder auf Ihren Android- und iOS-Devices lesen. Außerdem ist der Windows Developer weiterhin als Print-Magazin im [Abonnement](https://kiosk.entwickler.de/product/kiosk/windows-developer-print-abo/ "Windows Developer Abonnement") erhältlich.
@@ -1,91 +0,0 @@
---
title: Root Cause Analysis Example
source: https://www.shmula.com/root-cause-analysis/172/
tags:
- Methoden/Ursachenanalyse
---
Many years ago, Aristotle provided us with a helpful way of seeing problems and in dealing with them:
>
> _Since everything that is in motion must be moved by something, let us suppose there is a thing in motion which was moved by something else in motion, and that by something else, and so on. But this series cannot go on to infinity, so there must be some first mover._ Aristotle, Physics
In a series of events, where people are involved, mistakes happen. Functional areas such software engineering, industrial engineering or more general areas such as medicine, law, or sociology — these areas are composed by a series of events, involving people, process, machines, environment, and other items. Undoubtedly, mistakes will happen.
What typically happens in response to mistakes is that [blame is thrown around](https://www.shmula.com/raising-dust-vision-and-business-problems/440/ "sometimes we cause problems and then we complain we have problems"), which builds resistance, then communication fails which could lead to project failure. The better approach is to identify the root causes of mistakes and attacking that, instead of what might be perceived as the cause: Perceived causes are most likely symptoms and not the root cause, in which case the problem was never really solved.
Jeff Bezos understand the concept of root cause analysis. In this example, [Jeff Bezos does root cause analysis](https://www.shmula.com/jeff-bezos-5-why-exercise-root-cause-analysis-cause-and-effect-ishikawa-lean-thinking-six-sigma/987/ "jeff bezos performs root cause analysis") in a profoundly simple way.
Ohno was fond of using the following example to illustrate Root Cause Analysis:
> 1. **“Why did the robot stop?”**
> The circuit has overloaded, causing a fuse to blow.
> 2\. **“Why is the circuit overloaded?”**
> There was insufficient lubrication on the bearings, so they locked up.
> 3\. **“Why was there insufficient lubrication on the bearings?”**
> The oil pump on the robot is not circulating sufficient oil.
> 4\. **“Why is the pump not circulating sufficient oil?”**
> The pump intake is clogged with metal shavings.
> 5\. **“Why is the intake clogged with metal shavings?”**
> Because there is no filter on the pump.
This, more rigorous and long-lasting, approach to solving problems is called Root Cause Analysis. There are several tools that can aid in the process of Root Cause Analysis. One common tool developed by Toyota is called “5-whys”. Basically, it is a simple approach of asking “why” several times until you arrive at an _atomic but actionable_ item. To visually view the process of the “5-whys”, a tool called an (Ishikawa Diagram) or a (Cause-and-Effect Diagram) or a (Fishbone Diagram) is often helpful — this tool is referred by either of these.
![an example of fishbone diagram](https://www.shmula.com/wp-content/uploads/2006/08/fishbone-example.jpg "fishbone example")
## **Main Components of an Ishikawa Diagram**
1. At the head of the Fishbone is the defect or effect, stated in the form of a question.
2. The major bones are the capstones, or main groupings of causes.
3. The minor bones are detailed items under each capstone.
4. There are common capstones, but they may or may not apply to your specific problem. The common ones are:
> * People
> * Equipment
> * Material
> * Information
> * Methods/Procedures
> * Measurement
> * Environment
After completing your Fishbone Diagram excercise as a group, it is helpful to test your logic by working the bones: top-down OR bottom-up like:
> this happens because of g; g happens because of f; f happens because of e; e happens because of d; d happens because of c; c happens because of b; b happens because of a.
The excercise above is crucially important — you must test your logic so that it makes pragmatic sense and that the atomic root cause is actionable — that is, you can do something to correct it, reduce it, or eliminate the root cause.
Once you or your team arrive at a root cause for a specific capstone, then you typically “cloud” it to identify it as a root cause. A good rule is that there is typically \*NOT\* 1 root cause for a problem, but potentially several. Below is a diagram of one fishbone, decomposed:
![5 whys on fishbone](https://www.shmula.com/wp-content/uploads/2006/08/fishbone-image.jpg "fishbone image")
## **Fishbone Diagram: A Few Helpful Hints**
1. It is helpful to pull many people into the construction of these diagrams, as this ensures enough diversity of thought to make sure you get the righ potential root causes.
2. Keep asking “why” until you arrive at something atomic and actionable.
3. The purpose of this tool is to answer a question, then brainstorm about how to fix the identified root cause.
4. Getting more people involved will give them a sense of ownership — and that sense of ownership is very important because now that they feel part of the process, resistance to change will likely be less of a problem.
## **Real-World Example of Root Cause Analysis**
I once helped a large healthcare organization save several million dollars. This organization had the largest call center in California, handling over 8 million calls per year. These were mostly inbound calls, resulting from some internal mistake that caused people to call. My job was to identify the largest opportunity (call type), why are people calling, and eliminating or reducing the root causes.
After pulling log file data and running this enormous data set against my handy-dandy, home-grown regular expression engine (**written in Python**), we stratified the data into logical stratifications and identified that the largest number of calls into the call center were calls related to a specific product. This discovery naturally begs the question “why” — i.e., this question forms the head of our fishbone: **“Why are x% of calls related to x product type?”**
We got a cross-functional team together and proceeded with the Ishikawa excercise and identified several root causes. After running the root causes against a prioritization matrix, we went after the low hanging fruit, then the more difficult root causes after that. The result? We demonstrated a quantifiable reduction of inbound calls of this specific type — a reduction of ~8%, which amounted to over $2 Million Dollars in cost savings.
## Facts Versus Data
Ohno seems to see a difference in the two.  In his words,
> “The root cause of any problem is the key to a lasting solution,” Ohno used to say.  He constantly emphasized the importance of [_genchi genbutsu_](https://www.shmula.com/genchi-genbutsu-go-and-see-part-1/2896/ "genchi genbutsu"), or going to the source, and clarifying the problem with ones own eyes. “‘Data is of course important in manufacturing,” he often remarked, “but I place greatest emphasis on facts.’”
I believe what he means is that data, is a degree removed from the actual place where the phenomena is happening.  He placed a greater value on being where the work is done and where value is added.  Whereas data is often on a computer screen or on paper.  He preferred to be at the source of the phenomena.
Root Cause Analysis can be used anywhere. In software engineering, it can be used to identify the root causes of bugs in code; in industrial engineering, root cause analysis can be used to identify defects in design; in medicine, root cause analysis can be used to arrive at the reasons for mistakes or lack of patient satisfaction.
Root Cause Analysis is a helpful business tool with application to all areas of business and technology. Eliminating or reducing the root cause is much more effective than fixing a symptom. Involving people in the process will ensure buy-in and the elimination of resistance.
## Creating an Improvement Culture
Ohno believed that by empowering each associate to have ownership and improve their work and the [Gemba](https://www.shmula.com/genchi-genbutsu-go-and-see-part-1/2896/), that is how innovation is achieved and a culture of improvement is created — it is empowering your people to make the right changes using the tools that work — Root Cause Analysis is one of the tools that can help empower your employees and help to create a culture of improvement throughout your enterprise.  One item missed by most people is that Toyota doesnt just build cars, but it also builds people.  Root Cause Analysis is an effective tool that helps associates feel empowered to make their everyday work better.
@@ -1,73 +0,0 @@
---
title: "Sichere Browser: Hacker erklärt, welcher der beste ist"
source: https://www.vice.com/de/article/j5zm5b/hacker-erklaert-sichere-browser-chrome-firefox-safrai-edge-tor
---
## [Sichere Browser: Hacker erklärt, welcher der beste ist](https://www.vice.com/de/article/j5zm5b/hacker-erklaert-sichere-browser-chrome-firefox-safrai-edge-tor)
#### [Hacker erklärt](https://www.vice.com/de/topic/hacker-erklart)
Mit diesen Tipps von Hackerinnen und Hackern holst du alles aus deinen Geräten raus
Ist Firefox wirklich sicherer als der Internet Explorer? Sollte man lieber mit [Chrome](https://www.vice.com/de/article/vbqpa9/acht-einstellungen-beim-chrome-browser-die-du-jetzt-aendern-solltest) oder mit Safari surfen? Und für wen lohnt sich der anonyme [Tor-Browser](https://www.vice.com/de/article/pg7mz8/hier-ist-eine-liste-aller-moglichen-darknet-seiten)? Bei der Wahl des Browsers und bei den Browser-Einstellungen können Nutzer einiges falsch machen: In Deutschland werden jedes Jahr Zehntausende Computer überfallen, wie aus dem [Lagebericht des Bundesamts für Sicherheit in der Informationstechnik](https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/Lageberichte/Lagebericht2018.pdf?__blob=publicationFile&v=5) hervorgeht. Häufig schleusen Angreifer über den Browser Schadsoftware auf die Geräte ihrer Opfer. Sie erbeuten meist unbemerkt Kreditkartennummern, Passwörter, Bank-PINs.
Der von [Google](https://www.vice.com/de/article/9k895y/google-suche-elf-profi-tricks-bessere-suchergebnisse-operatoren-maximalfunktion) entwickelte Browser Chrome ist weltweit der Marktführer. [Firefox](https://www.vice.com/de/article/d3qanv/firefox-browser-einstellungen-aendern-gegen-tracking-fuer-privatsphare-datenschutz) von Mozilla hat den Ruf, besonders [Privatsphäre](https://www.vice.com/de/article/pa95wn/osint-search-tool-tutotrial-was-steht-auf-facebook-oeffentlich-ueber-mich)-freundlich zu sein. Nutzer von Apple-Produkten sind vermutlich viel mit Safari unterwegs. Und dann gibt es da noch Edge, der vorinstallierte Browser auf Windows-Rechnern.
Fragt sich nur: Hat [irgendein Browser](https://www.vice.com/de/article/mgmnq8/warum-ich-als-chrome-fan-ausgerechnet-zu-opera-gewechselt-bin) die Nase vorn, wenn es um Sicherheit geht? Die Antwort kennt Andreas Sperber. Seit Jahren kümmert er sich darum, dass Rechner sicherer vor Angriffen werden. Angefangen hat er als White-Hat-Hacker, jemand, der aus ethischen Gründen Sicherheitslücken testet, um darüber aufzuklären. Heute berät der 35-Jährige Kunden darin, wie sie ihren Rechner besser schützen können. Im Gespräch mit Motherboard erklärt er, wie man seinen Browser auf Sicherheit trimmt und worin sich die beliebtesten Browser unterscheiden.
**Motherboard: "Sicher surfen", was heißt das eigentlich?**
**Andreas Sperber:** Das heißt, ich muss mich, wenn ich online bin, nicht darum sorgen, dass jemand meinen Rechner hackt. Das ist nicht selbstverständlich. Jemand kann ziemlich schnell Zugriff auf meinen Rechner erhalten. Es genügt, wenn eine bösartige oder gehackte Website unbemerkt Schadsoftware auf deinen Rechner lädt. Damit kann ein Angreifer dann die Daten deines Rechners auslesen oder verändern, zum Beispiel sie verschlüsseln oder Kennwörter abgreifen.
**Wenn ich das verhindern will, welchen Browser sollte ich nutzen?**
Ich empfehle meist Mozillas Firefox oder den Google Chrome. Beide Browser verwenden eine Sandboxing-Technologie. Das heißt, sie werden nur in einem bestimmten Bereich des Betriebssystems ausgeführt, der von den restlichen Bereichen abgeschottet ist. Das soll verhindern, dass Angreifer über den Browser Schaden anrichten können. Außerdem kann ich in beiden Browsern Plugins installieren, die mich besser vor Angriffen schützen.
**Welches Plugin würdest du für Browser-Sicherheit am ehesten empfehlen?**
Ich nutze das Plugin NoScript. Das verhindert zum Beispiel sogenannte Cross-Site-Scripting-Attacken, bei denen ein schädlicher Code automatisch beim Aufruf einer Website ausgeführt wird. Das hat aber auch Nachteile. Fast jede Seite verwendet heute Script-Code. Ohne Script-Code ist auf vielen beliebten Websites nichts zu sehen. Nutzer müssen also händisch Ausnahmen festlegen, das kostet Zeit. Außerdem ist NoScript eher etwas für erfahrene Nutzer.
**Gibt es auch wichtige Plugins für weniger erfahrene Nutzer? Allein für Chrome und Firefox werden jede Menge Plugins angeboten.**
Generell gilt: Nicht jedes Plugin ist gut. Auch Plugins können Schadsoftware sein. Dahinter muss nicht einmal eine böse Absicht stehen. Wenn Anbieter ein Plugin nicht aktualisieren, kann es mich angreifbar machen. Ich sollte vorher also prüfen, wer das Plugin entwickelt hat und ob ich ihm vertrauen kann. Dabei hilft der gesunde Menschenverstand. Jeder Nutzer sollte sich fragen, ob er die Browsererweiterungen wirklich braucht und ob er deren Quelle vertraut. Grundsätzlich gilt: Je weniger Add-ons desto weniger Angriffsmöglichkeiten.
> Man muss davon ausgehen, dass Software nicht fehlerfrei ist
Es reicht, wenige sehr effektive Plugins zu nutzen. Neben NoScript verwende ich das Add-On uBlock Origin. Damit werden auf Websites Tracker und Werbung blockiert. Auch über Werbung kann Schadsoftware ausgeführt werden, nämlich wenn Hacker ein Werbenetzwerk gekapert haben. Vertrauenswürdige Websites können Nutzer mit einem Klick auf den blauen Power-Button des Plugins auf eine Whitelist setzen. Das heißt, dass Werbeanzeigen dieser Website künftig nicht durch das Plugin blockiert werden. Für viele Websites sind solche Anzeigen nämlich die wichtigste Methode, um Geld zu verdienen und die Inhalte zu finanzieren.
![Screenshot: Links sieht man einen Teil der Vice-Website, rechts den Blauen Button von uBlock Origin, mit dem ihr die Seite zur Whitelist hinzufügen könnt.](../../_resources/1542281860120-image2_65a314635bea4cf6bdca7bf93ea1b.png)
**Gibt es Browser von denen ich die Finger lassen sollte?**
Ich würde niemandem raten, den Internet Explorer zu verwenden. Denn der unterstützt viele Sicherheitsmaßnahmen nicht. Angreifer könnten beim Internet Explorer zahlreiche Schwachstellen ausnutzen, um fremde Skripte auszuführen und Schadsoftware einzuschleusen. Der Browser wird inzwischen von Microsoft nicht mehr weiterentwickelt. Der Nachfolger Edge ist in vieler Hinsicht besser. Er nutzt auch eine Sandboxing-Technologie und erschwert es Angreifern so, Zugriff auf meinen Rechner zu erhalten. Auch lässt er sich mit Plugins nachrüsten.
**Warum verwendest du dann nicht den Edge-Browser?**
Ein entscheidender Nachteil ist, wie selten die Sicherheitseinstellungen von Edge aktualisiert werden. Denn Microsoft veröffentlicht nur alle [zwei bis vier Wochen Updates](https://docs.microsoft.com/de-de/microsoft-edge/deploy/microsoft-edge-faq). Bei Chrome und Firefox liegen zwischen den Aktualisierungen nur wenige Tage.
**Viele Apple-Nutzer surfen mit Safari. Ist das OK, oder sollte man lieber auf Firefox oder Chrome umsteigen?**
Safari als voreingestellter Browser der Apple-Rechner hat viele gute Eigenschaften: Er verwendet wie Firefox und Chrome eine Sandboxing-Technologie. Auch Einstellungen zu Do Not Track sind ähnlich. Doch der Code des Browsers ist im Gegensatz zu den Konkurrenten Chrome und Firefox closed source. Das bedeutet, unabhängige Sicherheitsexperten können die Sicherheit des Browsers nicht mit einer Analyse des Codes überprüfen. Hier würde ich mir mehr Offenheit wünschen. Das gilt übrigens auch für Edge.
Welcher Browser punktet wo? Da bei Chrome nur ein Teil des Programms open source ist, gibt es oben rechts nur einen grauen Smiley | Bild: Motherboard
**Was ist mit kleineren Browsern wie zum Beispiel Opera sollte ich mir das als interessierter Nutzer näher ansehen?**
Ja, diese Browser können mitunter Sinn machen. Der Firefox-Browser zieht zum Beispiel viel Arbeitsspeicher. Da hilft Opera, der weit weniger Rechenleistung benötigt. Auch bietet er ein integriertes VPN, mit dem die Privatsphäre geschützt werden kann. Diese kleinen Vorteile haben meist jedoch wenig mit Sicherheit zu tun. Hier gilt wie bei den anderen Browsern häufig auch: Entscheidend ist das Verhalten des Nutzers. Wer sich ungeschickt verhält, macht auch einen sicheren Browser angreifbar.
**Welche zwei Sicherheitseinstellungen sollte jeder Nutzer sofort ändern?**
Unbedingt sollte man die Plugins installieren, die ich vorhin erwähnt habe: NoScript und uBlock Origin. Ebenso sind regelmäßige Updates das A und O. Zusätzlich sollte man gefährliche und betrügerische Inhalte blockieren. Dafür lohnt sich ein Blick in die Einstellungen.
* * *
***Auch bei Motherboard: Waffen aus dem Onlineshop***
<img width="640" height="360" src="../../_resources/58921a321133013c75051b9c-1486026_e8cea4e613484e1c8.jpg"/>
Migrantenschreck: Waffen aus dem Onlineshop
* * *
**Als besonders sicher gilt der Tor-Browser, mit dem Nutzer auch Seiten im Darknet abrufen können. Ist der denn überhaupt alltagstauglich?**
Für Nutzer, die viel Wert auf Anonymität legen, macht der Tor-Browser Sinn. Dazu gehören Politikerinnen, Aktivisten, Rechtsanwältinnen oder Journalisten. Tor verschleiert, woher eine Anfrage stammt, weil der Browser jede Information durch ein Netzwerk aus mehreren Servern schickt, die sich untereinander nicht alle kennen. Dadurch kann es zum Beispiel nicht auf meine IP-Adresse zurückgeführt werden, wenn ich eine Website öffne. Der Browser verhindert zudem, dass Skripte ausgeführt werden und er verbietet es Drittanbietern, mich zu verfolgen. Außerdem ist das Browserfenster nicht maximiert, wenn ich Tor öffne. Denn auch die Größe meines Bildschirms können zum Beispiel Seitenbetreiber einsehen und dadurch enger eingrenzen, wer ich bin. Der Nachteil: Weil Tor alles über ein Netzwerk aus Servern schickt, ist der Browser spürbar langsamer.
**Wenn ich meinen Browser maximal sicher eingestellt habe, kann ich jede Website ansurfen?**
Man muss davon ausgehen, dass Software nicht fehlerfrei ist. So könnte es sein, dass ein Angreifer eine bislang unbekannte Schwachstelle in einem Browser entdeckt. Dagegen schützt uns auch kein Plugin. Wenn ich aber meine Sicherheitsmaßnahmen verbessert habe, würde ich einfach dem Browser vertrauen, dubiose Websites meiden und mich normal im Internet bewegen.
***Folgt*** [Nico auf Twitter](https://twitter.com/nico_schmidt?lang=en)
### Lass dir das Beste von VICE jede Woche per Mail schicken!
Indem du den VICE-Newsletter abonnierst, erklärst du dich einverstanden, elektronische Mitteilungen von VICE zu erhalten, die Werbung oder gesponserte Inhalte enthalten können.
@@ -1,25 +0,0 @@
---
title: "Software-Entwicklung: Wenn alle aneinander vorbeireden - Golem.de"
tags:
- IT/Softwareentwicklung
source: https://www.golem.de/news/software-entwicklung-aneinander-vorbeireden-2009-150711.html
---
# [Software-Entwicklung: Wenn alle aneinander vorbeireden](https://www.golem.de/news/software-entwicklung-aneinander-vorbeireden-2009-150711.html)
Die Zeiten, in denen Software quasi von einer Person allein entwickelt wurde, liegen Jahrzehnte zurück. Das Bild des einsamen Software-Entwicklers aus den 90ern, der in einem abgedunkelten Kellerraum sitzt, hin und wieder durch einen briefkastenähnlichen Schlitz oder eine Klappe mit großen Mengen warmer oder kalter Pizza, Cola, Kaffee und Chips versorgt werden muss, stimmt einfach nicht mehr.
Stellenangebote spiegeln dies wider: Gefragt sind heute auch bei Programmierern Kommunikations- und Teamfähigkeit. Innerhalb eines Teams fällt die Kommunikation dabei in der Regel leicht. Vor allem, wenn die Kolleginnen und Kollegen im Team die gleichen Aufgaben haben, über einen ähnlichen Hintergrund und Wissensstand verfügen oder gar die gleichen Programmiersprachen gut beherrschen und ihre Bibliotheken auswendig kennen. Die Teammitglieder können sich dann in ihrer eigenen Sprache unterhalten.
Schwieriger wird es schon, wenn Entwicklerteams anderer Bereiche dazukommen. Wenn etwa Frontend- mit Backend-Entwicklern zusammenarbeiten oder mit einem Datenbank-Team. Richtig schlimm kann es werden, wenn IT-Teams mit Fachabteilungen kommunizieren sollen. Dann passiert es unter Umständen, dass *"Außenstehende"* \- aus Sicht der ITler - in Unterhaltungen nur jedes zweite Wort verstehen. Und das kann nicht nur nervig sein und Zeit verschwenden, sondern ganze Projekte zum Scheitern bringen.
### Jeder Bereich hat seine eigenen Fachausdrücke
Zu Außenstehenden aus Sicht eines IT-Teams können auch schon IT-Projektkollegen gehören, die nicht der eigenen Gruppe angehören. Etwa die Kollegen, die fachliche Funktionen oder Prozesse spezifizieren: Sie wissen vielleicht nichts von Arrays oder Strings, eine Datenbank ist bei ihnen gerne mal eine *"Datei"* und eine Tabelle ist das, was auf dem Bildschirm zu sehen ist, nicht unbedingt das, was in der Datenbank liegt.
Dafür kennen sie andere Begriffe, von denen Programmierer vor einem Projekt in einer anderen Branche noch nie gehört haben. Auf dem Bau gibt es da zum Beispiel die Fluchtlinie, in der Landwirtschaft einen Schlag und beim Finanzamt den Grenzsteuersatz. Die beiden Gruppen sprechen unterschiedliche Sprachen, trotzdem müssen sie zusammenkommen und den jeweils anderen verstehen, damit aus einer fachlichen Spezifikation ein Programm wird, das die gewünschte Aufgabe erfüllt.
### Unklares mit Fantasie auffüllen
Ich bin seit vielen Jahren Software-Entwickler, mit meinem Studium zum Diplom-Informatiker habe ich fast auf den Tag genau vor 25 Jahren angefangen. Zu der Zeit studierte man noch ein paar Jahre länger, arbeitete 20 Stunden pro Woche nebenher und in den Semesterferien in Vollzeit als gut bezahlter Software-Entwickler. Ich habe also viel Praxiserfahrung und deswegen auch in Sachen Kommunikation schon so manches erlebt wie große Softwareprojekte, die sich verzögern und teurer werden als geplant oder scheitern.
Nicht immer ist mangelnde Kommunikation zwischen den Projektbeteiligten der Grund, manchmal war auch einfach die Planung schlecht oder das Projekt zu groß. Oft ist es aber schon so: Es wird aneinander vorbeigeredet, im Zweifelsfall nicht nachgefragt und unklare Stellen werden mit Fantasie aufgefüllt.
@@ -1,68 +0,0 @@
---
title: Softwarearchitekt und Softwarecraftsman - ein Widerspruch? - JAXenter
source: https://jaxenter.de/softwarearchitekt-und-softwarecraftsman-ein-widerspruch-2207
---
Softwarearchitektur beschäftigt sich damit, ein Software-System in mehrere Komponenten zu zerlegen und die Beziehungen zwischen den Komponenten zu [definieren](http://de.wikipedia.org/wiki/Softwarearchitektur). Dies ist notwendig, da ein typisches Software-System so komplex ist, dass es ohne eine solche Aufteilung nicht verständlich ist. Das Ziel ist es also, einzelne Komponenten so zu wählen, dass sie isoliert verstanden werden können. Außerdem kann durch die Softwarearchitektur die Beziehungen der Komponenten untereinander definiert und verstanden werden das “Big Picture”.
Für eine sinnvolle Architektur müssen Komponenten anhand der funktionalen Zuständigkeiten und Anforderungen strukturiert werden. Beispielsweise könnten in einer Geschäftsanwendung Komponenten für die Handhabung des Kunden oder der Aufträge identifiziert werden. Schließlich ist die Umsetzung solcher Anforderungen in einem Software-System der Grund, dass das System überhaupt implementiert wird. Eine Architektur anhand dieser Elemente erlaubt die einfache und effiziente Umsetzung der fachlichen Anforderungen. Leider wird in der Praxis oft eine Aufteilung ausschließlich anhand technischer Zuständigkeiten wie Persistenz oder GUI gewählt. Als zusätzliche Strukturierung neben der Strukturierung durch fachliche Anforderungen ist das sinnvoll nicht jedoch als Ersatz für eine fachliche Struktur.
Ebenso hat die Architektur entscheidenden Einfluss darauf, wie nicht-funktionale Anforderungen umgesetzt werden. In der Architektur werden auch rein technische Komponenten und Basistechnologien definiert also beispielsweise eine Auswahl von Frameworks oder Application Servern. Außerdem müssen die definierten fachlichen Komponenten geeignet technisch umgesetzt werden. So kann eine Komponente beispielsweise als Web-Anwendung implementiert werden. Die richtige Wahl solcher Ansätze und Technologie ist entscheidend, wenn es um nicht-funktionale Anforderungen wie Performance, Sicherheit oder Wartbarkeit geht.
Damit entsteht die Architektur also im Spannungsfeld zwischen der fachliche Domäne und der technischen Umsetzung. Schließlich wird am Ende der Erfolg der Software an der Erfüllung der Anwendungsfälle gemessen. Im Gegensatz zum Requirements Engineering geht es aber nicht darum, die Anforderungen detailliert zu beschreiben und festzulegen, sondern es werden die Grundlagen für eine konkrete Implementierung geschaffen.
Damit ist eigentlich auch klar, was ein Softwarearchitekt tut: Er definiert die Architektur und sorgt dafür, dass sie auch entsprechend umgesetzt wird. Damit ist er letztendlich dafür verantwortlich, dass die nicht-funktionalen Anforderungen eingehalten werden und natürlich auch die Umsetzung der funktionalen Anforderungen, sofern sie zuvor sinnvoll erfasst worden sind. Wegen der nicht-funktionalen Anforderungen muss er zum einen die Technologien verstehen aber auch die Domäne und die Anwendungsfälle wegen der funktionalen Anforderungen. Dieses Verständnis gilt es nun, auf den Prüfstand zu stellen.
### Unterschiedliche Interpretationen der Architektenrolle
Typischerweise wird die Rolle des Architekten unterschiedlich interpretiert und umgesetzt. Das Spektrum reicht von Architekten, die ingenieurhaft mit Modellen einen wichtigen Beitrag leisten, bis zu Architekten, die als Lead Developer mit am Code arbeiten.
#### Der Powerpoint-Architekt
Dieser Softwarearchitekt plant und entwirft die Architektur des zu entwickelnden Systems. Dazu erstellt er in frühen Phasen des Projektes Modelle, die wichtige Architektur-Entscheidungen kommunizieren. Diese Entscheidungen berücksichtigen die gegebenen funktionalen und nicht-funktionalen Anforderungen. Um dies zu tun, arbeitet der Architekt in der Regel eng mit dem Projektmanager, Product Owner oder Srcum Master zusammen. Ein wichtiges Element der Architekturentscheidungen sind deren Begründungen (englisch: rationale) \[1\]. Diese Begründungen helfen die Entscheidungen in späteren Phasen nachzuvollziehen. Der Architekt trifft diese wichtigen Entscheidungen, so dass andere Teammitglieder diesen folgen können. Die Teammitglieder können so auch von der Erfahrung und Kompetenz des Architekten profitieren.
Die beschriebene konzeptionelle Arbeit ist gerade am Anfang eines Projektes sehr wichtig. Die Arbeit eines Architekten darf aber an dieser Stelle nicht enden, deswegen auch die zugespitzte Bezeichnung Powerpoint-Architekt. Ein anderer wichtiger Punkt ist die konzeptionelle Integrität, die durch den Architekten sichergestellt werden muss. Integrität stellt aber meist am Anfang des Projektes kein großes Problem dar. Schwierig wird es erst dann, wenn sich Änderungen ergeben, die nicht zur realisierten Architektur passen. Der Architekt muss dann entscheiden, ob ein Kompromiss zugunsten eines straffen Zeitplans oder wichtigen Kundentermins akzeptable ist. Vielleicht muss aber die bestehende Architektur erweitert oder geändert werden. Das Ändern der Architektur ist in der Regel jedoch mit großen Aufwänden verbunden. Dennoch sollte der Architekt derartige Investitionen mit ihren Vor- und Nachteilen identifizieren, gegebenenfalls empfehlen und deren Umsetzung unterstützen.
Auch während der Implementierung werden Entwurfsentscheidungen getroffen. Die Summe dieser vielen kleinen Detailentscheidungen hat großen Einfluss auf die Gesamtarchitektur des Systems. Wenn der Architekt nicht eng mit den Entwicklern in dieser Zeit zusammenarbeitet, ist er hiervon ausgeschlossen und könnte keinen Einfluss nehmen. Nur durch die Enge kooperation mit den Entwicklern erhält der Architekt das notwendige Feedback, um seine Entscheidungen zu validieren. Einerseits will er sicherstellen, dass diese tatsächlich umgesetzt werden und andererseits will er erkennen, wo eventuell Anpassungen notwendig werden.
Entwurf und Implementierung sind zwei Seiten ein und derselben [Medaille](http://c2.com/cgi/wiki?ArchitectsDontCode). Ein Architekt kann nicht ohne Programmierkenntnisse über technische Details urteilen und er kann keine guten Designentscheidungen fällen, wenn er deren spätere Implikationen nicht kennt. Und umgekehrt, kann ein Entwickler keine „[gut gefertigte Software](http://manifesto.softwarecraftsmanship.org/#/de)“ ohne Kenntnisse über Design und Architektur [erstellen](http://c2.com/cgi/wiki?TheSourceCodeIsTheDesign). Architektur- und Designentscheidungen sollten somit keine Elite-Aufgaben sein, die ausschließlich vom Architekten getroffen werden. Stattdessen sollte der Architekt versuchen von den Fähigkeiten und Spezialkenntnissen aller Teammitglieder zu profitieren, in dem er diese in die Entscheidungsfindung miteinbezieht und eine moderierende Rolle innerhalb des Teams übernimmt.
\[ header = Seite 2: Der Architekt als Softwarecraftsman mit Meisterbrief \]
### Der Architekt als Softwarecraftsman mit Meisterbrief
Sich an der Implementierung zu orientieren, ist auch in anderen Bereichen ein Trend. Softwarecraftsmanship ist eine Bewegung, die das Niveau der professionellen Softwareentwicklung heben will. Die Softwareentwicklung wird in diesem Zusammenhang als anspruchsvolles Handwerk verstanden, welches lebenslanges Lernen voraussetzt. Die Idee hinter Softwarecraftsmanship wird durch guten Code, das Schaffen von Mehrwert, Expertengemeinschaften und produktive Partnerschaften [charakterisiert](http://manifesto.softwarecraftsmanship.org/#/de).
Softwarecraftsmanship stellt die Programmierfähigkeiten der Entwickler in den Mittelpunkt und distanziert sich damit vom ingenieursmäßigen Software Engineering, das durch definierte Prozesse, Inspektionen, Metriken, standardisierte Programmier- und Dokumentationsrichtlinien sowie rigorose Planung und Kontrolle geprägt ist. Sogar Tom DeMarco, berühmt für seine Beiträge zum Software Engineering, relativiert seine mehrere Jahrzehnte alten Vorstellung und räumt ein, dass Softwareentwicklung immer auch eine experimentelle Komponente hat, für die die Disziplinen des Software Engineering [nicht entscheidend sind](http://www2.computer.org/cms/Computer.org/ComputingNow/homepage/2009/0709/rW_SO_Viewpoints.pdf).
Also lohnt sich ein genauerer Blick auf die Metapher des Architekten. Sie kommt aus dem Baugewerbe, wo es ja auch Bauarbeiter gibt. Das Problem ist, dass in der Softwareentwicklung die Grenzen nicht so klar gezogen werden können wie dies scheinbar in der Baubranche möglich ist. Ein Architekt sollte in der Softwareentwicklung als Softwarecraftsman nahe am Code arbeiten. Das bedeutet nicht zwangsläufig, dass er selbst Code schreibt. Das wird aufgrund seiner endlichen Arbeitszeit nicht immer möglich sein. Entscheidend ist, dass er als eine Art Mentor des Entwicklungsteams fungiert. Sein Ziel ist es, die Fähigkeiten des Entwicklungsteams zu verbessern, um nicht als alleiniger Entscheidungsträger [zum Flaschenhals zu werden](http://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf).
Design und Architektur kommen somit von allen Entwicklern eines Teams. In agilen Teams findet die Praxis des [Collective Code Ownership](http://www.extremeprogramming.org/rules/collective.html) sogar explizit Anwendung. Das bedeutet einerseits, dass die Code-Verantwortung von allen Entwicklern getragen wird und andererseits, dass alle Entwickler das Recht haben den Code und indirekt damit auch das Design zu ändern. Selbstverständlich wird der Architekt bei wichtigen Entscheidungen einbezogen und verantwortet die technische Realisierung. Er muss aber nicht in allen Gebieten ein Spezialist sein. Hier hilft die Idee des [T-Modells](http://jaxenter.de/artikel/Gretchenfrage-20-Sind-Sie-Architekt-oder-Entwickler): Demnach sollte jede Person in einem Bereich ein Spezialist, in dem er in die Tiefe geht wie der senkrechte Strich des Buchstaben T. In den anderen Bereichen hat eine Person hingegen typischerweise nur Grundlagenwissen entsprechend dem horizontale Strichs des Ts. Nach dem T-Modell sollte ein Architekt also mindestens in einem Bereich tiefe Expertise haben, wie beispielsweise Portalentwicklung, SOA oder Persistenz, um im Team als Architekt akzeptiert zu werden. Als [Generalizing Specialist](http://www.agilemodeling.com/essays/generalizingSpecialists.htm), der aktiv sein Wissen auch außerhalb seines Spezialgebietes erweitert, kann er außerdem mit verschiedenen Experten sprechen und von ihrem Wissen profitieren.
### Wer ist ein Softwarearchitekt?
Nun findet sich “Softwarearchitekt” als Berufsbezeichnung auf sehr vielen Visitenkarten. Softwarearchitekt ist eben nicht nur eine Rolle im Projekt, sondern auch eine technische Laufbahnstufe, die Entwickler oder Berater im Laufe ihrer Karriere erreichen können.
In einem Projekt-Team geht es aber nicht um diesen Titel, sonder in erster Linie darum, die Architektur zu definieren. In diesem Kontext steht die Rolle im Vordergrund: Wenn ein Teammitglied durch Kompetenz überzeugt, wird es die Architektur im Team entscheidend beeinflussen. Der Titel kann helfen, denn dadurch kann es einfacher sein, Teammitglieder von der eigenen Kompetenz zu überzeugen und den eigenen Entscheidungen Nachdruck zu verleihen. Am Ende ist die Kompetenz aber wesentlich wichtiger. Es geht vor allem um Kenntnisse über Architekturmuster und andere Ansätze sowie deren Vor- und Nachteile. Ebenso ist die Kenntnis von Frameworks, Sprachen und anderen Technologien wie beispielsweise Datenbanken wichtig. Durch die Kenntnis der verschiedenen Ansätze kann in einem konkreten Projekt eine passende Entscheidung für oder gegen eine Technologie untermauert werden.
Diese Wahrnehmung der Rolle des Softwarearchiteten entspricht auch dem Selbstverständnis agiler Teams. Sie setzten auf Selbstorganisation. Daher findet sich in einem agilen Umfeld der Architekt sozusagen von selbst: Es ist einfach die Person, die bei anstehenden Entscheidungen am meisten involviert wird einfach aufgrund der Kompetenz. Dieses Verständnis ist deutlich anders als das klassische Rollenverständnis: Entscheidungen werden nicht erzwungen oder durchgedrückt, sondern moderiert und gemeinsam getroffen dadurch sind sie auch viel besser im Team verankert.
Dann muss allerdings auch das gesamte Team die Verantwortung für die Architektur übernehmen wobei die erfahrenen Teammitglieder sicher ein großer Teil der Verantwortung übernehmen müssen. Schließlich übernehmen sie ja auch den größeren Teil der Entscheidungen.
### Wie Architekten ausbilden?
Die Ausbildung eines Architekten muss sehr umfassend sein: Aus der definierten Rolle ergibt sich, dass Architekten zum einen eine hohe technische Kompetenz haben müssen, aber gleichzeitig auch Soft-Skills beherrschen müssen. Nur dann können sie das Wissen auch effektiv im Team einsetzen. Ebenso müssen sie einen breiten Überblick über verschiedene technologische Ansätze und Best Practices haben, um für den Einsatz der jeweiligen Technologien sinnvoll ausgestalten zu können. Am besten sollte das durch permanente Weiterbildung und Neugierde “von selber kommen”.
Solche Elemente sind mit theoretischem Unterricht vermittelbar. Hilfreich sind aber auf jeden Fall umfangreiche eigene Erfahrungen. Eine rein theoretische Ausbildung ist aber kaum sinnvoll. Denn die theoretische Ausbildung ist noch lange nicht ausreichend, um das Gelernte auch in der Praxis umzusetzen.
Das Architekten-Programm bei der adesso AG setzt daher neben einer umfangreichen theoretischen Ausbildung auch auf ein “Meisterstück”. Der angehende Architekt wird mit Hilfe eines Coaching bei der Umsetzung des Gelernten begleitet. So wird die Ausbildung auf besser auf die jeweilige Person wie auch den Kontext anzupassen. Außerdem wird vermittelt, wo der berühmte Unterschied zwischen Theorie und Praxis liegt und wie man mit ihm umgeht.
Auch hier hilft die Metapher der Software Craftsman weiter: Ein Handwerker, der zwar den Inhalt seinen Werkzeugkoffer kennt, aber keine Übung im Umgang mit seinen Werkzeugen hat, wird wenig Erfolg haben. Durch viel Übung und Erfahrung wird aus einem Lehrling ein Meister, der sein Team anleitet und unterstützt. Genau so wie ein Handwerksmeister können tatsächlich auch Software Architekten ausgebildet werden.
### Zusammenfassung
Der klassische “Powerpoint-Architekt” ist also für einige Bereiche wie die Konzeption des Big Pictures durchaus sinnvoll aber eine Orientierung an Software Craftsmanship it ebenso notwendig. Dadurch kann der Architekt die praktische Umsetzung der Architektur im Code und die Auswirkungen auf die Arbeit der Entwickler viel besser verstehen. Ebenso hilft die Metapher bei der Definition der Rolle: Als Experte und Coach ist sie durchaus mit dem Handwerksmeister vergleichbar. Ebenso kann die Ausbildung von Architekten neben der Theorie auch am praktischen Projekt erfolgen wie dies im Handwerk ja auch der Fall ist.
Software Craftsmanship und Software Architektur müssen also keine Gegensätze sein. Die beiden Ansätze können sich vielmehr hervorragend ergänzen.
*Aufmacherbild: [Closeup of tablet computer and hammer in carpenter`s tool belt](http://www.shutterstock.com/de/pic-159957014/stock-photo-closeup-of-tablet-computer-and-hammer-in-carpenter-s-tool-belt-outdoors.html?src=PVFDbg4zDeANjuquBUeVXg-1-35 "Closeup of tablet computer and hammer in carpenter`s tool belt<br />&#10; von Shutterstock / Uhrheberrecht: Tyler Olson ") von Shutterstock / Urheberrecht: Tyler Olson*
@@ -1,97 +0,0 @@
---
title: "Solarglas, Solardecken, Solarkleidung: Design für unsere Solarpunk-Zukunft!"
source: https://1e9.community/t/solarglas-solardecken-solarkleidung-design-fuer-unsere-solarpunk-zukunft/18281
tags:
- Gesellschaft/Photovoltaik
---
![](20bde8e790f3e80c3a094e47d756f4bd_d8c0a12e248f4f97b.jpeg)
**Das Science-Fiction-Genre Solarpunk zeichnet Zukünfte, in denen Menschen im Einklang mit der Natur leben auch mit Hilfe grüner Technologien, die heute schon existieren. Forscher und Designer arbeiten daran, vor allem Solarenergie stärker in unserem Alltag zu verankern, uns immer und überall Strom erzeugen zu lassen und Gebrauchsgegenstände nicht mehr als Wegwerfprodukte zu denken.**
*Von Michael Förtsch*
Bis vor wenigen Jahren war [Solarpunk 127](https://1e9.community/t/fridays-for-future-treffen-science-fiction-was-ist-eigentlich-solarpunk/1021) noch ein ziemlich obskures Science-Fiction-Genre. Es war ein Gegengewicht zu Cyber- und Steampunk, das nicht von kaputten Welten erzählt, sondern eher vom Gegenteil. In den Erzählungen des Genres ist es der Menschheit gelungen, im Einklang mit der Umwelt zu leben oder zumindest den Weg dahin zu beschreiten. Und das mithilfe sauberer Technologien wie Solar- und Windkraft, Wasserspeichern, nachhaltigen Batteriekonzepten, Hydroponik und Kreislaufwirtschaften, die das Wegwerfen in vielen Fällen unnötig machen. Die Gesellschaften in den Solarpunk-Erzählungen sind nicht perfekt, sie haben ihre Probleme und Herausforderungen sonst wären diese Geschichten kaum unterhaltsam , aber sie skizzieren vielfach einen erstrebenswerten und durchaus glaubwürdigen Rahmen für eine bessere Welt. Aus diesem Grund hat sich Solarpunk inzwischen zu einer Bewegung entwickelt, die über die Science Fiction hinausgeht.
Viele Menschen wollen eine Gesellschaft und Kultur nach dem Vorbild der fiktiven Ökowelten vorantreiben. Sie wollen Solarpunk-Zivilisationen ermöglichen und ein Solarpunk-Leben leben; ein futuristisches aber nachhaltiges Dasein im Einklang mit der Natur, nicht dagegen. [Selbst wenn sie dafür klein anfangen müssen 35](https://1e9.community/t/solarzellen-gartenbau-und-hacking-so-einfach-geht-solarpunk/2272): mit einer Solaranlage auf dem Balkon, einer Rad- statt Autofahrt zur Arbeit oder einem kommunalen Garten, der mit der gesamten Nachbarschaft bestellt wird. Aber geht da noch mehr? Denn im Kern vieler Solarpunk-Utopien steht auch die Hoffnung auf eine radikal andere Energievision; der Traum nicht am Strom sparen zu müssen, weil wir ihn en masse auf nachhaltige Weise erzeugen können. Und zwar auch selbst, immer und überall, so dass die Gesellschaft Fortschritt und Technologie nicht dem Kampf gegen den Klimawandel opfern muss.
## Glasscheiben, die Solarstrom erzeugen
Tatsächlich forschen Wissenschaftler rund um die Welt daran, Solarzellen an bisher undenkbare Orte zu bringen und dadurch überall kleine Kraftwerke zu schaffen. Eine große Hoffnung stellt dabei sogenanntes Photovoltaikglas dar, also Glasscheiben, die wie Solarzellen elektrischen Strom erzeugen. Bereits seit 2014 arbeiten Forscher der Michigan State University mit dem Unternehmen Ubiquitous Energy an einer Methode, [mit der theoretisch jede glatte Glasoberfläche in eine Solarzelle verwandelt werden könnte 75](https://msutoday.msu.edu/news/2021/solar-glass-panels-installed). Denn die Glasscheiben lassen das für Menschen sichtbare Licht passieren, fangen aber Licht im nahen Infrarotbereich ab. Möglich wird das durch transparente Halbleiterschichten, die als ein Mikrometer dünne Schicht mit Vakuumtechnologie auf das Glas aufgezogen wird und damit 30 bis 50 Prozent des Stroms einer vergleichbar großen Photovoltaikzelle erzeugt. Eine Installation derartiger Solarscheiben wird derzeit getestet. Ab 2024 sollen sie in Serie gefertigt werden.
Eine alternative Technik wollen Schweizer Forscher der École Polytechnique Fédérale de Lausanne perfektionieren. Sie arbeiten an sogenannten Grätzel-Zellen, die durch die Reaktion des Lichts mit einem elektrochemischen Farbstoff Strom erzeugen. Bereits seit 2012 liefern mit dieser Technik ausgestattete Fenster des SwissTech Convention Center und seit 2017 auch Fenster der Copenhagen International School einen Teil der Elektrizität, die die Gebäude verbrauchen. Rund 300 Megawattstunden und damit rund die Hälfte des Stromverbrauchs soll das Schulgebäude in Kopenhagen durch die transparenten Paneele generieren. [Erst im 42](https://www.nature.com/articles/s41586-022-05460-z)[Oktober 2022 erklärten die Forscher, dass sie eine Möglichkeit gefunden haben 42](https://www.nature.com/articles/s41586-022-05460-z), die Effizienz und damit die Stromerzeugung der in verschiedenen Farben produzierbaren Scheiben drastisch zu steigern.
![](92bd28f71df84d3e92df721254ace4f4_04c5ab1f48ea499e8.jpeg)Seit 2021 wird das Solarglas der Michigan State University mit einer Installation auf dem Campus erfolgreich getestet. ©Nick Schrader
In kommenden Jahren könnten diese Technologien zahlreiche Fensterflächen vor allem in Wolkenkratzern zu massiven Energieproduzenten transformieren. Aber auch Fensterscheiben in normalen Wohngebäuden, die Abdeckungen von Werbeschildern oder auch die Scheiben in Automobilen. Noch ist der Wirkungsgrad vergleichsweise niedrig. Aber Richard Lunt, einer der Entwickler der Solarglasscheiben an der Michigan State University, ist überzeugt, dass Photovoltaikglas in Zukunft ähnlich viel zur Energiewende beitragen könnten, wie jetzt schon Photovoltaikaufbauten auf Hausdächern. „Wir haben Jahrzehnte an herkömmlichen Solarmodulen geforscht, um dahin zukommen, wo wir heute sind“, so Lunt. „An diesen transparenten Zellen arbeiten wir gerade mal einige Jahre.“
## Eigene Solarenergie für alle auch für Mieter!
Die in London lebende, aus den Niederlanden stammende Designerin [Mireille Steinhage 19](https://www.mireillesteinhage.eu/) sieht vor allem die Demokratisierung von Solarenergie als einen wichtigen Weg in eine Solarpunk-Zukunft. „Ich denke, Solarpunk steht für das ultimative Ziel einer nachhaltigen Zukunft, die im Moment fast wie ein Märchen erscheint“, sagt sie zu 1E9. „Für mich wäre das eine Welt im Gleichgewicht, in der die Menschheit ein Teil der Natur ist und nicht über der Natur steht. Und keine Welt mit fliegenden Autos und solchem Kram.“
> *Ich denke, Solarpunk steht für das ultimative Ziel einer nachhaltigen Zukunft, die im Moment fast wie ein Märchen erscheint.*
*Mireille Steinhage*
Um das zu erreichen sei es essentiell, eine nachhaltige Gesellschaft schaffen und dafür sei es wiederum nötig, „den Menschen mehr Möglichkeiten zu geben, sich selbst zu versorgen“. Insbesondere jenen, die bisher wenig Optionen haben, ihr Leben und Wohnen energetisch nachhaltiger zu gestalten. „Es gibt viele Möglichkeiten für ein nachhaltiges Leben für Menschen, die Eigentümer von Häusern sind, wie Sonnenkollektoren, Wärmepumpen, Isolierung und vieles mehr, aber fast nichts davon ist für Menschen geeignet, die zur Miete wohnen“, sagt sie. „Ich denke, wenn wir eine nachhaltige Zukunft schaffen wollen, müssen wir auch diese Menschen in die Bewegung des Wandels einbeziehen.“
![](c131b7bccfa55288d49404ccabf589ed_572f5050e7fb4c5ab.jpeg)
Die Solardecke von Mireille Steinhage soll es auch Mietern erlauben, ohne große Anstrengungen Solarstrom zu nutzen. ©Mireille Steinhage
Steinhage hat ein Solar Blanket entwickelt: eine Heizdecke, die jedoch nicht an eine Steckdose angeschlossen wird. Stattdessen befindet sich am Ende eines Kabels ein kleines Solarpaneel das an eine Fensterbank gestellt oder direkt in ein Fenster geklebt werden kann. Die Solarzellen sollen in Kombination mit einer kleinen Powerbank genug Strom liefern, um die in die Decke eingeflochtenen Heizfasern auf über 27 Grad zu erhitzen.
Eine Wohnung lässt sich mit der dünnen Decke nicht heizen, aber sie soll in den kalten Monaten dort für Wärme sorgen, wo sie akut gebraucht wird. „Das Blanket konzentriert die Wärme auf einen unmittelbaren Raum und vermeidet die Verschwendung von Energie für das Beheizen eines ganzen Bereichs“, so Mireille Steinhage. „Die Decke ist am wirksamsten, wenn sie als wärmende Sitz- oder Liegeunterlage verwendet wird.“ Noch ist das Solar Blanket ein Prototyp, aber die Designerin sucht bereits nach Partnern, um sie zu verfeinern und letztlich produzieren zu lassen.
Andere Designer verfolgen ähnliche Herangehensweise. Darunter Marjan van Aubel, die 2021 eine Solarlampe namens [Sunne 105](https://solarsunne.com/) vorstellte, die an schlanken Drähten in ein Fenster gehängt wird und mittels integrierter Solarzellen über den Tag hinweg eine Batterie füllt. Genutzt werden die gleichen hocheffizienten Sonnenkollektoren, die auch im [Solarauto Lightyear One 60](https://1e9.community/t/solarfahrzeuge-der-traum-vom-selbstladenden-elektroauto-wird-realitaet/13412) eingesetzt werden. Am Abend soll dadurch genug Energie gespeichert sein, um die Wohnung für Stunden in atmosphärisches Dämmerlicht zu hüllen. „Ich denke, das ist eine ziemliche Revolution“, sagte Marjan van Aubel bei einer Präsentation von Sunne. Es sei das erste Haushaltsgerät, das Menschen einfach so kaufen und besitzen können, um Solarenergie in ihrer Wohnung zu nutzen.
Mit einer mit 124.000 Euro finanzierten Kickstarter-Kampagne, einem Preis von mindestens 995 Euro pro Lampe und einer App für die Steuerung ist Sunne ein luxuriöses Designerstück, das sich viele wohl eher nicht leisten können, oder wollen. Aber laut Marjan van Aubel sei das Grundprinzip von Sunne im Grunde simpel und von anderen adaptierbar. „Um einen Wandel in der Wahrnehmung der Solarenergie zu fördern, muss sie auch für eine größere Gruppe von Menschen zugänglich sein“, so die Designerin. Und dafür brauche es Projekte, die „die Menschen mit der Solarenergie vertraut machen \[…\] Sunne ist ein erster Schritt, um Solarenergie in unseren Alltag zu integrieren.“
## Anziehbare Sonnenenergie
Durch die Forschung an Sonnenenergie werden Solarzellen nicht nur immer effektiver und unsichtbarer. Sie werden auch zunehmend mobiler. Es gibt ganz selbstverständlich Rucksäcke, die mit Solarzellen ausgestattet sind, um unterwegs das Smartphone zu laden. [Auch Jacken und Hosen mit eingesetzten oder aufknüpfbaren Solarzellen existieren 52](https://www.pvilion.com/solar-clothing/). Zumindest letztere sind allerdings noch die Ausnahme, weil sie etwas unpraktisch sind und ästhetisch eher fragwürdig. „Es sieht immer total maskulin, roboterhaft und irgendwie gleich aus“, sagt Elina Ilén von der Aalto-Universität in Finnland. Sie und ein Team wollen das ändern und zwar, indem sie Solarzellen wirklich tragbar machen.
Ilén und ihre Forscherkollegen und -kolleginnen aus unterschiedlichsten Fachrichtungen arbeiten bereits seit fünf Jahren daran, „Sonnenenergie erntende Zellen in Textilien zu integrieren“. Oder anders gesagt: Sie wollen Solarzellen mit Stoff *verschmelzen*, um sie unsichtbar zu machen und dadurch auch die Nachteile ausmerzen, die bisherige Solarkleidung hat. „Dazu gehören die Schadanfälligkeit durch Wasser, Kratzer oder einfach Krafteinwirkung“, sagt Elina Ilén gegenüber 1E9. Ganz so einfach ist das aber nicht, mussten die Wissenschaftler feststellen.
Dennoch fanden die Finnen eine Lösung, die praktisch und alltagstauglich sei. Sie nutzen bereits kommerziell verfügbare, aber sehr kleine und flexible Solarzellen, die sich miteinander verschalten und zu bieg- und krümmbaren Oberflächen zusammensetzen lassen. Diese werden dann mit speziell dafür gestalteten lichtdurchlässigen Stoffen überzogen. „Dazu haben wir ein robustes System zur Einkapselung der Zellen entwickelt“, sagt Ilén. „Wir laminieren sie praktisch zwischen zwei Stoffschichten, so dass sie nicht mehr zu sehen sind.“ Die Zellen seien unter den Textilschichten immer noch spürbar, aber „das Verstecken der Technologie eröffnet ganz neue Gestaltungs- und Anwendungsmöglichkeiten“.
![](0148430a4e7dee7a97a2b91b41cdf49f_cf915b6c30f64428b.jpeg)
Keine Solarzellen zu sehen? Genau das ist das Ziel der Forscher der Aalto Universität. Die Zellen befinden sich unter dem lichtdurchlässigen Stoff. ©Anne Kinnunen")
Zusammen mit den Textilproduzenten Foxa und Lindström haben die Entwickler stylische Jacken gestaltet, die die integrierten Solarmodule nicht erkennen lassen. Betrieben werden können mit dem generierten Strom der Jacken bislang kleine Sensoren wie Feuchtigkeitsfühler, Thermometer, Beschleunigungssensoren oder Schrittzähler, wie sie in Smartwaches zu finden sind. Für mehr reicht es nicht zumindest bislang. Um ein Smartphone zu laden, bekommen die Zellen nicht genug Sonnenlicht. Nur um wenige Prozentpunkte ließe sich der Akku mit der Jacke über einen Tag hinweg füllen. Aber die Forscher sehen trotzdem Anwendungsfälle. Etwa im Sport, bei professioneller Arbeitskleidung oder auch in der Pflege.
Wer ein Smartphone oder ein anderes größeres Gerät mit Sonnenenergie aufladen will, der kommt um den Solarzellen-Rucksack momentan also nicht herum. Doch das soll sich über die kommenden Jahre, mit den Fortschritten bei der Effizienz von Solarzellen und einer Weiterentwicklung der Solarkleidung noch ändern. Mit größeren Flächen und damit mehr Solarzellen lässt sich mit dem finnischen Solarstoff bereits jetzt auch mehr Strom erzeugen. „Eine Zelle hat eine bestimmte Kapazität, daher kann man durch das Hinzufügen weiterer Zellen die Kapazität gesteigert werden“, sagt die Finnin. „Wir sehen daher durchaus relevanten Nutzen in anderen Produkten.“ Die Solarstoffentwickler können sich beispielsweise Vorhänge, Jalousien. Terrassenüberdachungen oder sogar Teppiche vorstellen. Sind diese groß genug, ließen sich damit durchaus Lademöglichkeiten für elektronische Geräte betreiben oder Batteriespeicher realisieren.
> *Das Verstecken der Technologie eröffnet ganz neue Gestaltungs- und Anwendungsmöglichkeiten.*
*Elina Ilén*
## Solarplanen verwandeln Hausfassaden und Zelte in Kraftwerke
Auch die Niederländerin Pauline van Dongen sieht in Stoffen mit der Kapazität, grünen Solarstrom zu erzeugen, großes Potential. Wie die Designerin auf der Konferenz The Solar Biennale im September 2022 im niederländischen Rotterdam in einem Vortrag ausführte, könne mit solchen Stoffen eine „komplett neue Ästhetik für Gebäude“ geschaffen werden insbesondere, wenn über Europa und Nordamerika hinausgedacht würde. Van Dongen arbeitet mit dem auf Zeltdesign und Stoffproduktion spezialisierten Unternehmen [Tentech 39](https://tentech.nl/en/) an einem Suntex genannten und aus recycelten PET gewobenem Stoff, der mit Polymerstreifen aus organischen Solarzellen durchzogen ist. Er soll dadurch hochflexibel und leicht sein, aber dennoch eine kleine aber in Summe nicht unerhebliche Menge an Solarstrom erzeugen können.
Laut Pauline van Dongen könnten mit diesem Stoff, der wind- und wetterfest sei, die Fassaden ganzer Häuser verkleidet und diese nahezu komplett in Solarstromkraftwerke verwandelt werden. Er könne eingesetzt werden, um Städte und Gemeinden neu zu denken und visuell zu transformieren. Er könne auch genutzt werden, um im Zuge der Klimakrise Gebäude in den Sommerzeiten mit einem Sonnenschutz zu versehen, der gleichzeitig einen Energiegewinn bedeutet. Aber das Material könne auch für Zelte, Markisen, Vorhänge, Sonnenschirme oder Bauplanen verwendet werden. Selbst wenn die einzelne Suntex-Plane nur wenig Strom liefere die Masse könne einen Unterschied machen, glaubt die Designerin.
![](388ee6424b029102a53fdec674ce8b9e_3105202ba66844e48.jpeg)
Der Solarstoff Suntex soll tauglich sein, um ganze Gebäude darin einzukleiden. ©Pauline van Dongen
„Ich denke, es ist wichtig, die Gesamtheit zu sehen und es ganzheitlich zu betrachten“, sagte sie auf der Konferenz. Allerdings ist Suntex ebenso wie der Solarstoff der Forscher der Aalto-Universität in Finnland noch ein Forschungs- und Entwicklungsprojekt. Die Herausforderung sei es jetzt, das Material zuverlässig und auf eine Weise in großer Menge produzieren zu können, dass es fehlerfrei und auch leicht wiederverwertbar ist. Bis dahin könnten durchaus noch einige Jahre vergehen.
Mehr Solarpunk lässt sich aber nicht nur dadurch erreichen, aus was Produkte gefertigt werden, sondern auch wie.
## Reparierbarkeit ist punk!!!
Das Design von Alltagsgegenständen, vor allem aber von Technik, die wir regelmäßig nutzen, kann und muss sogar ein essentieller Teil einer Solarpunk-Zukunft sein. Dabei geht es nicht darum, in jeden Laptop oder jedes Smartphone eine Solarzelle einzubauen. Denn auch wenn es Beispiele für solche Integration gibt, sind diese nicht zwangsläufig sinnvoll. Es kommt schließlich darauf an, dass die Geräte lange und oft genug direkten Sonnenlicht ausgesetzt sind, um wirklich einen Teil der Energie erzeugen zu können, die sie verbrauchen. Sinnvoller ist daher, Geräte auf andere Weise energetisch positiv zu gestalten und das bedeutet vor allem: sie nachhaltig und lange nutzbar zu designen. Davon sind mittlerweile auch immer mehr Designer und Produktentwickler überzeugt.
Hier lässt sich daher eine kleine, aber wachsende Bewegung erkennen. Bereits seit 2013 entwickelt und vertreibt das in den Niederlanden ansässige Unternehmen [Fairphone 22](https://www.fairphone.com/de/) eine Reihe gleichnamiger Smartphones. Deren Herstellung soll unter fairen Bedingungen erfolgen und die dafür nötigen Rohstoffe sollen aus Quellen stammen, die nicht unter ausbeuterischen Bedingungen erschlossen werden oder der Finanzierung von Kriegen dienen. Doch insbesondere sollen die Telefone durch einen modularen Aufbau leicht reparierbar sein was sie auch sind. Wobei viele Nutzer und Tester noch Makel wie das vergleichsweise rechenschwache Innenleben kritisieren, das eine potentiell jahrelange Nutzung schwierig mache.
Ein anderes Projekt ist der [Framework Laptop 97](https://1e9.community/t/dieser-laptop-laesst-sich-reparieren-und-soll-die-wegwerf-kultur-bei-elektronik-beenden/9783) des gleichnamigen Start-ups. Es ist ein kompakter und dem Macbook-Air nachempfundener Rechner, der sich im Gegensatz zu seinem Vorbild jedoch leicht öffnen, reparieren und aufrüsten lässt. Tastatur, Arbeits- sowie SSD-Speicher und sogar das Mainboard lassen sich lösen, herausnehmen und austauschen. Dazu können über kleine Module die Anschlussmöglichkeiten wie USB-, HDMI- sowie Netzwerk-Buchsen und Micro-SD-Kartenleser an den Seiten des Gerätes gewechselt und den eigenen Wünschen angepasst werden.
![](125d61d8c348ecbde44d4cda72be39ae_f908b798ae30449f9.png)
Laut Framework-Gründer Nirav Patel sollte der Käufer eines Gerätes das Recht und die Möglichkeit haben, es zu reparieren und so lange zu nutzen, wie es seine Aufgabe erfüllen kann. Das kommt bei einigen Nutzern durchaus an. Auch andere Hersteller wie HP wollen ihre Geräte leichter reparierbar und pflegbar machen wie etwa das Elitebook 845 G9 zeigt, das auch mehrere Komponenten ohne große Probleme austauschen und aufrüsten lässt. [Ähnliches gilt für den als Pilotprojekt 17](https://www.youtube.com/watch?v=Ncl98ggTe9g) [gestarteten Aspire Vero von Acer 17](https://www.youtube.com/watch?v=Ncl98ggTe9g), dessen Hülle zudem zu 30 Prozent und dessen Tastatur zu 50 Prozent aus wiederverwertetem Plastikmüll aus dem Ozean besteht.
## Es braucht Ästhetik und Design
Eine Zukunft wie in Solarpunk-Geschichten scheint derzeit noch weit entfernt. Zu sehr ist unsere Gesellschaft noch von fossilen Energien abhängig, zu wenig wird für die Verkehrs- und Energiewende getan. Doch einzelne Entwicklungen und Projekte machen Hoffnung, dass Solarpunk nach und nach zu einem Teil unserer Wirklichkeit werden könnte. Laut Mireille Steinhage sei eigentlich alles da, was es für eine solarpunkige Lebensweise braucht jedenfalls, was die Technik angeht. Die Nutzung von Solar- und Windkraft sowie die Möglichkeit, Produkte nachhaltiger und langlebiger zu gestalten, seien zwar oft noch eine Herausforderung, aber noch vielmehr eine Sache des Willens. Da sieht die Designerin Steinhage ihre Kollegen sowohl in der Pflicht als auch als treibende Kraft.
Wenn Technologien und neue Konzepte wirklich in den Alltag der Menschen vordringen sollen, müssen sie auch begehrenswert und ihre Reparierbarkeit ein integraler Bestandteil ihres Designs sein, glaubt Steinhage. „Ich denke vor allem, dass all diese Technologien, die es bereits gibt, ästhetischer und ansprechender ausschauen sollten“, sagt sie. „Ich sehe immer mehr Designer, die in diese Richtung denken \[…\], die so planen, dass sich Teile ersetzen lassen.“ Elina Ilén von der Aalto-Universität in Finnland sieht das durchaus ähnlich. Genau das sei auch einer der Antriebe, Solarzellen als Material neu und flexibel zu denken: eben um Designern und Produktgestaltern mehr Möglichkeiten und kreative Freiräume zu schaffen. Gelingt das, könnte der Weg in eine Solarpunk-Zukunft zunehmend einfacher und realistischer werden.
@@ -1,52 +0,0 @@
---
title: "Solarstrom: Stromrevolution aus dem Allgäu"
source: https://www.zeit.de/green/2021-10/solarstrom-sonnen-gmbh-virtuelles-kraftwerk-heimspeicher-stromanbieter-tesla?utm_source=pocket-newtab-global-de-DE
---
## [Solarstrom: Stromrevolution aus dem Allgäu](https://www.zeit.de/green/2021-10/solarstrom-sonnen-gmbh-virtuelles-kraftwerk-heimspeicher-stromanbieter-tesla)
Wenn Oskar Stenzel auf seine Sonnen-App schaut, fühlt er sich als Teil von etwas Großem. Er sieht, fast in Echtzeit, wie sein Stromverbrauch steigt, sobald er die Waschmaschine anschaltet, und wie viel Strom die Solarzellen auf seinem Bungalowdach produzieren, wenn die Sonne hervorkommt. Wie hoch der Ladestand in der weißen 1,80 Meter hohen Speicherbatterie im Hauswirtschaftsraum ist. Und er sieht sogar, wie hoch die Frequenz des deutschen Stromnetzes gerade ist. Ob es etwas mehr oder etwas weniger als die 50 Hertz sind, die es braucht.
Dieses ganze große Hauptnetz beeinflusst Stenzel jetzt mit. Ist die Spannung zu hoch, weil an der Küste viel Wind weht, nimmt Stenzels Speicherbatterie im Hamburger Speckgürtel etwas von dem Strom auf. Ist sie zu niedrig, speist sie Strom ein. Die Entscheidung trifft in Sekundenschnelle eine zentrale Software mithilfe von künstlicher Intelligenz.
Oskar Stenzel ist einer Gemeinschaft von Energieerzeugern beigetreten. Die sogenannte [Sonnen-Community](https://www.youtube.com/watch?v=5QBNAJ8AMuM) besteht aus mehreren Zehntausend Mitgliedern, gemeinsam formen sie einen über Deutschland verstreuten Großspeicher, ein virtuelles [Kraftwerk](https://www.zeit.de/thema/kraftwerk). Für die Klimawende ist es notwendig, dass die Schwankungen bei erneuerbaren Energien anders ausgeglichen werden als wie bisher mit Kohle- oder Atomstrom. Als Mitglied dieses Kraftwerks versteht Stenzel sich als Teil der Lösung.
Gigafactory 4 - Tesla veranstaltet Tag der offenen Tür in Grünheide Ab Dezember sollen in der Tesla-Gigafactory die ersten Fahrzeuge vom Band gehen. An diesem Samstag konnten Besucherinnen und Besucher auf dem Gelände Riesenrad fahren. © Foto: Annegret Hilse/Reuters
Es ist eine Idee, an der auch Tesla arbeitet. Anfang der Woche meldete der E-Auto-Pionier aus dem [Silicon Valley](https://www.zeit.de/thema/silicon-valley), [er wolle in den deutschen Energiemarkt eintreten](https://www.zeit.de/wirtschaft/unternehmen/2021-10/tesla-oekostrom-elon-musk-revolution-deutschland/komplettansicht). Der Stromtarif für Besitzer von Powerwalls, Teslas Speicherbatterien, gilt als möglicher erster Schritt hin zu einem virtuellen Tesla-Kraftwerk, wie es der E-Autohersteller in Australien aufbaut.
Die Sonnen GmbH jedoch, ein mittelständischer Speicherhersteller aus dem [Allgäu](https://www.zeit.de/thema/allgaeu), hat diese Idee in Deutschland bereits 2016 umgesetzt. Dass die Welt trotzdem erst jetzt aufhorcht, erklärt sich Geschäftsführer Oliver Koch damit, dass man "die absolute Vorreiterrolle Teslas bei E-Autos auf alle anderen Bereiche überträgt". Dass ein Gigant wie Tesla jetzt diesen Schritt geht, sieht er als Bestätigung der eigenen Unternehmensstrategie.
![solarstrom-sonnen-gmbh-virtuelles-kraftwerk-heimspeicher-stromanbieter-tesla-04](../../_resources/wide__660x371__desktop_94d5078a52bf4edf80698a88c6c.jpg)
Oliver Koch ist seit dem 1. Oktober 2020 der Geschäftsführung der sonnen-Gruppe. © Hermann Rupp/sonnen GmbH
Dabei klingt es ja schon etwas schräg: In Wildpoldsried, Landkreis Oberallgäu, soll man sehr viel weiter sein als im so häufig als Zukunftsschmiede beschworenen Silicon Valley? Dass dem so ist, dürfte auch mit Teslas erstem deutschen Vertriebsleiter zusammenhängen: Philipp Schröder. Elon Musk warb den damals 29-jährigen Manager den Allgäuern 2013 ab. Von Tesla lernt Schröder, wie man schnell einen Markt aufrollt und ein nachhaltiges Produkt sexy macht. Kaum hat er aber Teslas Model S in Deutschland eingeführt, wechselt er zurück zu Sonnen Tesla sei ihm zu *corporate* geworden, sagte er einst in einem Interview. Bei seinem alten Arbeitgeber wird er für gut drei Jahre Geschäftsführer für Vertrieb und Marketing.
In dieser Zeit entsteht die Sonnen-Community. Zunächst einmal geht es darum, dass die Mitglieder Strom miteinander teilen, um sich komplett unabhängig von Energieversorgern zu machen. "Wenn wir mehr Strom produzieren, als wir verbrauchen oder speichern können, geben wir ihn an die Community ab und bekommen dafür Strom von anderen Mitgliedern, wenn wir einmal nicht genug haben", sagt Oskar Stenzel. Zwar speisen alle ihren überschüssigen Strom ins allgemeine Netz ein, aber die Smart Meter sorgen dafür, dass er den Community-Mitgliedern zugerechnet wird.
Im nächsten Schritt beginnt die Community, selbst als Energieversorger aufzutreten. Drei Jahre, bis Ende 2018, dauerte es, bis das Unternehmen die Zulassung für primäre Regelenergie vom Übertragungsnetzbetreiber Tennet bekommt. "Das klingt jetzt nach einem Formular, aber das war richtig, richtig aufwendig. Die deutschen Netzbetreiber sind sehr konservativ", sagt Koch. Zusammen erbringen die Heimspeicher mittlerweile eine Leistung im zweistelligen Megawatt-Bereich. Er nennt das "eine ordentliche Hausnummer". Ein Kohlekraftwerk liege zwar im Hunderterbereich, aber nur ein kleiner Teil dieser Leistung ginge in den Netzausgleich.
Auch die [Bundesnetzagentur sieht in vernetzten Stromspeichern großes Potenzial](https://www.netzentwicklungsplan.de/sites/default/files/paragraphs-files/NEP_2035_V2021_2_Entwurf_Teil1.pdf): Laut Netzentwicklungsplan könnten Photovoltaik-Heimspeicher bis 2035 rund 17 Gigawatt Leistung zur Verfügung stellen so viel wie rund 17 große Kraftwerke.
![solarstrom-sonnen-gmbh-virtuelles-kraftwerk-heimspeicher-stromanbieter-tesla-02](../../_resources/wide__660x371__desktop_47d43b425bbc4bfcbeb75bf2cd2.jpg)
Die sonnen-Batterie speichert selbst erzeugte Energie aus der Photovoltaikanlage. Das Versprechen: Dadurch macht man sich unabhängig von traditionellen Energiekonzernen. © Johannes Paul Häußler/sonnen GmbH
Oskar Stenzel bekommt seinen Beitrag fürs große Ganze in Form einer Gewinnbeteiligung und einer Rückvergütung zum Jahresende ausgeglichen. Der Strom aus der Community kostet ihn nichts, weil er die Null-Euro-Flatrate von Sonnen abgeschlossen hat. Speist er mehr ein als er sich aus der Gemeinschaft holt, gibt es Geld zurück. "Wir haben die Anlage erst seit Juni, deshalb weiß ich noch nicht, wie viel es genau sein wird, wahrscheinlich zwischen 50 und 100 Euro. Jedenfalls ist es ein Ansporn, sorgsam mit dem Strom umzugehen", sagt Stenzel. Geht der ganzen Community einmal der Strom aus, beziehen die Mitglieder kostenlos konventionellen [Ökostrom](https://www.zeit.de/thema/oekostrom).  
Schmerzhaft sei lediglich die Anfangsinvestition in die Anlage: Für Batterie und Solarmodule müsse man schon mit einer Summe zwischen 25.000 und 30.000 Euro rechnen, sagt Stenzel. Mit seiner vierköpfigen Familie würde er allerdings auch so etwa 1500 bis 2000 Euro im Jahr an einen anderen Stromanbieter zahlen, Tendenz derzeit stark steigend. "Wir haben berechnet, dass die Anlage bei drei Prozent Inflation sich nach etwa dreizehn Jahren rechnet", sagt Stenzel.
Oskar Stenzel tritt gerne als Botschafter für Sonnen auf. Etwa wenn die Nachbarn neugierig sind, was es mit dem Charger an der Hauswand auf sich hat, mit dem er sein E-Auto lädt, und wie das funktioniere mit den Solarpanels und der Batterie. Dann erklärt er, dass die Photovoltaik-Panels nur Licht brauchen, um Strom zu erzeugen, und dass er sich sogar hier, im nicht gerade sonnengeküssten Norden Deutschlands, von Mitte März bis Ende September komplett autark versorgen könne. "Nur von Oktober bis Anfang März brauche ich ab dem Abend auch Strom aus der Community", so Stenzel.  
Ein wenig bedauert Stenzel, sich mit den Community-Mitgliedern nicht auch persönlich austauschen zu können. Seine App zeigt ihm die Mitstreiter nur als grobe geographische Punkte an Datenschutz. Solche Punkte sprenkeln mittlerweile den halben Globus: Um die 70.000 Sonnen-Community-Mitglieder gibt es weltweit. Komplette virtuelle Kraftwerke sind dieses Jahr in den USA entstanden, [in Utah nehmen 600 Wohnungen daran teil](https://www.theverge.com/2019/8/28/20835786/sonnen-solar-vpp-battery-power-renewable-energy-utah), ein weiteres mit [3.000 Batterien ist in Kalifornien geplant](https://abcnews.go.com/US/virtual-power-plants-pathway-decarbonization/story?id=75871568).
![solarstrom-sonnen-gmbh-virtuelles-kraftwerk-heimspeicher-stromanbieter-tesla-03](../../_resources/wide__660x371__desktop_c8629323ec8a4800b89dded753e.jpg)
Seinen Hauptsitz hat das Energieunternehmen sonnen in Wildpoldsried. Inzwischen agiert es mit Niederlassungen vor Ort aber auch international, etwa in Großbritannien, Italien, den USA oder Australien. © Johannes Paul Häußler/sonnen GmbH
Weltweit arbeiten um die 850 Mitarbeiter für Sonnen. Am Standort Wildpoldsried sind es etwa 350. Genau genommen arbeiten sie mittlerweile für Shell: Auch der Ölkonzern muss sich breiter und grüner aufstellen und hat das Unternehmen 2019 gekauft. Viel geändert habe sich für die GmbH nicht, sagt Koch, der Mutterkonzern mische sich wenig ein. Aber Sonnen will seine Kapazitäten verzehnfachen.  
Neben den komplizierten Regeln im Energiemarkt bremst ein weiteres Phänomen die Wildpoldsrieder in ihrem Wachstumsdrang, zumindest in Deutschland: die schleppende Digitalisierung. "Die Grundvoraussetzung für eine digitale Energiewelt ist ein intelligenter Zähler. Der entspricht dem Modem für die Interneteinführung. Im Rest der Welt ist er längst Standard, bei uns nicht", sagt Oliver Koch. Während etwa in Dänemark und Schweden die Netzbetreiber überall Smart Meter installieren, muss Sonnen seine Kunden selbst mit diesen Geräten ausstatten. "Das macht die Sache unnötig zäh" sagt Koch. "Dass wir uns im Jahr 2021 noch damit beschäftigen müssen, ist aus energiepolitischer Sicht absoluter Wahnsinn."  
Oskar Stenzel spürt davon nichts. Er lebt als Verbraucher dank Smart Meter und Echtzeitrückmeldungen auf seiner App bereits in der Energiewelt der Zukunft. "Man bekommt dadurch schon einen emotionalen Bezug zum Strom", sagt er. Das Licht unnötig anlassen dürften seine Kinder also nicht, trotz Flatrate für Ökostrom. "Man entwickelt einen gewissen Ehrgeiz, so wenig wie möglich aus dem Netz zu ziehen. Und so viel wie möglich einzuspeisen."
@@ -1,58 +0,0 @@
---
title: "Solidarität in der Pandemie: Egoismus als Grundrecht"
source: https://taz.de/Solidaritaet-in-der-Pandemie/!5815713/
---
## [Solidarität in der Pandemie: Egoismus als Grundrecht](https://taz.de/Solidaritaet-in-der-Pandemie/!5815713/)
Ob Stuttgart 21 oder Wehrpflicht Staatsräson ging stets vor Bürgerunmut. Warum reagiert die Politik heute so zaghaft auf Proteste von Impfgegnern?
[![Polizist*innen bei einer Demonstration.](../../_resources/26392175-1_1dc9c3edf3fb48aa987c2557a8332e35.jpeg "Polizist*innen bei einer Demonstration.")](https://taz.de/picture/5254013/948/26392175-1.jpeg)
Po­li­zis­t\*in­nen bei einer Demonstration von Co­ro­nal­eug­ne­r\*in­nen in Berlin im Dezember 2020 Foto: Christian Ditsch
Was hat die Impfpflicht mit Stuttgart 21 zu tun? Mehr, als ein oberflächlicher Blick vermuten ließe. In Stuttgart, der Stadt, in der ich Steuern zahle, war eine Mehrheit der Bürgerinnen gegen ein Mammutprojekt, dessen Kosten sich inzwischen vervierfacht haben und das laut Whistleblowern schon [ein Korruptionsvolumen von 600 Millionen Euro](https://taz.de/Angeblich-teurer-wegen-Missmanagement/!5818307/) aufweist. Jahrelang äußerten sich mehr als sechzig Prozent gegen das Bauvorhaben.
Doch keiner der Mächtigen sprach sich dafür aus, diese Menschen „abzuholen“. Die Stadt war gespalten, aber kein Verantwortlicher zerbrach sich den Kopf über eine drohende Spaltung der Gesellschaft. Zehntausende protestierten, immer wieder, doch niemand fürchtete sich davor, dass die Gegner „auf die Barrikaden gehen“ würden. Ganz anders nun die politische Haltung gegenüber [Impfskeptikern und -verweigerern](https://taz.de/Impfskepsis-Querdenker-und-Chatgruppen/!5815600/). Damals Hybris, heute Verständnis.
<a id="ad_bin_artikel_medrec_1"></a>
Anzeige
Nicht nur bei Stuttgart 21. Zeitweise waren zwei Drittel der Deutschen gegen den Krieg in Afghanistan. Es gab immer wieder gewaltige Friedensdemonstrationen. Die damalige Antwort: Staatsräson geht vor. Ob im Hambacher Forst, in Gorleben, bei der Startbahn West, stets wurde der Protest negiert und ignoriert, weil angeblich ein höheres Interesse existierte (Fortschritt, Investition, Mobilität). Und nun? Eine geradezu gegenteilige Gewichtung durch die Politik. Vorsicht und Zaghaftigkeit. Sollte etwa unser aller Gesundheit weniger wichtig sein als Krieg oder gut geölter Kapitalismus?
Was ist geschehen? Gibt es neue Grundrechte oder eine veränderte Verfassung? War [die Wehrpflicht](https://taz.de/10-Jahre-ohne-Wehrpflicht/!5779285/), um nur ein Beispiel zu nehmen, kein Eingriff in die persönliche Autonomie (ich persönlich finde, dass zwölf oder fünfzehn Monate des eigenen Lebens ein erheblich größeres Opfer darstellen als eine medizinische Behandlung, die zudem auch der eigenen Gesundheit dient)?
Gemeinwohl war gestern, heute gilt das eigene Wohlbefinden. Und Freiheit meint nur noch Bequemlichkeit
Geändert hat sich allein die Stimmungslage, zugunsten eines einzigen Grundrechts, das alle anderen übertrumpft, eine Art Übergrundrecht: das Recht auf Egoismus. Die Folge einer ideologischen Zurichtung, die seit Jahrzehnten kontinuierlich Gesellschaft abbaut und Individualismus aufbläht. Von der Ich-AG zum Narzissten. Gemeinwohl war gestern, heute gilt das eigene Wohlbefinden. Und Freiheit ist nur noch ein anderes Wort für Bequemlichkeit.
Diese Entwicklung ist so tiefgreifend, dass selbst die Rechten, die traditionell alles dem nationalen Wohl unterordnen wollen, mit Recht und Ordnung und Disziplin, sich von ihren einstigen Vorstellungen eines „gesunden Volkskörpers“ verabschiedet haben und nur mehr das Recht der Deutschen verteidigen, sich nicht piksen zu lassen. Nein, wir sind nicht zu sensibel geworden, wie manche dieser Tage behaupten, ganz im Gegenteil, wir haben von Kopf bis Fuß eine dicke soziale Hornhaut ausgebildet.
Es ist auffällig, wie selten (wenn überhaupt) folgendes Argument zu vernehmen ist: Ich habe Bedenken, was die Impfung angeht, aber ich sehe ein, dass wir als Gesellschaft aus der Pandemie nur herauskommen, wenn die allermeisten geimpft sind, ergo werde ich mich trotzdem impfen lassen. Ein Taxifahrer in Köln brachte es neulich auf den Punkt. Auf die Vision eines Fahrgastes, alle Geimpften würden in zwei Jahren tot sein, habe er geantwortet: „Was machst du dann hier allein?“
[<img width="516" height="344" src="../../_resources/27252185-2_97e6640f7b3a4c21a5c894a9dddfab85.jpeg"/>](https://taz.de/picture/5254013/948/27252185-2.jpeg)
Kri­ti­ke­r*in­nen der Coronamaßnahmen bei einer Demonstration in Berlin im April 2021 Foto: M. Golejewski/AdoraPress
Was in Talkshows gegen eine Impfpflicht vorgetragen wird, sind Mummenschanz-Argumente mit viel Rhetorik und wenig Logik. Sie befriedigen die eigene Gefühlslage, nicht die Vernunft. In Krisenzeiten sind sie vermehrt anzutreffen, auch bei vermeintlich intelligenten Menschen.
<a id="ad_bin_artikel_medrec_mitte"></a>
Anzeige
Ein sozial orientiertes Gemeinwesen würde alle impfen lassen (bis auf wenige medizinisch indizierte Ausnahmen), würde massiv investieren in jene, die gegen die Pandemie kämpfen, und dafür sorgen, dass weltweit, vor allem im globalen Süden, alle Menschen möglichst kostenlosen Zugang zu den Impfstoffen erhalten. Letzteres wäre leicht zu erreichen, wenn der Patentschutz für die Impfstoffe vorübergehend aufgehoben würde, wie vernünftige Menschen seit dem letzten Frühjahr fordern, was aber am Widerstand der EU scheitert. Europa ein Haus für Egomanen.
Es ist bekannt, dass die Blüten der Freiheit auch am Ufer des Egoismus sprießen. Wer auf nichts und niemanden Rücksicht nehmen möchte, beschwört gern die individuelle Autonomie. Das ist ein Problem, weil zwischen Freiheitsliebenden und Selbstsüchtigen nicht immer klar zu unterscheiden ist. Gegenwärtig aber ist diese Unterscheidung einfach. Die Pandemie frisst Zeit, Energie, Geduld, Nerven, Liebe, Kreativität. Sie ist die größte Bedrohung unserer Freiheit. Sie zu besiegen hat eindeutig Vorrang vor dem Recht auf Ignoranz oder Narzissmus.
Es ist traurig, dass wir in einer Gesellschaft leben, in der soziales Verhalten manchen Mitmenschen aufgezwungen werden muss. Viel zu viele benötigen offenbar die Peitsche der Obrigkeit, um sich im Sinne des Gemeinwohls zu verhalten. Vor wenigen Tagen erst wurde ein Urlaubsrückkehrer aus Südafrika am Flughafen von einem Fernsehteam interviewt. Die Quarantäne aufgrund der Omikron-Gefahr sei nur eine Empfehlung, aber keine Verpflichtung, also werde er sich nicht daran halten. So spricht ein Untertan, der nur die Sprache der Verbote versteht, und kein aufgeklärter Mensch, der sich Gedanken macht, wie er die potentielle Gefahr, die von ihm ausgeht, minimieren könnte. So spricht ein amoralischer Mensch. Denn Ethik beginnt dort, wo die Verkehrszeichen enden.
Aber da selbstverantwortliche Ethik offensichtlich von einem knappen Drittel des Volkes nicht verstanden wird, müssen wir uns in einer Art gesamtgesellschaftlicher Notwehr schützen. Wären wir eine freie Gesellschaft, in der alle die Selbstentfaltung der Mitmenschen mitbedenken, müssten wir dieser Tage nicht über eine Impfpflicht diskutieren.
###### Ohne Ihre Unterstützung geht es nicht.
Da immer mehr Menschen die taz von sich aus unterstützen, können wir auf eine harte Paywall verzichten. 31.500 Menschen sind es schon, die zahlen, nicht weil sie müssen, sondern weil sie es möchten. Weil sie unseren Journalismus, unsere Genauigkeit, unsere kritischen Standpunkte finanzieren und wertschätzen möchten. Sie tun das, weil sie davon überzeugt sind, dass es die taz braucht.
Das ist unsere Motivation. Klimakatastrophe, Rassismus, soziale Ungleichheit, eine globale Pandemie - gerade jetzt wollen wir mit unseren Artikeln eine relevante Stimme sein. In Zeiten von Desinformation und Verschwörungsmythen ist der freie Zugang zu gut recherchierten Informationen wichtiger denn je. Unsere Artikel auf taz.de sind deshalb frei zugänglich. Wer möchte, kann uns unterstützen. Es gibt aber keinen Bezahlzwang. Diese Idee verfolgt die taz nun seit zehn Jahren, seit 2011 überlassen wir die „Paywahl“ Ihnen, unseren Leser:innen. Schon über 31.500 Menschen haben eine Wahl für die taz getroffen.
[Voll dabei sein](https://taz.de/!115932/#!formfill:via=Bottom,abTest10,neu)
-30
View File
@@ -1,30 +0,0 @@
---
title: Sonne und Beton
source: https://magazin.zenith.me/de/wirtschaft/strand-und-infrastruktur-im-libanon
---
In Batrun sind die Röcke kurz, die Nächte lang und die Tage schmecken nach Sonne und Meersalz auf der Haut. Die kleine Küstenstadt 50 Kilometer nördlich von Beirut steckt mitten in der Hochsaison. Die meisten Besucher, die durch Batruns Gassen und Altstadt flanieren, in den Restaurants sitzen oder Abkühlung in den Pools der Resorts suchen, sind von außerhalb gekommen, für einen Wochenendausflug oder Urlaub. »Batrun steht unter Strom dieses Jahr«, sagt Hanna. Die Betreiberin einer Eisdiele in der nordlibanesischen Stadt freut sich über den Zulauf: »Wir empfangen viele Kunden diesen Sommer mehr als in den letzten Jahren.«
Allein im Großraum Batrun wurden dieses Jahr ganze 20 Strandresorts wieder oder neu eröffnet. Eine umso beeindruckende Zahl, angesichts der Tatsache, dass jegliche permanente Bebauung und Zutrittsbeschränkung des Küstengebiets verboten sind. Laut einem Gesetz von 1925 stehen das »Meeresufer bis zum äußersten Punkt, den die Welle im Winter erreichen kann, sowie Sandstrände und Kieselsteine« der Öffentlichkeit zu. Das Umweltschutzgesetz 444 von 2002 sichert den Bürgern zudem ihr Recht auf uneingeschränkten Zugang, Begehbarkeit und Sicht auf die Strände. Zumindest theoretisch.
»In der Praxis werden diese Gesetze schlichtweg missachtet«, sagt Mohammad Ayoub, Gründer von Nahnoo, zu Deutsch »Wir«. 1.108 Gesetzesverstöße hat die NGO in Bezug auf die Bebauung der 220 Kilometer langen Küste registriert. In Batrun hat Nahnoo deshalb eine Protestkampagne angestoßen. Nach einer öffentlichen Nachbarschafts-Diskussion und dem Einreichen von Klagen machten sich Mitte Juni etwa hundert Bürger zu einem Protestmarsch entlang der Küste auf und hielten vor jedem Objekt an, das gegen die Bauvorschiften verstößt. »Sogar der Innen- und der Umweltminister haben sich danach eingeschaltet«, erinnert sich Ayoub. »Das Gebäude auf dem Abu-Ali-Strand musste dann sogar abgerissen werden das war ein großer Erfolg.«
Dass Verstöße normalerweise kaum Konsequenzen nach sich ziehen, erklärt er mit dem gesellschaftlichen Status der Landbesitzer. »Wer bauen lässt, ist gut vernetzt und mächtig und hat die lokalen Behörden in der Tasche.« Auch der Politik weist er eine gewisse Schuld zu: »Praktisch allen Beteiligten geht es in erster Linie um den eigenen Profit«, beklagt der Aktivist.
Dabei hatte die Regierung noch 2017 eine Initiative angestoßen, um alle Investoren, die nach 1994 gegen Küstenschutzgesetze verstoßen hatten, zur Kasse zu bitten. Wenn auch eher, um die klamme Staatskasse zu füllen, als aus Sorge um die Strände, wenn man Ayoub Glauben schenkt. Und wirklich ernst gemacht hätten die Behörden ohnehin nicht, meint er. »Die Bauträger ignorierten beständig die jährlichen Zahlungsaufforderungen und zwar solange, bis der Wert der Strafe mit der Inflation ins Lächerliche geschrumpft war. Dann erst waren sie bereit zu zahlen.«
Die Bebauung der libanesischen Küste begann zu einer Zeit, in der viele andere Bauten im Land gerade verschwanden: dem Bürgerkrieg. Dem vorausgegangen waren Jahre, die oft als goldene Ära des Libanons bezeichnet werden: Eine Blütezeit für Kunst und Kultur, wirtschaftlicher und gesellschaftlicher Stabilität. Internationale Filmstars verkehrten in den Bars und Theatern Beiruts, alte Fotografien zeigen scheinbar sorglose Familien beim Picknick in den Bergen oder beim Wasserski auf dem Mittelmeer.
Der Tourismus boomte und Bauträger erkannten das Potential der Küsten, an denen es vermeintlich so viel Einkünfte zu holen gab wie Sand am Meer. Als schließlich 1975 der Bürgerkrieg ausbrach, begannen die Unternehmer dank Abwesenheit des Staates, weite Teile der Küste zu bebauen und zu privatisieren. Auch nach Ende des Krieges setzte sich diese Entwicklung fort.
Heute stehen die privaten Resorts öffentlichen Stränden gegenüber, die theoretisch in den Verantwortungsbereich der Gemeinden fallen. Die Strandresorts genießen einen entscheidenden Vorteil: Sie werden verwaltet. Das Gelände ist frei von dem Müll, der so oft zur Kulisse öffentlicher Strände gehört. Auch sind die Anlagen selten so überfüllt wie andernorts. Dafür sorgen die Eintrittspreise.
»Keine Regeln, keine Aufsicht, keine Kontrolle«, fasst Mohamed Al-Yaghi das Grundproblem der öffentlichen Strandbäder zusammen. Der Schauspieler aus Tripoli verbringt seine freien Tage deshalb lieber an privaten Badeorten. Eine Option, die vielen seiner Landsleute nicht zur Verfügung steht, dem ist er sich bewusst. »Der Durchschnittslohn liegt derzeit bei etwa 150 bis 200 US-Dollar pro Monat. Ein Zehntel davon geht schon für den Eintritt für einen Erwachsenen drauf«, rechnet er vor. »Für eine Familie mit zwei Kindern liegen die Kosten allein für den Eintritt schon bei 80 US-Dollar und da sind Essen und Getränke nicht mal mitgerechnet.«
Ein weiteres Sinnbild für die sozialen Unterschiede an den libanesischen Stränden ist Ramlet Al-Baida in Beirut zu Deutsch »weißer Strand«. Der einzige Sandstrand der Hauptstadt ist öffentlich zugänglich und vor allem ein Treffpunkt für jene, die sich die Eintrittspreise anderswo nicht leisten können. Dass der Strand als Ort für Arme teils in Verruf steht, hat auch mit den hygienischen Zuständen zu tun. Zu Land wie zu Wasser. An den Rändern des Strandes leiten Rohre das städtische Abwasser ins Meer.
Daneben steht das Hotel Lancester Eden Bay, eine 5-Sterne-Residenz, deren baurechtliche Grundlage auf ähnlich tönernen Füßen steht wie bei so vielen Bettenburgen entlang der Küste. Eine Kampagne von Anwohnern samt erfolgreicher Klage, blieb vor einigen Jahren letztlich ohne Erfolg: Der Eigentümer betreibt das Hotel noch immer. Ayoub war damals mit Nahnoo Teil der Kampagne: »Die Begründung lautete damals: Der Besitzer kann den Betrieb solange weiterlaufen lassen, bis die einzelnen Verstöße behoben sind«, beschreibt er die Logik hinter den wachsweichen Auflagen von Politik und Justiz.
Dennoch glaubt Ayoub, dass sich etwas ändern kann. Nahnoo hat vor einigen Jahren die Initiative »Die Küste für Alle« gestartet. Das Projekt setzt auf gebündelte Koordinierung im Kleinen. Dank Demonstrationen und öffentlichem Druck waren sie in der Lage, drei Privatinvestoren zurückzudrängen, die gegen staatliche Bauvorschriften verstießen. Essenziell dafür ist Aufklärungsarbeit vor Ort: »Lange war den Menschen hier nicht bewusst, dass sie ein Recht auf eine öffentlich zugängliche Küste haben.« Das habe Einiges in Bewegung gesetzt, erzählt er. »Die Anwohner thematisieren die Missstände und sie sind wütend.«
In Batrun geht das Saisongeschäft derweil seinen Gang. Nach einem stressigen Arbeitstag im Eis-Geschäft geht Hanna selbst gern eine Runde schwimmen, und zwar am liebsten im »San Stephano Resort«. »Die Stadt bietet viele tolle Freizeitangebote. Da ist für jeden Geldbeutel etwas dabei«, findet sie. Aber die Geschäftigkeit des Städtchens und seines Umlands gefällt nicht jedem: »Es ist alles so neu und kommerziell hier. Sogar die alteingesessenen Ortschaften werden gerade renoviert oder ausgebaut«, bemängelt Caren. Die Kunststudentin verbringt ihre Freizeit lieber an etwas naturbelassenen öffentlichen Stränden in einiger Entfernung. »Die libanesische Küste bietet noch ein paar versteckte Schätze«, findet sie. »Aber ein Schatz muss auch geschützt werden.«

Some files were not shown because too many files have changed in this diff Show More