Skip to content

web - Hamburger Grundschule Kein Essen für Kinder ohne Fingerabdruckscan

[...] In einem Schreiben der IT-Firma People and Projects aus Elmshorn, das der Zeitung vorliegt, heißt es: "An Ihrer Schule verlief das Einlesen der Fingerprints für die zukünftige Essenausgabe turbulent. Im Eifer des Gefechts sind Fehler passiert." Die Verantwortlichen entschuldigten sich, die Daten würden gelöscht.

Eltern der Adolph-Schönfelder-Grundschule in Barmbek-Süd erklärten dem Abendblatt, ihre Kinder hätten nur gegen Fingerabdruck ihre Mahlzeit bekommen.

Die Schulleitung lehnte auf Anfrage von Golem.de einen Kommentar ab und verwies an die Behörde für Schule und Berufsbildung (BSB). Dort war für eine Stellungnahme niemand zu erreichen.

"Wenn es stimmt, dass Kindern mit leerem Magen gedroht worden ist, um an ihre Fingerabdrücke zu kommen, muss die Schulbehörde personelle Konsequenzen in Betracht ziehen", sagte Sebastian Seeger von den Hamburger Piraten. Schulkantinen fragten Daten ab, die ansonsten vor allem Strafverfolgungsbehörden erheben. Das Vorgehen sei nicht nur "unsensibel und Kindern gegenüber völlig unangemessen", sondern zeige auch, dass öffentliche Einrichtungen "nicht die nötigen Konsequenzen aus den jüngst enthüllten Abhörskandalen gezogen haben."

Nach Informationen der Piratenpartei nutzen im Großraum Hamburg weitere Schulen Bezahlsysteme mit biometrischer Erkennung. [...]


Quelle

Der Hamburger CCC bietet betroffenen Eltern und Kinder Hilfe an. Danke dem CCC!
Daneben habe ich mir mal die Seite der Firma angeschaut, die hinter diesem System steht. Das man für solch ein System die Fördergelder von unserer Familienmutti eingesetz werden beschämt mich. Mich deucht, dass Kinder aus notleidenden Familien weitaus glücklicher über eine kostenlose Runde im Schwimmbad oder beim Fußballspielen gewesen wären. Die Argumentation, dass ein solches System niemanden die wahren Preise des Essens zeigt verstehe ich nicht. Jeder erwirbt eine Essensmarke und notleidende Familien zahlen für die gleiche Essensmarke einfach weniger. Kein teuerer IT-Schrott, keine unnötigen Service- und Wartungskosten. Und vor allem, keine Gewöhnung der jungen Generationen daran, dass es ok ist seinen Fingerabdruck abzugeben.

Jene IT-Firma hat eine PDF als Gegendarstellung auf ihrer Website gestellt.

[...] - Schulkinder sollen ihr Mittagessen genießen können und nicht in langen Warteschlangen anstehen – die technische Abwicklung durch das Fingerprintverfahren ermöglicht einen schnellen und einfachen Durchlauf an der Essensausgabe und somit schlussendlich satte und zufriedene Schüler.
- Kinder, die die Teilhabeleistungen aus dem Bildungspaket der Bundesregierung nutzen, können das subventionierte Essen abholen ohne vor den Mitschülern stigmatisiert zu werden.
- Ein Finger geht nicht verloren und kann auch nicht zweckentfremdet werden: die berüchtigte „Abzocke“ unter Schülern ist traurige Realität an Schulen – Essensmarken stellen daher keinerlei Alternative dar.
[...]


Punkt 1 geht auch mit Essensmarken. Punkt 2 empfinde ich als Gesellschaftslüge. Kinden müssen so früh wie möglich Toleranz lernen und Freundschaften über Gesellschaftsschichten hinweg gründen. Die finanziellen Unterschiede zu verschleiern, erzeugt nur eine Illusion der Realität. Fakt ist doch, dass Kinder in der Schule eine Erziehung genießen müssen und diese schließt ethische Grundsätze wie auch das Gesetzt der Gleichheit mit einzuschließen. Versuchen wir, als Gesellschaft, dieses Problem zu verschleiern, müssen sich die Kinder erst später, und damit mit einem weniger beweglicheren und freieren Geist, mit dieser Tatsache auseinandersetzen. Punkt 3 schlägt in die gleiche Kerbe. Kabbeleien gehören zum Alltag eines Kindes und festigen den Umgang mit der Gesellschaft. Kinder vor der Gesellschaft zu schützen führt zu unselbständigen Menschen.
[...] Das System nimmt lediglich einzelne Merkmale in einem sogenannten „Template“ auf; dieses Template wird hochgradig verschlüsselt. [...]

Ohne einen freien Einblick in die Art der Verschlüsslung zu werfen (und dies geht nur mit der Offenlegung des Quelltextes), kann das jeder schreiben.
[...] Alle interessierten Eltern haben dort die Möglichkeit, sich ausführlich zu allen Aspekten zu informieren. Bei dieser Gelegenheit wird allen Zuhörern immer deutlich, dass die Eltern immer die Wahl haben, wie sich ihr Kind registrieren lassen möchte: wer keine Fingerprint-Nutzung wünscht, kann immer auf Alternativen ausweichen. Dabei gibt es unterschiedliche Möglichkeiten, z.B. die RFID-Karten, aber durchaus auch einfache Listen, wenn der Registrierungsumfang überschaubar ist. [...]


