S{o}cial
Gizmeo.eu RSS-Feed c1 auf LinkedIn c1 auf Google+ c1 bei YouTube Gizmeo.eu als Android-App
Komm{e}ntare
  • Borno: interessant! danke
  • Abbey: Vielen Dank Probiere es jetzt mal aus war früher mal im darknet aber hatte absolut keine Ahnung mehr wie es...
  • c1ph4: @Unknownuser: Wo? Ist deine Version die neueste aus dem FDroid-Repository? Sehe hier keine. Versuch‘ mal...
  • c1ph4: @R2D2:Ist eine spezielle Firefox-Version für Orbot. Meine Präferenz im Tutorial hier war der übliche Firefox...
  • Unknownuser: Was ist die weltkugel in orbot?
Archi{v}

Sie sind momentan im Archiv der Kategorie Cyberpunk.

Wer{b}ung
Cr{e}dits
Created, Made & Maintained by AETHYX.EU

Archiv für die Kategorie „Cyberpunk“

s.o.p.h.i.a.

Gestatten, Sophia:

Androidin Sophia haelt Rede bei der UN
Quelle: UN Photo/Manuel Elias

Sophia ist eine Androidin entwickelt von Hanson Robotics, 18 Monate jung, die jüngst bei einer Rede im UN-Hauptquartier in New York zum Thema „The Future of Everything – Sustainable Development in the Age of Rapid Technological Change“ – zu dt.: „Die Zukunft von allem – Nachhaltige Entwicklung im Zeitalter des rapiden technologischen Wandels“ teilnehmen durfte. [via]

Sophia wurde laut ihrem Schöpfer David Hanson so entwickelt, dass ihr Design dem Knüpfen von Beziehungen dient. Das mache sie laut Hersteller zu einem social robot. Anwendungsbereiche von Sophia sollen dann Bildung, Fabrikarbeit(?), Rettungsaktionen sein. Das ist schon sehr nah an dem, was uns seit den 80ern in Filmen wie „Blade Runner“ erzählt wird.

Die Realität denke ich, wird anders aussehen.

Porno war schon immer der treibende Motor, der neuartigen Technologien zum Durchbruch verholfen hat. Prominente Beispiele sind VHS und das Internet. Ein Schöpfer, der nichts Gutes für seine Kreationen will, wäre kein menschlicher Schöpfer. Leider ist die Gier oft der Motor aller menschlicher Handlungen. Das weiß sicher auch ein Mr. Hanson. Nur leider kann man das auf einem UN-Symposium schwer mitteilen. Daher habt ihr das exklusiv von mir jetzt. Pris grüßt uns schön aus dem Jahr 2017…

[S.O.P.H.I.A. - Sub-Optimal Philantropic Half-Intelligent Android]

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

blade runner 2049

„Blade Runner“ befindet sich tief verwurzelt in meiner eigenen DNS. Dabei war mir der Film anfangs überhaupt nicht bekannt, ich kam 1997 durch das gleichnamige PC-Spiel von Westwood Studios auf den Geschmack. Ein auf der tiefen und düsteren Atmosphäre aufbauendes, vier CD-ROMs umfassendes Adventure mit 7 verschiedenen Endings. Ohne PC-Heft und einem entscheidenden Hinweis kam ich immerhin auf 6 von 7 Endings. Man könnte meinen, mit 15 hätte ich nichts anderes gemacht. Waren schöne PC-Zeiten. Das Spiel mit dem übergroßen Karton hüte ich noch heute wie einen kleinen Schatz.

Mit „Blade Runner 2049“ läuft nun nach 35(!) Jahren seit gestern die offizielle filmische Fortsetzung in den Kinos dieser Welt. Ich war drin. Um es kurz zu machen: kompromisslos & sensationell!

Ryan Gosling als K in Blade Runner 2049

Woran es „Blade Runner“ nie mangelte war eine authentische Endzeit-Cyberpunk-Atmosphäre. Immerhin spielen die Handlungen der Filme und auch des Videospiels nach dem dritten Weltkrieg. Es regnet andauernd, die Sonne ist verschwunden. Es gibt kaum noch belebte Landstriche, selbst die erlaubte Reichweite der Spinner des LAPD sind begrenzt. In dieser Welt gibt es keine andere Möglichkeit als die Urbarmachung Maschinen zu überlassen. Im „Blade Runner“-Kosmos sind das die sogenannten „Haut-Jobs“, Nexus 6er im Original von 1982, Nexus 8er in der gegenwärtigen Verfilmung. Hinzu kommt ein Soundtrack gemeinsam arrangiert und (fast) perfekt zugeschnitten von Hans Zimmer und Benjamin Wallfisch. Und ja, es gibt auch wieder die unvergleichlichen mystischen Vangelis-Sounds.

Optik & Sound: 10 von 10

Bei der Handlung hat man sich einem ungewöhnlichen und weniger naheliegenden Thema bedient. Waren im Original die Nexus 6-Hautjobs noch an einer Verlängerung ihrer nur auf wenige Jahre konzipierten Lebenserwartung interessiert, lautet die Frage nun statt „träumen Androiden von elektronischen Schafen?“ (Original-Text von Philip K. Dick): „träumen Androiden eigentlich von Familie und eigenen Kindern?“

Ich persönlich war überrascht, der „Blade Runner“-Stoff lässt viele Fragen offen. Aber wohl eine der schwierigsten zu beantworten versucht man hier in der Fortsetzung „Blade Runner 2049“ tatsächlich. Und es wird ebenfalls versucht das in knapp unter drei Stunden zu schaffen. Ziemlich unmöglich. Was ein Irrsinn! Hollywood mit Mut im ersten Jahr Trump!? Wie erfrischend!

Wer bei aller Bild- und Soundgewalt eine solch anspruchsvolle Handlung versuchen will einem Millionenpublikum verständlich zu machen, braucht Feingefühl und Budget bei den dafür benötigten Schauspielern. Und ganz in Manier des Originals hat man es geschafft, zum großen Glück von „Blade Runner“-Kennern und Fans. Ich will zur Handlung daher keine Worte mehr verlieren (freut euch drauf!) und mich nun der Riege der Darsteller widmen.

Handlung: 9 von 10

So wichtig wie Harrison Ford als Deckard war natürlich auch: ist Sean Young als Rachael dabei? Ja, ist sie! Allerdings nicht „real“, sondern sie stand zur Verfügung für einen auf CGI-Technik basierenden Klon. Und: auch Gaff kommt kurz zurück, der grimmige Origami-Zocker! Allerdings in einem mental eher bescheidenen Zustand.

Deckard mit Hommage an den Klassiker

Seit „Drive“ bin ich überzeugt von Ryan Gosling, war also für mich von Anfang an der richtige Mann für die neue Hauptrolle. Jared Leto, naja. Geschmäcker sind verschieden. Doch „Requiem for a Dream“ ist für mich weiterhin einer der besten Filme aller Zeiten. Als blinder Niander Wallace macht er eine gute Figur.

Wären die „alten Hasen“ abgehakt, was mich allerdings mehr faszinierte war der superbe und internationale Cast!

