Kinecthack London is coming

This shall be an awesome event !

„What to expect

We’ve managed to secure an entire weekend (so bring your sleeping bags) of access to Cardinal Place (Victoria, London). We’ll provide the food and drink (and some really cool giveaways) so you can have unadulterated hacking focus to build your Kinect based apps, games or anything else in whatever ways you dream up.

Come as a team, work individually or team up at the event, we’ll have plenty of space, power, wifi and desk space for all your hacking needs.

Event Start: Saturday 21st March 10:00am
Event End: Sunday 22nd March 18:00pm

Dan Thomas (
Saturday, 21 March 2015 at 10:30 Sunday, 22 March 2015 at 18:30 (GMT)

London, United Kingdom“
Kinecthack London

#! – shebang

Until today I only know the term hash-exclam for #!

„In computing, a shebang (also called a sha-bang, hashbang, pound-bang, hash-exclam, or hash-pling) is the character sequence consisting of the characters number sign and exclamation mark (that is, „#!„) when it occurs as the initial two characters on the initial line of a script.

Under Unix-like operating systems, when a script with a shebang is run as a program, the program loader parses the rest of the script’s initial line as an interpreter directive; the specified interpreter program is run instead, passing to it as an argument the path that was initially used when attempting to run the script. For example, if a script is named with the path „path/to/script„, and it starts with the following line:


then the program loader is instructed to run the program „/bin/sh“ instead (usually this is the Bourne shell or a compatible shell), passing „path/to/script“ as the first argument.

The shebang line is usually ignored by the interpreter because the „#“ character is a comment marker in many scripting languages; some language interpreters that do not use the hash mark to begin comments (such as Scheme) still may ignore the shebang line in recognition of its purpose.“

Shebang (auch Magic Line) bezeichnet bei unixoiden Betriebssystemen die Zeichenkombination #! am Anfang eines Skriptprogramms. Die Markierung mit Doppelkreuz und Ausrufezeichen führt dazu, dass das folgende Kommando mitsamt allen angegebenen Argumenten beim Aufruf des Programms ausgeführt wird. Der Dateiname wird dann als weiteres Argument übergeben. Andere Betriebssysteme – beispielsweise Microsoft Windows – nutzen die Technik nicht. Nur bei speziellen Umgebungen, wie dem Common Gateway Interface im Apache HTTP Server, spielt die Shebang-Konstruktion auf diesen Systemen eine Rolle.“

Remember today 2 – halting problem

In memoriam to Alan Turing (

„In computability theory, the halting problem can be stated as follows: Given a description of an arbitrary computer program, decide whether the program finishes running or continues to run forever. This is equivalent to the problem of deciding, given a program and an input, whether the program will eventually halt when run with that input, or will run forever.

Alan Turing proved in 1936 that a general algorithm to solve the halting problem for all possible program-input pairs cannot exist. A key part of the proof was a mathematical definition of a computer and program, what became known as a Turing machine; the halting problem is undecidable over Turing machines. It is one of the first examples of a decision problem.“


Remember today – Recursive Set

In memoriam to Alan Turing (

„A subset S of the natural numbers is called recursive if there exists a total computable function f such that

f(x) = 1 if xS and f(x) = 0 if xS .

In other words, the set S is recursive if and only if the indicator function 1S is computable.“

simple, isn’t it !?!

In german language:

„Entscheidbarkeit einer mathematischen Eigenschaft

In der theoretischen Informatik heißt eine Eigenschaft auf einer Menge entscheidbar (auch: rekursiv, rekursiv ableitbar), wenn es ein Entscheidungsverfahren für sie gibt. Ein Entscheidungsverfahren ist ein Algorithmus, der für jedes Element der Menge beantworten kann, ob es die Eigenschaft hat oder nicht. Wenn es ein solches Entscheidungsverfahren nicht gibt, dann nennt man die Eigenschaft unentscheidbar. Als Entscheidungsproblem bezeichnet man die Frage, ob und wie für eine gegebene Eigenschaft ein Entscheidungsverfahren formuliert werden kann.

Während die wichtigsten syntaktischen Eigenschaften von Programmen entscheidbar sind, sind nach dem Satz von Rice alle (nichttrivialen) semantischen Eigenschaften von Programmen unentscheidbar, zum Beispiel die Terminierung eines Programmes auf einer Eingabe (Halteproblem) oder die Funktionsgleichheit zweier Programme (Äquivalenzproblem).

Ursprünglich speziell für die Gültigkeit von Formeln gemeint, wird der Begriff inzwischen für beliebige Eigenschaften auf abzählbaren Mengen verwendet. Der Begriff des Algorithmus setzt ein Berechnungsmodell voraus; wenn nichts Abweichendes gesagt wird, sind die Turingmaschinen oder ein gleichwertiges Modell gemeint.“

Hamburger Akademie für Fernstudien


Keep in mind today:

“ In computer science, BNF (Backus Normal Form or Backus–Naur Form) is one of the two [1] main notation techniques for context-free grammars, often used to describe the syntax of languages used in computing, such as computer programming languages, document formats, instruction sets and communication protocol; the other main technique for writing context-free grammars is the van Wijngaarden form. They are applied wherever exact descriptions of languages are needed: for instance, in official language specifications, in manuals, and in textbooks on programming language theory.

Many extensions and variants of the original Backus–Naur notation are used; some are exactly defined, including Extended Backus–Naur Form (EBNF) and Augmented Backus–Naur Form (ABNF).

A BNF specification is a set of derivation rules, written as

<symbol> ::= __expression__where <symbol> is a nonterminal, and the __expression__ consists of one or more sequences of symbols; more sequences are separated by the vertical bar, '|', indicating a choice, the whole being a possible substitution for the symbol on the left. Symbols that never appear on a left side are terminals. On the other hand, symbols that appear on a left side are non-terminals and are always enclosed between the pair <>.

The ‚::=‘ means that the symbol on the left must be replaced with the expression on the right“

BareMetal OS – completely written in assembly

“ BareMetal OS – For a lean, mean, processing machine

BareMetal is a 64-bit OS for x86-64 based computers. The OS is written entirely in Assembly, while applications can be written in Assembly or C/C++. Development of the Operating System is guided by its 3 target segments:

  • High Performance Computing – Act as the base OS for a HPC cluster node. Running advanced computation workloads is ideal for a mono-tasking Operating System.
  • Embedded Applications – Provide a platform for embedded applications running on commodity x86-64 hardware.
  • Education – Provide an environment for learning and experimenting with programming in x86-64 Assembly as well as Operating System fundamentals.

Current version is 0.5.1 – released May 16, 2011.

BareMetal boots via Pure64 and has a command line interface with the ability to load programs/data from a hard drive. Current plans for v0.6.0 call for a more feature-rich C/C++ library for applications, DMA support for Hard Drives, Basic TCP/IP support, as well as general bug fixes and optimizations. The creation of BareMetal was inspired by MikeOS – A 16-bit OS written in Assembly used as a learning tool to show how simple Operating Systems work.“