Kurzum, man hat als Elternteil dann nur die Wahl zwischen "Sodom und Gomorra" (Fingerprint oder RFID), da der Registrierungsumfang für die durchführung der Listen im Regelfall wohl zu hoch sein wird, tollkühn gemutmaßt.

Quelle (Achtung PDF)

Man kann als betroffene Eltern nur aktiv werden und sich an Stellen wenden, die sich um die Bürgerrechte kümmern. Eine kleine und unvollständige Auswahl (ohne Sortierung) sind die nachfolgenden: ccc.de, piratenpartei.de, die linke, digitalegesellschaft.de.

PHP Component - Data Type

By using this component, you are able to use type hints also for basic data types.
This component includes class definitions for php basic data types like:

  • Boolean
  • Floating point
  • Integer
  • String
  • Numeric

Features

  • Enables type hints for basic php types
  • Types shipped with useful methods
  • Are comparable with native php types by using "=="
  • Provides generic type casting by implemented "toString()" methods (and so on)

Usage

Example


/**
 * Class with type hint for string
 *
 * @author stev leibelt 
 * @since 2013-08-04
 */
class MyClass
{
    /**
     * @var array
     * @author stev leibelt 
     * @since 2013-08-04
     */
    private $strings = array();

    /**
     * Super cool method with type hint for string
     *
     * @author stev leibelt 
     * @since 2013-08-04
     */
    public function addString(\Net\Bazzline\Component\DataType\String $string)
    {
        $this->strings[] = $string;

        return $this;
    }
}

$myString = new \Net\Bazzline\Component\DataType\String('super cool test string');

$myClass = new MyClass();
$myClass->addString($myString);

Hints

  • Extend provided types with classes in own namespace.
  • If you add a super cool method to your type, push it and be a part of the development team

Install

Via Git


cd path/to/my/git/respositories
mkdir -p stevleibelt/php_component_data_type
cd stevleibelt/php_component_data_type

git clone git://github.com/stevleibelt/php_component_data_type.git .

Via Composer


require: "net_bazzline/component_data_type": "dev-master"

Why?

I started developing this component because of the many casts i have to do while dealing with php's basic data types. As general, i searched the web for existing and easy to use components but could not find them. If you find one, please tell me. Last but not least SplTypes are still experimental.

Propel ORM, schema.xml, the missing autoIncrement value and a not working "$propelObject->reload()" with mysql greater 5.1

So i had to evaluate a migration of an existing application from mysql 5.1 to mysql 5.5. Yes i know, the gap between 5.1 and 5.5 is tremendous but the system was working without any problems for a long time of periode.

After switching a test environment from 5.1 to 5.5 there was one unittest failing. What was so special in that given unittest? For a reason, we needed to execute the native propel method "reload" right after a "save". The test was failing because of an empty value for the "id". The representing database table has a column id with an autoincrement flag. With mysql 5.1, everything is working as expected. The id was available after the reload so everything was fine.

After switching to 5.5, no id was available after calling "save". This leads to the fact that propel was failing by executing the "reload" method. Switching back to mysql 5.1 and the error was gone. After search in usergroups, issuepages i still could not find any matching issue or entry. Finally i presentend my problem on the #propel channel in freenode and got some feedback. One guy had experienced the same error in the past. He could remember that this problem occures while switching to mysql 5.3 or 5.4. Niceguy exptom wrote that goosed him with my report and he will give the problem a debug session try.

On the next day, he quickly responded and presented his results. He (if he is a he and not a she) told me he could takle it down to a missleading schema.xml. The column where the error occures had a missing autoIncrement="true" value. I took a look into my current schema.xml and bam same flaw.

The rest is quite easy. Update schema.xml, rerun propel generation and testing. Everything is now working fine. Thanks to exptom again. I guess the schema.xml would have been one of the last areas i had debugged.

some thoughts about AwareInterfaces and InjectorInterfaces

With the newest version of some fancy php frameworks, i got in touch with the terms of dependency injection and service locator. While the ideas behind the to terms a quick clear so far, i wanted to know how dependency injection is implemented. Because of that, i took a look into some implementations and i'm still in the process of getting a feeling of the terms and process for dependency injection.

Nevertheless, i had to use and implement some AwareInterfaces and here are my thoughts about the.

A AwareInterface should have three methods:

  • getObject()
  • hasObject()
  • setObject(\My\Object $object)

If a class is not useable without the object, it should either throw an runtime exception or implement the InjectInterface.

A InjectInterface should only have one method:

  • injectObject()

Currently, i prefer to define InjectInterfaces if they are needed to use a object. The AwareInterface is used as an addition / nice to have object, for example if you want to inject a logger. This leads to situations that a class only implements a "FooInjectInterface" or a "FooAwareInterface".

Lets see where the journey goes. Hopefully i don't have to overturn the position from above.

Update: 2013-10-02
A teammate made the suggestion to rename the "InjectInterface" to "DependentInterface" to keep the naming in sync with the "AwareInterface".