Kategorien
Blog Software

Schopenhauer’s Welt in der Software Entwicklung

Dieser Artikel ist der Ansatz, Schopenhauer’s Welt in der Software Entwicklung darzustellen und auf mehrere Ebenen und Systeme zu übertragen.

Nach Schopenhauer hat jedes Lebewesen einen Willen.

Die unbelebten Gegenstände sind dagegen „nur“ existent. Die Lebewesen benutzen die Gegenstände, um ihren Willen umzusetzen.

Wille und Ziel

Was ist der Unterschied zwischen Wille und Ziel?

Das Ziel ist ein neuer Zustand, der erreicht werden will (sehr witzig, daß dieses Wort schon ein Teil von „Wille“ ist).

Schopenhauer's Welt in der Software Entwicklung

Um diesen neuen Zustand zu erreichen benötigt man zielgerichtete Aktivitäten. Das wird mit dem Begriff „Wille“ verbunden. Wenn kein Wille vorhanden ist, kann das ausgesprochene Ziel durch den Zielgeber nicht erreicht werden (ausser von „aussen“) .

Im Unterschied dazu ist ein „Wunsch“ etwas passives. Wenn jemand einen Wunsch äussert, trägt er nicht aktiv dazu bei, dass dieser Wunsch erfüllt wird, sondern ist passiv. Oder anders ausgedrückt, er wünscht sich eine Aktivität von „aussen“.

Wenn der Wunsch oder das Ziel erreicht wird, ist man glücklich. Wenn nicht, leidet man.

Ziele einer Art und eines Produktes

Jedes Lebewesen, angefangen von Viren bis zu den sogenannten höher entwickelten Arten, hat einen Willen bzw. ein oder mehrere Ziele. Aber gehen wir zuerst eine Ebene höher, sehen wir uns eine Art an.

Das Überleben der Art über mehrere Generationen ist ein klares Ziel. Dies wird z.B. über das Speichern in der DNA und mit der Reproduktion auf die nächste Generation erreicht. Siehe auch Charles Darwin etc.

Im Leben eines Software Produktes werden im Lebenszyklus immer neue Releases geplant.

Im Leben entstehen neue „Releases“ ungeplant mit dem Mechanismus der Mutation. Wobei eine Änderung eines Features auch nichts anderes ist wie eine Mutation, nur eben bewusst herbei geführt.

Mutationen und ihre Wirkungen sind natürlich von Charles Darwin bzw. Richard Dawkins hervorragend beschrieben.

Übrigens kann man die Begriffe „Art“ und „Produkt“ auch mit „Firma“, „Gesellschaft“, „Gemeinde“ und „Staat“ ersetzen.

Ziele auf Individual Ebene

Auf der Ebene des Individuums haben wir ebenfalls Ziele und einen Willen. Das Individuum setzt sich kleine Zwischenziele und setzt diese um. Es gibt natürlich auch langfristige Ziele, wie das Erreichen einer Futterquelle, die Reproduktion, das Erobern neuer Welten, etc.

Auf technischer Ebene entsprechen die Zwischenziele den Sprint Zielen.

Über die Sprints bzw. die individuellen Ziele wird immer wieder iteriert. Sowohl in der Software Domäne als auch in der Domäne der Lebewesen.

Top down oder buttom up

Dies war nun eine Top down Betrachtung. Man kann sich auch den buttom up Ansatz durchgehen, das Ergebnis ist das Gleiche.

Auch kann man sich gedanklich beliebig viele weitere Ebenen denken, wie z.B. sich bei einem Tier auf die Ebene der Zellen zu bewegen und sich den Lebenszyklus mit den Zielen auf Zellebene ansehen.

Systemischer Ansatz

Wie wir gesehen haben, können wir den systemischen Ansatz verwenden um die Rahmenbedingungen für die einzelnen Systeme zu verstehen. Auf dieser Basis können wir die Ziele der einzelnen Systeme erkennen und anhand der Ziele verstehen wir die Aktivitäten, die zu diesen Zielen gehören.

Im nächsten Schritt können wir dann die einzelnen Systeme miteinander verknüpfen.