Da spielt Ana de Armas aus Kuba eine sexy 3D-KI. Model Sylvia Hoeks aus Holland die eiskalte und subtil-erotische Handlangerin Luv von Niander Wallace. Mackenzie Davis aus Kanada eine Pris sehr ähnliche Prostituierte. Carla Juri aus der Schweiz die Biologin und [DarfIchNichtVerraten]. Lennie James aus England den Supervisor einer iPhone-Kinderfabrik. Barkhad Abdi aus Somalia den Typen vom Markt, der echte von unechten Tieren unterscheiden kann. Hiam Abbass aus Israel die Anführerin einer Replikanten-Armee. Und Tómas Lemarquis aus Island den Verwalter einer firmeninternen Hautjob-Hersteller-Datenbank.

Und was das Schönste ist: die wirken auch noch alle überzeugend! Also entweder hatten die wirklich alle Bock drauf oder es waren einfach sehr schöne Drehtage in Budapest!

Cast: 11 von 10

Der Kanadier Denis Villeneuve hat mit „Blade Runner 2049“ ein Science-Fiction-Meisterwerk geschaffen. Die Effekte und Sounds dieses Films sind heute sicher etwas einfacher herzustellen und umzusetzen, aber sicher nicht günstiger geworden. Man kann den Film daher beruhigt als sehr gelungenes Sequel anschauen, mit allen Stars, die man im Original schätzen und lieben gelernt hat, der selben düsteren Atmosphäre, dem selben unvergleichlichen Soundtrack. Einzig: die Fortsetzung ist härter, kompromissloser. Und auch emotional kälter.

Wer es wagt die audiovisuelle Faszination beiseite zu schieben, die schon alleine den Eintritt locker lohnt, bekommt eine der ungemütlichsten Fragen der KI-Forschung gestellt: was für Probleme könnten sich ergeben, wenn intelligente Roboter zur Fortpflanzung fähig wären? Philip K. Dick weilt seit 1982 nicht mehr unter uns. Ich denke diese Frage wäre seiner philosophischen Genialität durchaus würdig gewesen. Man muss dem Drehbuch hoch anrechnen, dass einem Popcorn-Publikum verkaufen zu wollen. Hut ab.

Drittens, wer ein Auge für so etwas hat: was ein geniales Timing! Schnitte, Szenen, kreuzende Charaktere und Objekte. Respekt! Im Gedächtnis geblieben ist einer der besten Filmschnitte seit Jahren, als man kurz nur noch Wasserfälle sieht. Und die musikalische Untermalung dazu. Gänsehaut. Szenenwechsel in Perfektion. Und auch keine Ahnung wie das mit Deckard, K an der Bar und dem Hund im Casino funktioniert hat. Ein wirklicher Hochgenuss und bei weitem nicht die einzigen.

Danke an die unfassbar talentierten und geduldigen Teams der beiden Hauptfilme!
Danke für die Möglichmachung eines Traums!
Danke, dass Ihr die Umsetzung einer Fortsetzung nicht verbockt habt!
Danke, dass ich nach vielen Jahren mal wieder einen Grund hatte ins Kino zu gehen. Und nicht enttäuscht wurde.
Danke für unfassbar wertvolle 163 Minuten.

„All those moments will be lost in time. Like tears in the rain.“ – Roy in „Blade Runner“ (1982)

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

in den klauen des maschinengotts

Erst Mitte des Jahres habe ich „Homo Deus“ von Yuval Noah Harari gelesen, ein gutes und faszinierendes Buch (voller kleiner Detailfehler), worin auch eine neuere „Religion der Daten“ angesprochen wird. Die Jünger dieser Religion sind erkennbar an Smartwatches und diesen ominösen „Smart Fitness Armbändern“, permanent damit beschäftigt Puls, Blutzucker, Hormonspiegel, [DeinKörperattributHier], etc. zu messen.

Es geht aber noch eine Spur härter. Praktisch unausweichlich in diesen harten, „postfaktischen Zeiten“.

Voran geht ein berüchtigter Multimillionär namens Anthony Levandowski. Gegen Levandowski wird gerade ermittelt, denn er hat bei einem Stellenwechsel aus Versehen geheime Geschäftsdokumente von Googles Fahrdienst Waymo zum ominösen Konkurrenten Uber mitgenommen. Dass Multimillionäre auch dann zu viel Freizeit haben, wenn Verfahren gegen diese laufen, beweist sein neuestes „Projekt“: er gründete jüngst eine neue Religion, die er „Way of the Future“ (Weg der Zukunft) nennt. [via]

Sein „Weg der Zukunft“ erinnert schon vom Namen her stark an Scientology. Der Gott dieser neuen Religion ist aber noch stark „under construction“, denn Ziel ist, Zitat:
„eine Gottheit basierend auf künstlicher Intelligenz zu entwickeln und zu unterstützen“.
Die Anbetung dieser Gottheit soll ebenso „zur Verbesserung der Gesellschaft“ beitragen. Aber klar doch! Es geht hier nicht um C.R.E.A.M.! Ist alles nur zum Besten der Menschheit!1

Levandowski hat jetzt hier zwei grandioseste Aktionen im selben Jahr durchgeführt, für den ich ihn ehrfurchtsvoll vorschlage für den Titel „Vollpfosten des Jahres“.

Zudem kam mir dieser ganze KI-Gott-Schwachsinn irgendwie bekannt vor…

Im Videospiel-Blockbuster „Deus Ex: Mankind Divided“ aus dem Jahr 2016 gibt es haufenweise Ebooks und NPCs (nicht-spielbare Charaktere) zur Kirche des Maschinengotts, ein Fanatiker steht sogar gleich unten im Hof der allerersten Absteige der Hauptfigur Adam Jensen in Prag und verteilt Flugblätter:

Maschinengott-Fanatiker
Maschinengott-Fanatiker in „Deus Ex: Makind Divided“, © Eidos Montreal

Selbst im selben Apartment-Komplex gibt es eine kleine Sektierer-Wohnung, die Wand dort kann man exemplarisch für das sehen, was Levandowski in natura wohl unter seiner Schädeldecke versteckt:

Deus Ex Mankind Devided: The Void Which Ends
„The Void Which Binds“ aus „Deus Ex: Makind Divided“, © Eidos Montreal

An der Wand steht das Gekrakel „The Void Which Binds“, also so viel wie „Die Leere, die verbindet“.

Worauf ich eigentlich hinaus wollte, ist: KI-Gott, hatten wir schon. Gääähhhnnnn…

Wer das Spiel gespielt hat, wird nicht nur sehr gut vorbereitet sein auf das, was Levandowski hier eigentlich vor hat (und nebenbei sehen, dass die Idee geklaut ist, Eidos sollte dagegen klagen), der wird auch erkennen, wie grandios die Idee scheitert und welche Konsequenzen das für die Menschen hat.

In „Mankind Divided“ weiß eigentlich niemand mehr so recht, warum sie/er sich dieser „Kirche des Maschinengotts“ angeschlossen hat. Der KI-Gott hier ist nicht greifbar (wie bei Gottheiten üblich), wird mal so interpretiert, man erlange den Zustand selbst durch „Aszension“ (50% Verschmelzung mit der Maschine, 50% mit Drogen), mal so, er zeige sich in den Charakteren, die geholfen haben ihn groß zu machen; wäre analog zu Levandowski natürlich Levandowski selbst, eine/r seiner ProgrammiererInnen und/oder Querdenker und Visionäre mit Ideen, die diesen KI-Gott (oder welcher periphere Kladaradatsch dazu auch immer) umsetzen halfen. Kurzum: man kann mit diesen Menschen nichts mehr anfangen. Human garbage.

