diff --git a/NotProgramming/SDM/presentations/kamboocha/presentation b/NotProgramming/SDM/presentations/kamboocha/presentation
index 6a15ffa4..eeb10d18 100644
--- a/NotProgramming/SDM/presentations/kamboocha/presentation
+++ b/NotProgramming/SDM/presentations/kamboocha/presentation
@@ -3,6 +3,7 @@ Właściwości i domowa produkcja
Krzysztof Rudnicki
@Kombucha_Mature.jpg
+DROŻDŻE!
Plan
• Historia
@@ -14,6 +15,7 @@ Plan
Historia
@Emperor_Ingyo.jpg
+Dr. Kombu
@Bohai_sea_sunset.jpg
@@ -201,4 +203,15 @@ Kombucha w ubranich
@fashion.jpg
+Najbardziej liberałowy produkt w USA 2009
+
+Źródła
+• Britannica
+• Wikipedia
+• Grandviewresearch
+• Forbes
+• Slate
+• OATAO University Toulouse
+• ResearchGate
+
Pytania
\ No newline at end of file
diff --git a/Programming/PSD/zin2/ProgramProject/.gitignore b/Programming/PSD/zin2/ProgramProject/.gitignore
new file mode 100644
index 00000000..76e6d77c
--- /dev/null
+++ b/Programming/PSD/zin2/ProgramProject/.gitignore
@@ -0,0 +1,110 @@
+target/
+pom.xml.tag
+pom.xml.releaseBackup
+pom.xml.versionsBackup
+pom.xml.next
+release.properties
+dependency-reduced-pom.xml
+buildNumber.properties
+.mvn/timing.properties
+# https://github.com/takari/maven-wrapper#usage-without-binary-jar
+.mvn/wrapper/maven-wrapper.jar
+
+# Eclipse m2e generated files
+# Eclipse Core
+.project
+# JDT-specific (Eclipse Java Development Tools)
+.classpath
+
+.eslintcache
+.cache
+scalastyle-output.xml
+.classpath
+.idea/*
+!.idea/vcs.xml
+!.idea/icon.png
+.metadata
+.settings
+.project
+.version.properties
+filter.properties
+logs.zip
+.mvn/wrapper/*.jar
+.mvn/maven.config
+target
+tmp
+*.class
+*.iml
+*.swp
+*.jar
+*.zip
+*.log
+*.pyc
+.DS_Store
+build-target
+**/dependency-reduced-pom.xml
+flink-runtime-web/web-dashboard/node/
+flink-runtime-web/web-dashboard/node_modules/
+flink-runtime-web/web-dashboard/web/
+flink-runtime-web/web-dashboard/.angular/
+flink-python/dist/
+flink-python/apache-flink-libraries/dist/
+flink-python/build/
+flink-python/apache-flink-libraries/build
+flink-python/pyflink.egg-info/
+flink-python/apache_flink.egg-info/
+flink-python/apache-flink-libraries/apache_flink_libraries.egg-info/
+flink-python/docs/_build
+flink-python/.tox/
+flink-python/dev/download
+flink-python/dev/.conda/
+flink-python/dev/log/
+flink-python/dev/.stage.txt
+flink-python/.eggs/
+flink-python/apache-flink-*.dev*/
+flink-python/apache-flink-libraries/apache_flink_libraries-*.dev*/
+flink-python/**/*.c
+flink-python/.idea/
+flink-python/**/*.so
+atlassian-ide-plugin.xml
+out/
+/docs/api
+/docs/.bundle
+/docs/.rubydeps
+/docs/ruby2/.bundle
+/docs/ruby2/.rubydeps
+/docs/.jekyll-metadata
+*.ipr
+*.iws
+tools/flink
+tools/flink-*
+tools/releasing/release
+tools/japicmp-output
+/docs/go.mod
+/docs/go.sum
+/docs/.hugo_build.lock
+
+# Compiled class file
+*.class
+
+# Log file
+*.log
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.nar
+*.ear
+*.zip
+*.tar.gz
+*.rar
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+replay_pid*
\ No newline at end of file
diff --git a/Programming/PSD/zin2/ProgramProject/pom.xml b/Programming/PSD/zin2/ProgramProject/pom.xml
new file mode 100644
index 00000000..bad72753
--- /dev/null
+++ b/Programming/PSD/zin2/ProgramProject/pom.xml
@@ -0,0 +1,62 @@
+
+ 4.0.0
+
+ com.example
+ ProgramProject
+ 1.0-SNAPSHOT
+
+ 1.8
+ 1.8
+ 1.19.0
+ 2.11
+ 1.7.30
+
+
+
+
+
+ org.apache.flink
+ flink-java
+ 1.19.0
+ compile
+
+
+ org.apache.flink
+ flink-runtime-web
+ ${flink.version}
+
+
+
+ org.apache.flink
+ flink-streaming-java
+ 1.19.0
+
+
+ ch.qos.logback
+ logback-classic
+ 1.2.3
+
+
+ ch.qos.logback
+ logback-core
+ 1.2.3
+
+
+ org.apache.flink
+ flink-clients
+ ${flink.version}
+ compile
+
+
+ org.slf4j
+ slf4j-log4j12
+ ${slf4j.version}
+
+
+
+
+
+
+
diff --git a/Programming/PSD/zin2/ProgramProject/src/main/java/Example.java b/Programming/PSD/zin2/ProgramProject/src/main/java/Example.java
new file mode 100644
index 00000000..0c375ded
--- /dev/null
+++ b/Programming/PSD/zin2/ProgramProject/src/main/java/Example.java
@@ -0,0 +1,34 @@
+import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
+import org.apache.flink.streaming.api.datastream.DataStream;
+import org.apache.flink.api.common.functions.FilterFunction;
+
+public class Example {
+ public static void main(String[] args) throws Exception {
+ final StreamExecutionEnvironment env =
+ StreamExecutionEnvironment.getExecutionEnvironment();
+ DataStream flintstones = env.fromElements(
+ new Person("Fred", 35),
+ new Person("Wilma", 35),
+ new Person("Pebbles", 2));
+ DataStream adults = flintstones.filter(new FilterFunction () {
+ @Override
+ public boolean filter(Person person) throws Exception {
+ return person.age >= 18;
+ }
+ });
+ adults.print();
+ env.execute();
+ }
+ public static class Person {
+ public String name;
+ public Integer age;
+ public Person() {}
+ public Person(String name, Integer age) {
+ this.name = name;
+ this.age = age;
+ }
+ public String toString() {
+ return this.name.toString() + ": age " + this.age.toString();
+ }
+ }
+}
\ No newline at end of file
diff --git a/Programming/PSD/zin2/ProgramProject/src/main/java/TemperatureSensor.java b/Programming/PSD/zin2/ProgramProject/src/main/java/TemperatureSensor.java
new file mode 100644
index 00000000..0aaa226f
--- /dev/null
+++ b/Programming/PSD/zin2/ProgramProject/src/main/java/TemperatureSensor.java
@@ -0,0 +1,53 @@
+import org.apache.flink.streaming.api.datastream.DataStream;
+import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
+import org.apache.flink.streaming.api.functions.source.SourceFunction;
+
+import java.util.Random;
+
+public class TemperatureSensor {
+
+ public static void main(String[] args) throws Exception {
+ final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
+
+ // Generating random temperature data
+ DataStream input = env.addSource(new SourceFunction() {
+ private boolean running = true;
+
+ @Override
+ public void run(SourceContext ctx) throws Exception {
+ Random rand = new Random();
+
+ while (running) {
+ Thread.sleep(1000); // Sleep for a second before generating more data
+ ctx.collect(new SensorReading("sensor_1", rand.nextDouble() * 25 - 10));
+ }
+ }
+
+ @Override
+ public void cancel() {
+ running = false;
+ }
+ });
+
+ // Processing temperature data to find values below 0
+ input
+ .filter(reading -> reading.temperature < 0)
+ .print();
+
+ env.execute("Temperature Sensor Processing");
+ }
+
+ // Data type for sensor readings
+ public static class SensorReading {
+ public String sensorId;
+ public double temperature;
+
+ public SensorReading() {
+ }
+
+ public SensorReading(String sensorId, double temperature) {
+ this.sensorId = sensorId;
+ this.temperature = temperature;
+ }
+ }
+}