Die folgenden Quellen haben mich bei dem Artikel inspiriert:

Kategorien
Blog Software

Folding@home remote client prototype

Yeah, a first version of the folding@home remote client prototype is ready to go!

The use case of the software is the following :

The available client software for the folding@home project concentrates on making the calculations for the famous protein project. That makes complete sense.

Folding@home remote client
DNA

On the other hand sometimes I also want just to control my clients from the mobile phone. And this problem is solved by the remote client.

The software makes no calculations at all, it just controls the other devices/clients where the calculations are happening.

Features

With the prototype you can already perform the following actions :

  • Add a new client with name, IP address and port
  • Edit the client’s properties
  • Delete a client
  • Select a client and perform the following actions :
    • Select the power used for the calculations
    • Start, Pause and finish folding of a slot
    • While a client is selected, it’s status including multiple properties is pulled in regular intervals

The next actions/features I have in mind :

  • Compile a runnable IOS and Android package
  • Make the GUI more beautiful with e. g. images for the buttons etc.
  • Add another screen for the work unit details
  • Implement a link to the user or show the browser results
  • Implement a link to the project or show the browser results

If you want to contribute just grab the code at https://github.com/hardy2408/FAH_Remote

For the implementation you need the following :

Let me know, if you wanna contribute, not only via a merge request 😉

One test I cannot do with my environment as I only have a laptop with one CPU.

So you can also contribute just with testing in an environment where one server has more than one CPU / GPU. Then the machine would have multiple slots.

Kategorien
Blog Software

Digitale Kontrolle von Beschäftigten

Digitale Kontrolle von Beschäftigten ist für manche Unternehmen bestimmt ein interessanter Ansatz.

Und wie mit der Einschränkung der Grundrechte müssen wir alle dagegen kämpfen.

Überwachung generiert kein besseres Ergebnis der Arbeitsleistung.

Digitale Kontrolle von Beschäftigten
Spider employer

https://netzpolitik.org/2020/covid-19-verschaerft-die-ueberwachung-am-arbeitsplatz/

Kategorien
Software

Erstes Handy mit einem Quanten computer

Samsung entwickelt ein erstes Handy mit einem Quanten Computer.

Die Anwendung ist zwar nicht so super spannend, aber immerhin.

Erstes Handy mit einem Quanten computer
CPU

https://www.areamobile.de/Samsung-Firma-18781/News/Samsung-baut-das-erste-Smartphone-mit-Quantum-Prozessor-1350210/

Kategorien
Blog Software

Python software project for folding@home remote client

After a long time of not programming and just configuring software – and working as a manager in a heavily growing company – I started a new python software project for the folding@home project.

I was inspired first by the folding@home project itself. This project supports heavily finding new vaccines and other drugs while calculating protein folding activities. These computations are also related to the COVID-19 desease.

So please join and contribute the idle time of your computer(s)@home to the project!

Python software project for folding@home

Second I wanted to learn python for a long time already.

So I thought why not combining these two ideas, specifically during the not so busy corona time (that’s not completely true, as I’m in the luxury position to be still 100% busy at work ;-))

Methods learned

The methods I learned so far are quite a lot:

  • Python programming itself, including object oriented programming (I’m sure there are still plenty of things I don’t know)
  • Kivy, a library for a GUI, based on python, where you are able to produce applications for different mobile operating systems
  • Working with threads in python for regulary polling the clients
  • Virtual environments for python
  • Working with GIT for the first time as a version management system, and using github as a cloud version
  • Implementing a telnet client to connect to multiple processing folding@home clients (the API is sometimes a bit weird)

The idea is to compile an app that can be used on any mobile device to control folding@home clients in your local network – or also from outside your network as long as you have access to the folding@home clients via an IP V4 address.

For the time being you always have to have a folding@home client running at your local machine to control other clients. With my app you can control the clients also just with any mobile device.

I have some long ago experience with C++ and Java, but honestly working with python is much easier and makes much more fun!

Contribute

If you want to contribute to the project, just let me know. I will publish the source code soon on github.

The first prototyp with some GUI and some telnet commands is already running 🙂