Was wir im Jahr 2017 brauchen sind keine neuen Religionen: es gibt nach wie vor zu viele davon. Oder sagen wir besser, es gibt zu viele Menschen, die Religionen unterstützen. In meiner Weltsicht gibt es auf diesem Planeten aktuell keine 7,5 Milliarden Menschen. Zu „normalen Menschen“ zähle ich einfach, wer konfessionslos ist und das sind weltweit gerade mal 1,05 Milliarden Menschen. Die restlichen 6,45 Milliarden heute sind für mich nicht ganz dicht, haben einen gewaltigen Sprung in der Schüssel und hindern die Menschheit daran voranzukommen. Sie glauben an männliche Götter mit weißer Hautfarbe, steuern Flugzeuge in Gebäude und schreien „allahu akbar!“ als Erwachsene mit angezogenen Windeln, platzieren Nagelbomben in U-Bahnen oder propagieren die Weltsicht, der Planet Erde sei nur ein paar Tausend Jahre alt. Der ideale Nährboden zwar für KI- oder Maschinengötter. Aber nichts, was mich davon überzeugen würde eine Familie zu gründen und Nachwuchs in diese Welt zu setzen. Die Welt ist gefährlich, da draußen. Und Multimillionäre aus den USA sowieso.

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

howto: eigenes privates ethereum-netzwerk

Hinter Bitcoin ist Ethereum die Kryptowährung mit dem höchsten Marktwert. Wenngleich wir heute noch auf _die_ Killer-App warten, das Meiste sind doch nur Coin-Börsen & Wallets, so ist Ethereum in der Hinsicht vielversprechend, als dass die Währung als „turing complete“ gilt, man kann also im Gegensatz zu Bitcoin dafür und damit „richtig programmieren“.

Mit der folgenden Anleitung bauen wir uns heute ein eigenes privates Ethereum-Netzwerk!

Ethereum Logo Portrait Black X-Small

WARNUNG: die Durchführung des Tutorials geschieht auf eigene Gefahr. Ich übernehme keinerlei Garantie dass irgendwas funktioniert! Auch solltet ihr darauf achten, dass ihr eure eigenen Ethereum von diesen erstellten Ethereum getrennt aufbewahrt. Das Tutorial soll dazu dienen, a) für Ethereum zu programmieren und richtet sich an Entwickler, b) einen einfachen „smart contract“ aufzusetzen, sowie c) das wohl Wichtigste, zu verstehen, wie Ethereum funktioniert.

Los geht’s! 🙂

1. Vorbereitungen

Ihr braucht Zugang zu einem eigenen Server-Bereich und den geth („Go Ethereum Client“). In dieser Anleitung nehmen wir mal an, ihr betreibt einen Ubuntu-Server. Hier findet ihr die Anleitung für die geth-Installation unter Ubuntu: geth installieren. Ferner solltet ihr um minen zu können mindestens 2GB RAM bereitstellen.

Das private Netzwerk wird „gizmeodoteu“ genannt. Es ist aufrufbar unter der Fake-IP-Adresse 101.102.103.104.

Öffnet nun ein Konsolenfenster, loggt euch über SSH in Ubuntu ein und erstellt ein Arbeitsverzeichnis:

ssh root@101.102.103.104
mkdir gizmeodoteu
cd gizmeodoteu
mkdir data
mkdir source

2. Generierung des Genesis-Blocks

Der Genesis-Block ist der allererste Block jeder Blockchain und die Parameter sind in der Datei genesis.json definiert. Die Datei speichern wir ab unter /root/gizmeodoteu/genesis.json. Hier der Inhalt der Datei:

{
"config": {
"chainId": 15,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},

"alloc" : {
"0x0000000000000000000000000000000000000001": {"balance": "111111111"},
"0x0000000000000000000000000000000000000002": {"balance": "222222222"}
},

"coinbase" : "0x0000000000000000000000000000000000000000",
"difficulty" : "0x00001",
"extraData" : "",
"gasLimit" : "0x2fefd8",
"nonce" : "0x0000000000000209",
"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00"
}

Hierbei steht chainId=1 für das Ethereum-Hauptnetzwerk. Daher ist es wichtig eine eigene chainId für euer privates Netzwerk zu nehmen, damit euer privates Netzwerk die Blockchain nicht mit der offiziellen verwechselt.
Zum Testen und für ein allgemein besseres Verständnis, setzen wir die Schwierigkeit auf einen niedrigen Wert. Auch sollte ein einzigartiger Wert für nonce gewählt werden. Über das Feld alloc werden Accounts mit Ether (die Ethereum-Währung) vorgefüllt.

Geht nun in euer Verzeichnis, wo ihr die genesis.json abgelegt habt und initialisiert den bootnode. Das ist der Knoten, mit welchem sich euer Client mit dem privaten Netzwerk verbinden und auch mit anderen Knoten kommunizieren kann:

cd /root/gizmeodoteu/data
geth --datadir=/root/gizmeodoteu/data init /root/gizmeodoteu/genesis.json
bootnode --genkey=boot.key
bootnode --nodekey=boot.key

3. Neuen Account erstellen und Kontostand prüfen

Öffnet ein neues Konsolenfenster und wechselt über SSH auf euren virtuellen Server:

ssh root@101.102.103.104
geth attach /root/gizmeodoteu/data/geth.ipc
> eth.accounts

Natürlich gibt es noch keine Adressen von Konten. Den ersten Account eröffnen wir nun. Ersetzt „meinPW“ mit einem starken Passwort, bewahrt dieses an einem sehr sicheren Ort auf. Ethereum vergibt nicht: ohne dieses Passwort werdet ihr niemals mehr Zugang zu eurem Account haben:

> personal.newAccount("meinPW")
> web3.fromWei(eth.getBalance(eth.accounts[0]), "ether")

Speichert eure Adresse gut ab, diese beginnt mit dem Präfix 0x. Auch gibt es noch keine Ether in diesem Account, dazu kommen wir noch. Natürlich ist das geminte Ether hier nur nützlich in eurem privaten Netzwerk.

4. Im privaten Netzwerk minen

Das Minen hier hat doppelten Zweck: Ether erzeugen um die Transaktion durch gas, eine Ethereum-Untereinheit, zu betreiben. Zudem führt das Minen eure Transaktionen in die Blockchain.

Öffnet ein neues Konsolenfenster und verbindet euch zu eurem privaten Server:

ssh root@101.102.103.104
geth --datadir=/root/gizmeodoteu/data --mine --minerthreads=1 --etherbase=0x...

Der Parameter etherbase hier spezifiziert die Zieladresse, wohin eure durch das Mining generierten Ether gesendet werden sollen. Hier steht eure Wallet-Adresse aus Schritt 3. Wenn ihr nun den Kontostand erneut checkt (siehe Schritt 3), solltet ihr eine große Zahl angezeigt bekommen. Gratulation! Ihr seid nun Ether-Milliardär!

Klar, diese generierten Ether sind nur wertvoll innerhalb eures privaten Netzwerks. Trotzdem geil! Ihr wisst nun, wie ihr für Ethereum entwickeln könnt und _das_ ist wirklich unbezahlbar.

