Johannes Mittendorfer

Die Verschwörung der Woche: Wieso die ISS nicht existiert

In meiner Serie Die Verschwörung der Woche sammle ich in unregelmäßigen Abständen Links zu Inhalten, die offensichtlich haarsträubenden Irrsinn in Verbindung mit Verschwörungstheorien enthalten, aber gleichzeitig ungemein unterhaltsam sind.
Johannes Mittendorfer am 22.02.2015

In einem einstündigen (!) Video erklärt jemand, wieso die Internationale Raumstation nicht existiert und sowieso die gesammte Weltraumaktivität des Menschen Fake ist. Alle Aufnahmen sind angeblich von der NASA bei Hyperbelflügen produziert und durch Greenscreen-Technik mit einem Hintergrund versehen worden.

Video

[ISS Hoax - The International Space Station Does Not Exist!](https://www.youtube.com/watch?v=5e-RnKAN9qY)

Ich halte das alles für sehr seriös und zudem einleuchtend, denn erst gestern habe ich die Raumstation mit eigenen Augen als heller Lichtpunkt am Himmel gesehen und APRS-Signale empfangen.

Wer nicht mehr als ein paar Minuten von diesem Irrsinn verkraftet, dem sei vergeben, aber immerhin ist es ein großer Spaß, wenn man sieht welche angeblichen Beweise angeführt werden!

Die Android Actionbar mit Material Design

In der API-Version 21 von Android, genannt Lollipop, ist die Actionbar, wie man sie aus früherern Versionen kennt, als veraltet markiert. In die Bresche springt hier die neue Toolbar, die man wie jedes andere Layout-Element einbauen kann.
Johannes Mittendorfer am 08.01.2015

Um die alte Actionbar in einer ActionbarActivity auszublenden, bietet sich an, folgendes als Style zum Beispiel in der themes.xml anzugeben:

<?xml version="1.0" encoding="utf-8"?>
<resources>
	<style name="BaseTheme" parent="Theme.AppCompat.Light">
		<item name="windowActionBar">false</item>
	</style>
</resources>

Die Toolbar muss natürlich anschließend in jeder Activity eingebaut werden:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
	xmlns:android="http://schemas.android.com/apk/res/android"
	xmlns:tools="http://schemas.android.com/tools"
	android:layout_width="match_parent"
	android:layout_height="match_parent"
	tools:context=MainActivity">

	<include layout="@layout/toolbar_transparent"/>

</LinearLayout>


<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:theme="@style/Exoplanets.Actionbar.Color"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

Die aktuell benutzte Toolbar muss dann noch in der Activity gesetzt werden:

public class MainActivity extends ActionBarActivity {
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		// set view
		setContentView(R.layout.activity_main);
		// get toolbar
		toolbar = (Toolbar) findViewById(R.id.toolbar);
		// setup action bar
		setSupportActionBar(toolbar);
	}
}

Ich habe hier die Android-Support-Bibliothek verwendet.

Wie Großbritannien mal schnell das Internet zensiert

Bereits bei der Einführung des Jugendschutzprogrammes in Vereinigten Königreich, das zum Ziel hat pornografische Inhalte im Internet zu sperren, gab es Kritik.
Johannes Mittendorfer am 05.12.2014

Das Argument war, dass damit auch leicht andere, unbedenkliche Internetinhalte gesperrt werden, was einer Zensur entspricht. Der Filter lässt sich jedoch auf Wunsch des Kunden entfernen.

Mitte November dann er erwartete Schritt: Auch Terrorpropaganda wird gefiltert. Wohl als Reaktion auf die Terrororganisation Islamischer Staat sollte damit verhindert werden, dass Jugendliche als Kämpfer ins Kampfgebiet kommen.

Und seit heute wird auch der Chaos Computer Club gesperrt. Ein Hackerverein, der sich für die Informationsfreiheit und gegen staatliche Überwachung einsetzt.

So schnell kann es gehen von Kinderschutz zu Zensur von Seiten, die der britischen Regierung wohl im Zusammenhang mit der NSA-Affäre und dem CGHQ nicht passen.

Nur noch 6 Tage bis zur Landung auf einem Kometen!

Am Mittwoch gegen 17:00 mitteleuropäischer Zeit ist es endlich soweit.
Johannes Mittendorfer am 06.11.2014

Wir wissen, ob der Lander Philae der Rosetta-Mission der ESA erfolgreich auf dem Kometen 67P/Churyumov-Gerasimenko gelandet ist.

Komet
Der Komet (ESA/Rosetta/NAVCAM, CC BY-SA IGO 3.0)

Seit 2004 ist die Mission unterwegs, um unter anderem zu erforschen, ob das Wasser der Erde oder sogar das Leben oder dessen Bestandteile mit Kometen auf die Erde gekommen sind. 67P-C ist ein kurzperiodischer Komet, der vermutlich aus dem Kuipergürtel stammt und durch den Einfluss der äußeren Gasplaneten Neptun und Uranus in eine stärker exzentrische Bahn um die Sonne gelenkt wurde.

Spannend macht es die schwierige Landung, da die geringe Schwerkraft ein Abprallen gefährlich wahrscheinlich macht und auch die genaue Zusammensetzung der Oberfläche noch unerforscht ist. Zwei Harpunen und das Festbohren auf der Oberfläche sollen das verhindern.

Einen Livestream aus dem Kontrollraum des ESOC in Darmstadt wird es wohl wieder hier geben: <http://www.livestream.com/eurospaceagency> http://new.livestream.com/esa/cometlanding

Debuggen mit gdb

Johannes Mittendorfer am 17.10.2014

Der GNU Debugger, oder kurz gdb, der bereits in den meisten Linux-Distributionen enthalten ist, bietet eine einfache Möglichkeit in der Kommandozeile Programme zu debuggen. Gerade für Assembler-Anwendungen ist es damit einfach die Registerwerte auszulesen, den Speicher und den Stack zu begutachten.

Dazu sollten Debug-Informationen in die ausführbare Datei gespeichert werden. Für den Assembler as ist zum Beispiel die Option -g nötig. Dann kann man gdb mit gdb <executable> starten. Es öffnet sich die gdb shell.

johannes@ubuntu:~$ gdb executable
GNU gdb (Ubuntu 7.7-0ubuntu3.1) 7.7
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from executable...done.
(gdb)

Dort kann man einen Breakpoint auf eine Zeile setzen. break 31 fügt ihm zum Beispiel auf Zeile 31 ein. Um das Programm zu starten, dann run eingeben und gdb sollte die Ausführung am ersten Breakpoint pausieren.

(gdb) break 31
Haltepunkt 1 at 0x8048074: file executable.s, line 31.
(gdb) run
Starting program: /home/johannes/executable 

Breakpoint 1, _start () at executable.s:32
warning: Source file is more recent than executable.
32	    movl $0, %edi						# init counter
(gdb) 

Um die Werte der Register anzusehen, dann einfach info registers oder kurz i r eingeben.

(gdb) i r
eax            0x0	0
ecx            0x0	0
edx            0x0	0
ebx            0x0	0
esp            0xffffcfb0	0xffffcfb0
ebp            0x0	0x0
esi            0x0	0
edi            0x0	0
eip            0x8048074	0x8048074 <_start>
eflags         0x202	[ IF ]
cs             0x23	35
ss             0x2b	43
ds             0x2b	43
es             0x2b	43
fs             0x0	0
gs             0x0	0
(gdb) 

Mit continue oder c kann man die Ausführung fortsetzen.