5. Einen einfachen Vertrag kompilieren

Die offizielle Dokumentation zu Ethereum erwähnt nicht, dass das Kompilieren über solC nicht mehr via RPC möglich ist. Alle Tutorials, die darauf aufbauen, enden in einer Art Fass ohne Boden. Es gibt wohl 2 Wege Verträge zu kompilieren, es ist für das eigene Verständnis wichtig, beide mal versucht zu haben.

Als Erstes installiert ihr den Kommandozeilen-Compiler solC:

sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install solc

Öffnet nun erneut ein Konsolenfenster, verbindet euch über SSH mit eurem Server und navigiert zum Verzeichnis, wo euer Quellcode abgelegt wird:

cd /root/gizmeodoteu/source

Speichert den folgenden „Begrüssungs“-Vertrag in /root/gizmeodoteu/greeter.sol:

contract mortal {

/* Variable "owner" vom Typ address definieren */
address owner;

/* diese Funktion wird bei Initialisierung ausgeführt und setzt den Besitzer des Vertrags */
function mortal() { owner = msg.sender; }

/* Funktion, um die Investionen des Vertrags wiederherzustellen */
function kill() { if (msg.sender == owner) selfdestruct(owner); }
}

contract greeter is mortal {
/* Variable "greeting" vom Typ string definieren */
string greeting;

/* das hier wird ausgeführt, wenn der Vertrag aufgerufen wird */
function greeter(string _greeting) public {
greeting = "Hallo, Welt!";
}

/* Hauptfunktion */
function greet() constant returns (string) {
return greeting;
}
}

Jetzt kompilieren wir den Vertrag mit solC:

solc --bin --abi -o /root/gizmeodoteu/source /root/gizmeodoteu/source/greeter.sol

Das Setzen von bin und abi sagen dem Compiler, dass „Ethereum Virtual Machine (EVM)“-Bytecode und eine Datei Application Binary Inferface (ABI) erstellt werden sollen. Mit -o legt man wie üblich ein Ausgabeverzeichnis fest, welches mit der zweiten Angabe des Verzeichnisses mit einer *.sol-Datei abgeschlossen wird.

Die Kompilierung hier erzeugt zwei Dateien:

– eine EVM-Datei, erkennbar an der Endung *.bin. Diese entspricht dem Vertrags-Bytecode, der vom webbasierten Compiler generiert wird; dieser ist einfacher zu verwenden und wird weiter unten vorgestellt.

– eine ABI-Datei, erkennbar an der Endung *.abi: stellt euch das application binary interface als eine Art Vorlage für den Vertrag vor. Das erleichtert die Kommunikation von euch und anderen mit dem Vertrag, sobald er sich in der Blockchain befindet.

Öffnet beide Dateien nun mit nano oder einem anderen Texteditor eurer Wahl. Indem ihr versteht, was darin steht, werdet ihr weniger Mühe damit haben eure Verträge zu veröffentlichen und mit ihnen zu interagieren.

Alternativ dazu könnt ihr auch den Online-Compiler benutzen. Durch einfaches Copy&Paste nimmt dieser euch die Arbeit ein bisschen ab. Jedoch sind beide Methoden gleichwertig.

Kopiert dazu einfach den Text aus greeter.sol von oben in den Online-Compiler. Wartet einen Moment und klickt dann auf den Link „Contract details…“. Der Inhalt des Felds Bytecode sollte mit dem aus der Datei greeter.bin übereinstimmen. Das Selbe gilt für das Feld Interface aus der Datei greeter.abi.

6. Einen „Begrüssungs“-Vertrag in eurem privaten Netzwerk veröffentlichen

Kopiert den Inhalt des Feldes Web3 deploy in den Online-Compiler. Fügt den Inhalt in einen Texteditor eures PCs und achtet auf die hervorgehobenen Bereiche:

var _greeting = 'gizmeoDOTeu rockt!';

var browser_ballot_sol_greeterContract = web3.eth.contract([{"constant":false,"inputs":[],"name":"kill","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"greet","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"inputs":[{"name":"_greeting","type":"string"}],"payable":false,"type":"constructor"}]);

var browser_ballot_sol_greeter = browser_ballot_sol_greeterContract.new(

_greeting,

{

from: web3.eth.accounts[0],

data: '0x6060604052341561000f57600080fd5b6040516103dd3803806103dd833981016040528080518201919050505b5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6040805190810160405280600d81526020017f48656c6c6f2c20576f726c642100000000000000000000000000000000000000815250600190805190602001906100b99291906100c1565b505b50610166565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061010257805160ff1916838001178555610130565b82800160010185558215610130579182015b8281111561012f578251825591602001919060010190610114565b5b50905061013d9190610141565b5090565b61016391905b8082111561015f576000816000905550600101610147565b5090565b90565b610268806101756000396000f30060606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806341c0e1b514610049578063cfae32171461005e575b600080fd5b341561005457600080fd5b61005c6100ed565b005b341561006957600080fd5b61007161017f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100b25780820151818401525b602081019050610096565b50505050905090810190601f1680156100df5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561017c576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b5b565b610187610228565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561021d5780601f106101f25761010080835404028352916020019161021d565b820191906000526020600020905b81548152906001019060200180831161020057829003601f168201915b505050505090505b90565b6020604051908101604052806000815250905600a165627a7a7230582069d50e4318daa30d3f74bb817c3b0cb732c4ec6a493eb108266c548906c8b6d70029',

gas: '1000000'

}, function (e, contract){

console.log(e, contract);

if (typeof contract.address !== 'undefined') {

console.log('Contract mined! address: ' + contract.address + ' transactionHash: ' + contract.transactionHash);

}

})

Das oben abspeichern als myContract.js.

Bevor ihr fortfahrt prüfen, dass a) euer Kontostand nicht 0 ist und b) euer Account entsperrt ist. Ist der Kontostand zu niedrig oder der Account gesperrt, könnt ihr den Vertrag nicht veröffentlichen. Deshalb solltet ihr die obigen Schritte nochmals abarbeiten, um Ether zu minen und entsperrt dann euren Account wie folgt (ersetzt „meinPW“ mit eurem eigenen von oben):

Öffnet ein neues Konsolenfenster:

ssh root@101.102.103.104
geth attach /root/gizmeodoteu/data/geth.ipc
> web3.fromWei(eth.getBalance(eth.accounts[0]), "ether")
> personal.unlockAccount(eth.accounts[0], "meinPW")

Bitte nicht abschalten, denn es wird wichtig: auch hier gibt es kein Update der Dokumentation zu Ethereum, daher gibt es Verwirrungen, wie man Verträge kompiliert. Beachtet, dass die Funktion web3.eth.contract() ein Argument braucht. Das ist das selbe, wie die Datei greeter.abi, die wir mit dem solC erstellt haben. Das Feld data ist gleichbedeutend mit dem EVM-Bytecode der Datei greeter.bin. Der einzige Unterschied ist wieder das Präfix 0x.

Jetzt wird der Vertrag öffentlich gemacht:

loadScript(myContract.js)

Die Ausgabe sollte ungefähr so aussehen:

Contract mined! address: 0x4000737c8bd7bbe3dee190b6342ba1245f5452d1 transactionHash: 0x0a4c798467f9b40f2c4ec766657d0ec07c324659ea76fcc9c8ad28fc0a192319

Glückwunsch! Euer Vertrag „lebt“ und ist zu finden unter der Adresse 0x4000737c8bd7bbe3dee190b6342ba1245f5452d1 eurer privaten Blockchain.

Notiert euch diese, denn sowohl ihr oder auch andere werden diese brauchen, wenn ihr damit interagieren wollt.

Falls es nicht funktioniert hat: stellt sicher, dass ihr aktiv in einem anderen Fenster minet, damit die Transaktion in die Blockchain geführt werden kann.

7. Mit dem Vertrag interagieren

Auch hier gibt es noch keine Updates der offiziellen Ethereum-Doku. Die beschriebenen Funktionen werden schon nicht mehr benutzt. Startet erneut geth und versucht Folgendes:

> var abi = '[{"constant":false,"inputs":[],"name":"kill","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"greet","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"inputs":[{"name":"_greeting","type":"string"}],"payable":false,"type":"constructor"}]'
> var abi = JSON.parse(abi)
> var contract = web3.eth.contract(abi)
> var c = contract.at("0x4000737c8bd7bbe3dee190b6342ba1245f5452d1")
> c.greet()

Mit den ersten drei Eingaben legt ihr fest, wie der Vertrag laut ABI aussieht. Die Methode contract.at() braucht als Übergabeparameter die Adresse, wo euer Vertrag residiert. Ihr solltet nun die folgende Ausgabe sehen:

gizmeoDOTeu rockt!

Hinweis: geth bekommt Schnupfen, sobald eine eurer Eingaben illegale Zeichen beinhaltet, siehe:

“ (illegal) is not equal to " (legal)

und

‘ (illegal) is not equal to ' (legal)

9. Fazit

Wir haben nun mehr als nur kurz mal reingeschnuppert in Ethereum: wir haben ein eigenes (privates) Netzwerk aufgesetzt und sogar einen eigenen „smart contract“ kompiliert. Zudem haben wir Sackgassen der offiziellen Dokumentation vermieden. Wir haben ferner gesehen, wie man einen Vertrag veröffentlicht (deploy) und mit diesem interagiert.
Solltet ihr je Mist gebaut haben und müsst nochmals neu anfangen, startet „einfach“ euren Server neu und löscht eure Blockchain:

rm -R /root/gizmeodoteu/data/geth/chaindata

[via]

10. Ausblick

Die smart contracts sind, was Ethereum so stark macht. Durch diese Eigenschaft entfällt die Stelle des Vermittlers, Verträge werden dadurch fälschungssicher und günstig. Nicht nur Notare werden zukünftig dadurch überflüssig. smart contracts haben das Zeug dazu, ganze Institutionen, egal ob privat oder staatlich, zu ersetzen.

Ferner ist Ethereum „turing complete“: diese Eigenschaft besitzt das Bitcoin-Protokoll nicht. Dadurch kann man für Ethereum relativ leicht selbst Anwendungen entwickeln. Wer schonmal JavaScript programmiert hat, wird sich hier prima zurecht finden. Vielleicht hilft dieses Tutorial ja, mal mit einer anderen Anwendung an den Start zu gehen, als nur Wallets oder Coin-Börsen! 🙂

Falls euch das Tutorial gefallen hat, spendet mir doch ein paar Bitcoin! Die Adresse findet sich bei jedem Bitcoin-Button überall auf gizmeo.eu verstreut! Vielen Dank für die Aufmerksamkeit und happy hacking!

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

monero mit android minen

Der aktuelle Bitcoin-Kurs von 2.xxx€ beflügelt natürlich auch alternative Kryptowährungen. Trump und Brexit sei Dank! xD Es zahlt sich heutzutage aus, dass man herausragt mit ein bisschen Intelligenz in einem komplett verdummenden Westen. 😉

Soll aber gar nicht das Thema sein, denn eigentlich will ich kurz erzählen, wie man Monero mit Android minet.

Monero Icon

Ihr braucht dafür die App Minergate. Minergate bietet ca. 7(?) Kryptowährungen an, die man mit einem Android-Gerät minen kann. Alle anderen angebotenen außer Monero sind allerdings meiner bescheidenen Meinung nach Schwachsinn.

Jedenfalls, ihr ladet die App, registriert euch bei den Kollegas online einen Account, loggt euch mit den Daten bei der App ein und könnt loslegen!

Im Schnitt sind es 1 Hash pro CPU-Kern. Sprich, habt ihr einen Quadcore in eurem Smartphone werkeln, macht das 4 Hashs/Sekunde. Habt ihr einen echten Octacore, macht das 8 Hashs/Sekunde. Usw.

Der aktuelle Monero-Kurs steht gerade irgendwo zwischen 30-40€. Es ist außerdem eines der am schnellsten wachsenden alternativen Kryptowährungen-Netzwerke. Und: wenn ihr ein Faible für Anonymous habt, ist DAS eure Kryptowährung! Warum, das könnt ihr in aller Ausführlichkeit oben im Wikipedia-Artikel nachlesen. Grob: es ist die zugrundeliegende Philosophie dieser Währung. Passt!

P.S.: es war reiner Zufall, dass ich herausgefunden habe, wie man Monero mit Android minet. Alle Währungen der App sagten mir gar nichts, ich empfehle auch nicht eine andere zu minen als Monero. Dank geht raus an meinen Wiener WG-Kollegen, der so durch war das letztes Jahr mal mit einem Octacore-Billig-Smartphone zu testen!

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

gecko statt chromium als engine nutzen!?

Google nimmt uns mobilen Webbrowser-Entwicklern seit Android 4.4 schon viel ab, indem wir seitdem standardmäßig auf die Chromium-Engine zurückgreifen dürfen, was bis zu dieser Version nicht der Fall war: da waren wir noch auf WebKit angewiesen. Seitdem unterscheiden sich unsere selbst entwickelten Apps im Funktionsumfang so gut wie nicht mehr vom großen Chrome/Chromium.

Dadurch sind wir auch automatisch „näher an Open-Source“, aber um den infantilen, jedoch sehr amüsanten Krieg zwischen Google (Chromium/Blink) und Apple (Safari/WebKit) soll es hier ohnehin nicht gehen. Die Spacken der Zunft brauchen auch noch was zum Schreiben diesen Sommer.

Als Entwickler für eine offene Plattform, die Android ist und das vielleicht vielversprechendste Open-Source-Projekt aller Zeiten darstellt, schaue ich persönlich gerne nach rechts und links. Waren wir mit unseren Browser-Engines vor Android 4.4 immer als „Android-Browser“ ausgewiesen, etwa in Google Analytics, Piwik, etc., sind wir seit 4.4 nur noch als Chrome bzw. Chrome Mobile sichtbar. Inklusive Icon.

Cool, denke ich, hey, Mozilla entwickelt doch mit Gecko auch eine eigene Engine, lass mich den Scheiß doch auch mal ausprobieren! Dann kommt immer ein Firefox-Icon! ^^

Ich muss dazu sagen, ich habe rein gar nichts gegen Chrome, doch meine persönliche Geschichte und auch meine (egoistische?) Ethik wollen es so, dass ich Firefox und dessen Derivaten eben „positiver“, zumindest aber enthusiastischer, gegenüberstehe. Hey, ich komme aus einer Zeit, da war IExplorer DER Standard! Und DAS war beileibe keine schöne oder angenehme Web-Welt! Wettbewerb und auch die Technik heute (Chrome ist ein technisch exzellenter Browser) sind mir da viel lieber und so ein bisschen Flaming, bei oder neben der Arbeit, schadet auch nicht.

Zurück zum Thema: Wie baue ich jetzt Gecko in meinen Browser anstatt Chromium?

Kurze Antwort: gar nicht. Zumindest nicht die nächste Zeit.

Auf meiner Suche nach irgendwas dazu fand ich über stack overflow (wo sonst :-D) diesen Beitrag: https://stackoverflow.com/questions/6352654/use-firefox-as-render-engine-for-android-webview. Ganz unten, ca. 2 Jahre alt, steht eigentlich alles was man dazu wissen muss.

Das offizielle Mozilla-Tutorial exisitert sogar noch unter diesem Link: https://wiki.mozilla.org/Mobile/GeckoView. Sieht alles machbar aus, aber der Satz hier feuert eben genau in den Rücken eines jeden Gecko-Mobile-Developers:

„Note that GeckoView is NOT ready to be used in a production environment. It is currently possible to load webpages, but that’s about it.“

Hinzu kommt, rein aus Neugier könnte man die zwei Jahre alte Idee ja mal ausprobieren, kein Thema. Doch die zwei essentiellen ZIPs, die man braucht, sind unter dem Link gar nicht mehr erhältlich und wenn man den richtigen findet bleibt ein Moment auf dem Zeitstempel, um zu begreifen, dass die Entwicklung hier absolut eingestellt wurde. Seht selbst: https://ftp.mozilla.org/pub/mobile/releases/27.0b1/android-armv6/multi/geckoview_library/. Also ab dem 17. Oktober 2015 war’s das mit Gecko als Engine für eigene mobile Web-Browser auf Android.

Schade.

Ich weiß, dass es einen shitload an Arbeit verursacht einen Web-Browser zu bauen: Firefox besteht wohl aus 9 Millionen Zeilen Code. Google Chrome aus 6-7 Millionen. Zum Vergleich: die Unreal 3-Engine, mit der massenhaft Blockbuster-Videospiele entwickelt wurden, besteht gerade mal aus 2 Millionen Zeilen Code. Und braucht damit fast das Dreifache, was ein Space Shuttle zur Programmierung brauchte.

Doch ich bin mir nicht sicher, ob sich Mozilla mit dem Nicht-Pflegen einer mobilen Gecko-Engine nicht ins eigene Knie schießt.

Mobile wird die nächsten 10 Jahre das komplette Game übernehmen, ob es uns passt oder nicht. Ich bin auch eher der Computer-Enthusiast und eigentlich ein Handy-Muffel. Und es sträuben sich mir die Nackenhaare, was mobil heute als „Videospiel“ verkauft wird; doch so geht es wohl jedem Videogamer, der noch die allererste PlayStation Made in Japan(!) sein Eigen nennt und so das erste Mal mit wettbewerbsfähiger 3D-Grafik in Berührung kam. Und ich befürchte fast, wer hier nicht mitzieht, mitziehen will, bleibt einfach auf der Strecke. Das ist kalter, harter, herzloser Kapitalismus da draußen, der uns diese tolle, bunte, unterhaltsame und wundervoll seichte Welt kaufbar macht, nachfolgende Generationen werden mit einem Debian, der „ethischsten Linux-Distribution“, überhaupt nichts mehr anzufangen wissen. Wer die Verdummung, sorry, „Vereinfachung“ live miterleben möchte, der kaufe sich bitte einen macOS-Computer oder gleich ein iPhone.

Das wird nichts für mich sein, Leute! Tut mir echt unfassbar leid!

tl;dr: Mein eigener Android-Webbrowser ist am Wochenende in Version 0.2.6 erschienen und kann jetzt auch Favicons. Hier spricht YAABy selbst. Und ich mache mir seitdem Gedanken, ob das alles unter einem Google-Chrome-Logo weiterlaufen soll.

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

konzeptkunst exklusiv: wipeout

In meinem Zockerleben kam „WipEout“ (Studio Liverpool) recht spät, doch richtig hart. Für mich definiert es bis heute nicht nur das Genre eines Future Racer, oder in dem Fall präziserweise eines Antigravitations-Racers, der mich bis heute mit fast Mitte 30 noch fasziniert, wie eigentlich zuvor nur „F-Zero“.

„WipEout“ ist cyberpunk in Reinform: schnell. Atemberaubend in seinen Locations. Bis aufs Kleinste durchdachtes Vehikel-Design. Untermalt mit den fettesten und angesagtesten (und auch passendsten!) elektronischen Sounds in der Geschichte der elektronischen Musik. Kurz: ein Gamer-Traum!

Die Serie ist so alt wie die PlayStation selbst und wird mittlerweile auch schon 21 Jahre. Im Zuge dessen steht eine Omega Collection als Veröffentlichung bevor; fragt mich nicht, was das sein soll, wahrscheinlich eine Zusammenfassung aller Titel. Oder der wichtigsten. Whatever.

Jedenfalls, es wird auch ein Artbook dazu geben und schon heute können wir bisher unveröffentlichtes Concept-Artwork daraus online finden, hier ein kleiner Vorgeschmack:

concept art: unseen wipeout artwork

Der Link: „25 Unseen, Wallpaper-Friendly Pieces of Wipeout Concept Art“, via blog.us.playstation.com.

Der Clou: es reichte nicht, dass man hier etwas veröffentlicht, was es so noch nie zu sehen gab. Zu jedem Stück Konzeptkunst erzählen die Künstler selbst eine kleine Geschichte dazu. Supergeil!

Der Abschied: seit 2010/2011 ist Studio Liverpool nicht mehr. Und das, obwohl es scheinbar zwei PS4-Games in der Pipeline gegeben haben soll. So ein bisschen also fundiert sich meine Begeisterung auch in einer gewissen Melancholie, dass Piranha, Feisar, Assegai und Konsorten uns nie wieder begegnen werden.

Ich jedenfalls bin froh, auch wenn es recht spät war, noch Bombentitel durch die PS3 mitgekriegt zu haben. Und: tatsächlich kommen ein paar meiner seltensten PS-Trophies von WipEout.

Die Empfehlung: greift ab, was ihr noch abgreifen könnt! Und wenn ihr mal wieder von „future racern“ hören solltet, denkt einfach an WipEout! War alles schon da. Und es war: p.e.r.f.e.k.t.!

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

sl33p l4t3r

y0u b3tt3r g3t y0ur 4ss up/
y0u b3tt3r get your ass up/
you better get your ass up/
work now/
sleep later/

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

m4ch1n3 l0v3

Soundtrack zu einem gelungenen Wochenende in Elektronik:

Machine Love von ASC & Synkro aus 2013. Inside The Machine eben.

Es gibt nur wenige Einzel-Tracks, die mich ewig flashen werden und da gehört dieses Schmuckstück dazu.

Es ist so eine Mischung aus früher „Space Night“ glotzen, kiffend durch die Gegend mit dem Auto fahren, sich fragen, mit welchem Equipment wohl die Klänge erzeugt wurden, einen neuen Rechner mit Lieblings-Hardware zusammenbauen, sich Physik von Harald Lesch erklären lassen und nebenher PlayStation zocken.

Davon mal abgesehen ist die EP eine wundervolle Zusammenarbeit von ASC und Joe McBride.

Wer möchte kann eine der seltenen Vinyl-Platten kaufen: discogs.com/ASC-Synkro-2-and-Sam-KDC-Machine-Love/release/4680767. Gab aber heute beim Stöbern nur noch vier Stück.

H4ppy h4ck1ng!

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

ssl ftw!

Von mir, für euch*:

ssl quality result

Happy secure surfing on gizm{e}o.eu!

Und: damit Google endlich das Maul hält. 😀

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

anbox: android in a box

Viele Versuche Android mit Linux zu verheiraten gab es bisher nicht, umgekehrt sieht es noch viel schlimmer aus. Ich warte immer noch auf Apps wie Amarok oder Audacious oder GIMP. Auch einfach, weil diese Programme (wie viele andere von Linux auch) viel mehr Publikum verdient hätten und davon gäbe es auf Android mehr als genug.

Vielleicht ist das aber auch bald völlig egal, denn da ist etwas in Alpha, was zumindest die eine Richtung abdecken würde:

Anbox steht einfach für Android in einer Box und läuft, ohne Emulation übrigens, in einem Linux Container (LXC) auf (jedem?) Desktop-Linux.

Der Clou ist, diese Alpha läuft jetzt schon mit dem neuesten Android 7.1.1 (Nougat), wie man oben sehen kann.

Mehr dazu: http://anbox.io/. [via]

Den Play Store findet man erst einmal nicht, stattdessen werden Apps mit

adb install /path/to/.apk

installiert.

Um Anbox selbst auf Linux zu installieren wird die Nutzung von Snaps vorausgesetzt, das geht dann ganz einfach mit:

sudo snap install --classic anbox-installer && anbox-installer

Das Anbox-Projekt ist öffentlich und jeder kann mitmischen: Anbox auf GitHub. Auf IRC reicht #anbox zum Mitreden.

Have fun! <3

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

believe. nothing.

Gnädige Herren, werte Damen. Es ist Wochenende. Bitte schalten Sie jetzt Ihre Gänge herunter. Gönnen Sie sich etwas Gutes! Die Empfehlung des Tages unseres geschätzten Professors kommt genau zur rechten Stunde:

believe. nothing. via: mein liferea

Ich warf heute seit gefühlten 50 Jahren mal wieder meinen Liferea an und bei FFFFOUND! findet man wohl auch nichts mehr als Titten, Titten, Titten. Da kommt eine wichtige, bunt-poppig verpackte Lebenslektion zwischendurch gerade recht. Nicht, dass ich etwas gegen Titten hätte, ich mag sie nur am liebsten mit meiner Banane in der Mitte und nicht in schwarzweiß und 2D auf einem viel zu kleinen Tische.

winkekatze

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

facebook-in-app-browser crashen

Mein Projekt der Woche ist das hier auf GitHub: https://github.com/Mte90/FB-Android-Crash.

An der Oberfläche: ein kleines Coding-Projekt, was durch permanenten Ärger mit dem In-App-Facebook-„Browser“ entstand und durch Raten und Rumprobieren (der Vergleich zur „Black Box“ IExplorer 6 kommt nicht von ungefähr) eben diesen zum Absturz bringt. Ich denke, über die Zeit soll auch nachverfolgt werden können, warum das genau geschieht. Derzeit gibt es noch zu wenig Lösungsansätze.

Unter der Oberfläche: tiefergehende Facebook– und Open Web-Kritik. Wie es ein kann, dass man sich eigentlich auf Web-Standards einigt und am Ende eh wieder jeder seine eigene graue, undurchsichtige Plörre kocht. Eben IExplorer-like. Und wofür Webentwickler solange gekämpft haben. Und wofür man debuggen, testen und dokumentieren konnte. Den Blick dafür schärfen, dass solche Gimmicks sicher kein Fortschritt sind.

„Think about it for a moment, okay.“ Dem ist nichts mehr hinzuzufügen. Ach, halt, stopp, da war noch das hier: „Is Facebook A Structural Threat To Free Society?“ Ja!

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

alternative zu custom roms

Stichwort Budget-Smartphones: wer aus irgendeinem Grund keine Custom ROM für sein Android-Gerät findet, muss nicht sofort verzweifeln. Generell ist es ein gutes Zeichen für ein Betriebssystem, wenn es auf möglichst viel Hardware zurückgreifen kann. Bekannte Hersteller heute, die „generic devices“ anbieten, also Smartphones mit identischem Chipsatz, sind etwa Wiko aus Frankreich, Cubot aus China oder Kazam aus Großbritannien. Häufig verzichten diese Hersteller auf populäre, teurere SoCs von Qualcomm und setzen die mittlerweile nicht minder leistungsfähigen MediaTek-SoCs ein.

Ob das eigene Gerät vom Mangel an Custom ROMs betroffen ist lässt sich schnell herausfinden: man installiert TWRP aus dem Play Store und gibt seinen Hersteller in der App ein. Findet die App den Hersteller nicht, war es das mit einer Custom Recovery für euer Gerät. Findet die App den Hersteller, aber euer Gerät nicht, gilt das selbe. Eine Custom Recovery ist jedoch eine _der_ Grundvoraussetzungen um das Gerät mit ROMs zu versorgen. Fehlt diese, lohnt es sich davon Abstand zu nehmen eine zu installieren die man irgendwo im Netz findet, es wird nichts Brauchbares durch eure Experimente herauskommen.

Was aber tun, wenn man das Gerät trotzdem modden und personalisieren will? Hier kommt das „Xposed Framework“ ins Spiel. Xposed lässt euch Module downloaden, die auch nichts anderes als Apps sind. Doch diese Module lassen euch eure Geräte in einer Tiefe modifizieren, dass diese am Ende von einer Custom ROM kaum mehr zu unterscheiden sind. Eines der umfangreichsten und populärsten ist z.B. GravityBox. Dieses Modul allein ist schon wert, dass man Xposed auf seinem Gerät ans Laufen bringt, die Einstellungen sind in etwa so umfangreich wie wenn ihr die Einstellungen und die Massen an Tweaks von Cyanogenmod/LineageOS her kennt.

xposed framework logo

Wie ihr Xposed installiert, ohne Recovery und ohne TWRP, will ich hier kurz erläutern.
WICHTIG: euer Gerät _muss_ gerootet sein! Egal wie ihr das macht, ob per ADB, das zwielichtige KingRoot oder sonstwie, ein Android-Gerät ohne Root ist nichts wert. Da hilft auch das günstigste SoC nichts.

Anleitung für Xposed-Installation:

  • 1. Installiert FlashFire [root] aus dem Play Store von Chainfire. Dieses Tool lässt euch ZIPs ohne Custom Recovery flashen. Benötigt, selbstredend, root-Rechte
  • 2. ihr braucht die ZIP des Xposed Framework. Wählt eure Android-Version hier aus (sdk21 für KK, sdk22 für LP, sdk23 für MM), danach eure Architektur, das wird meist ARM sein. Ganz unten findet ihr dann die neueste Version des Frameworks, derzeit v87 vom November 2016. Diese ZIP auf den Telefonspeicher verschieben
  • 3. besorgt euch die APK der Xposed-App: hier der XDA-Thread. Die App ist frisch aus der Testphase raus und befindet sich derzeit in einer stabilen Version 3.1.1
  • 4. Jetzt wird gekocht! Öffnet Flashfire und klickt auf das rote „+“ unten rechts.
    Dort wählt ihr dann den Menüpunkt „Flash ZIP or OTA“.
    Navigiert zu eurer Xposed-ZIP-Datei.
    Klickt in Flashfire nun unten auf Flash!. Setzt den ersten Haken. Das Grundgerüst wird installiert. Es dürfen keine Fehlermeldungen kommen. Kommen doch welche, versucht andere Haken zu setzen oder lasst diese ganz weg. Sollten Fehlermeldungen kommen wird üblicherweise nichts zerstört, das Framework installiert sich einfach nicht
  • 5. Installiert die XposedInstaller-App. Startet danach das Gerät neu
  • 6. wenn ihr nach dem Neustart die App das erste Mal öffnet, klickt kurz die Meldung weg und schaut, dass ihr einen grünen Haken seht. Danach könnt ihr links unter Downloads ein Modul installieren, wie erwähnt ist GravityBox dann eigentlich ein Must-Have
  • Fazit: als goldene Regel gilt, wer Xposed nutzt, der braucht keine Custom ROM mehr und umgekehrt. Die zwei vertragen sich nicht und es ergibt auch keinen Sinn Xposed unter einer Custom ROM zu installieren. Das Xposed Framework stellt euch vielmehr auf dem Android-Gerät die Funktionalität einer Custom ROM durch herunterladbare Module zur Verfügung. Etwa wenn, wie erwähnt, keiner Lust hatte eine ROM zu basteln oder es in TWRP einfach kein Interesse von Seiten der Entwickler gab

Die Vielfalt an Android-Geräten dürfte in Zukunft wohl eher weiter zu- als abnehmen. Nicht immer werdet ihr für diese Geräte eine passende ROM finden, eine zu bauen erfordert unvorstellbar viel Aufwand, frisst Zeit und andere Ressourcen. Der oben erwähnte Test mit TWRP ist hier ein guter Anfang um herauszufinden, wie populär euer Device ist. Das trifft auch auf Tablets zu.

Mit diesem Beitrag wollte ich zeigen, dass es aber mittlerweile sehr mächtige Alternativen gibt, die eben nicht mal mehr eine Custom Recovery erfordern. Die Anzahl der Module für das Xposed Framework ist unvorstellbar riesig, man wird förmlich erschlagen, wenn man sich das erste Mal durch diese Liste scrollt. Ab Kitkat, also Android 4.4, werdet ihr sehr gute Karten haben viele Mods zu finden. Da sollte für jeden etwas dabei sein. Meines Erachtens ein MUSS ist das erwähnte GravityBox. Damit dürften die meisten Gelüste bereits abgedeckt sein. Probiert diese Module einfach aus, das Einzige, worauf ihr achten müsst ist, dass diese mit eurer Android-Version kompatibel sind.

Viel Spaß beim Modden, ihr cyberpunks! 😎

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^

last.fm nach listenbrainz exportieren

Web-Projekte wie last.fm gibt es wenige. Das zum amerikanischen Medienkonzern CBS gehörende Portal führte 2002 mit dem Audioscrobbler(R)(TM) ein System ein, das sehr detaillierte Nutzerprofile aufgrund des Abspielens von Musik-Tracks auf PCs, Smartphones und dergleichen mehr erstellen und sie der hauseigenen Community zur Verfügung stellen konnte. Man nannte das dort „scrobbeln“ und auch dieser Begriff ist mittlerweile als Handelsmarke eingetragen.

Diese Fakten und auch die Ungewissheit, wofür der eigene Musikgeschmack eigentlich bei last.fm genau ausgewertet wird, führten 2009 zur Gründung des GNU-Projekts libre.fm, einer freien Alternative. Leider habe ich letztes Jahr viele negative Erfahrungen damit gemacht, mal abgesehen davon, dass es auch nicht mehr weiterentwickelt zu werden scheint. Akzeptiert, weil das bestimmt nicht einfach ist, doch ich komme mittlerweile nicht mehr an mein Passwort, da eine der Email-Adressen dort nicht mehr existiert. Nun ja, es starb letztes Jahr wohl auch so, der Lauf der Zeit im Web.

Doch es gibt Hoffnung und die lautet: https://listenbrainz.org/!

listenbrainz logo

ListenBrainz ist Teil von MusicBrainz, einer Non-Profit-Organisation, die als Hauptziele hat, die durch „listens“ gesammelten Daten a) öffentlich verfügbar zu machen und nicht zu horten b) diese u.a. Entwicklern zur Verfügung zu stellen, damit die bessere Musiktechnologie entwickeln können c) die Daten open access als Download für jeden von Interesse verfügbar zu machen d) offen und keine geschlossene Plattform zu sein. Weitere Ziele finden sich dort und „listens“ ist das selbe wie „scrobbeln“, was man ja aber wegen der Handelsmarke nicht mehr frei verwenden darf.

Anders wie bei libre.fm fängt man bei ListenBrainz auch nicht bei 0 an: die last.fm-Bibliothek lässt sich nämlich über den Browser importieren. Da haben ein paar Entwickler also schon mächtig Gas gegeben. Geht in wenigen Schritten und zwar so:

1) ListenBrainz-Benutzerkonto erstellen: https://musicbrainz.org/register
2) oben links ist ein großer Button in orange „Import!“: https://listenbrainz.org/import
3) last.fm-Benutzername eingeben und auf den Button rechts daneben klicken
4) der nächste wichtige Button ist ein Bookmarklet:
listenbrainz bookmarklet
Das in die Toolbar für Lesezeichen ziehen. Erscheint im Firefox dann als kleine graue Weltkugel
5) loggt euch, am besten in einem neuen Tab, bei last.fm ein
6) ruft eure Bibliothek dort auf. Dabei ersetzt ihr NUTZERNAME hier bitte mit eurem last.fm-Nutzernamen: http://last.fm/user/NUTZERNAME/library
7) klickt die kleine graue Weltkugel in der Firefox-Toolbar von dem Bookmarklet von vorhin
8) schaut zu, wie viele Tausend Seiten von last.fm nach ListenBrainz exportiert werden. Alternative: holt euch einen Kaffee ^^
9) sobald diese Grafik sichtbar ist, ist der Import abgeschlossen:
listenbrainz: import erfolgreich
10) Glückwunsch! Eure last.fm-Bibliothek ist nun frei!

ListenBrainz ist derzeit alpha, besonders viel zu machen gibt es hier noch nicht. Ganz anders sieht es aber danach bei MusicBrainz aus, wo ihr euer Profil dann so erreicht: https://musicbrainz.org/user/NUTZERNAME. Könnt ihr zwischenzeitlich ja bereits ausfüllen.

Viel Spaß beim Senden der „listens“!

P.S.: Alle drei erwähnten Scrobbel-Dienste lassen sich übrigens auf Android mit dieser App anlegen: Simple Last.fm Scrobbler.

Flattr this!
Bitcoin-Spenden hier akzeptiert ^^