![]()
Bei kNOW! geht's um aktuelles Wissen – Google checkt, ob Antworten hier und jetzt korrekt sind. Ab 17 Uhr trifft sich das c't-zockt-Team im Livestream zum Tablequiz.
Ok, Google! Heute ab 17 Uhr messen sich die c't-Zockenden in Allgemeinwissen, schätzen um die Wette und stellen sich weiteren Quizaufgaben bei "kNOW! – Das immer aktuelle Quiz" von Ravenburger.
Stets mit dabei: der Google Assistant als Spielhelfer und Quizmaster im Smartphone oder Google Home Mini. Der kleine, smarte Lautsprecher stellt Fragen und Aufgaben und checkt, ob die von den Spielenden gegebenen Antworten richtig sind. Das Spiel verspricht, so immer auf aktuellem Stand zu sein und mit seinen über 1500 Fragen für jede Menge Abwechslung zu sorgen.
Bei kNOW! (ab 21,45 €) [1] sind insgesamt 12 verschiedene Quizaufgaben in die vier Kategorien Wissen, Intuition, Kreativität und Fun aufgeteilt. Einige davon lassen sich nur mit dem Google Assistant, manche auch komplett offline spielen, wenn man möchte. Die verschiedenfarbigen Felder auf dem Spielbrett repräsentieren die entsprechenden Kategorien, zu denen dann die passenden Spielkarten gezogen und ausgeführt werden.

"Schnellerwisser" ist beispielsweise das klassische Wissensquiz: Wer die Antwort weiß, haut auf den beiligenden Buzzer und antwortet hoffentlich richtig. Auch hier sind die Fragen jedoch oft abhängig von Zeit und Kontext – etwa "In wie vielen Filmen hat Jennifer Lawrence mitgespielt?"
Spielende müssen bei "Let's Schätz" hingegen schätzen, wie lange man mit dem Auto vom Spielort nach Ravensburg braucht oder wie warm es gerade in Havana ist.
Bei "Gute Frage" muss man wiederum den Google Assistant dazu bringen, ein vorgegebenes Wort auszuspucken – ohne ihm den genau gesuchten Begriff zu nennen.
Bei "Summsalabim" gilt es schlicht, gesummte Lieder zu erkennen – das geht auch ohne Googles Hilfe, bei "Phrasendrescher" muss man dem Assistant Zungenbrecher fehlerfrei nachsprechen.
Viele weitere mehr oder weniger komplexe Aufgaben sorgen bei kNOW! für Abwechslung. Da einige Fragestellungen der Assistant selbst entscheidet, soll der Umfang an möglichen Aufgaben stetig erweitert werden.

kNOW! spielt man mit bis zu sechs Rätselnden – jede Runde leitet einer von ihnen das Spiel, unterstützt durch den Google Assistant. Alle anderen versuchen durch das schnelle und richtige Bestehen der gestellten Aufgaben das Spielbrett zuerst mit der eigenen Spielfigur zu umrunden.
Der Google Home Mini liegt der limitierten Edition des Quizspiels bei, ist zum Spielen aber nicht zwingend nötig, dafür in diesem Bundle doch ziemlich preiswert. kNOW! lässt sich allerdings auch einfach mit einem Google-Assistant-fähigen Smartphone spielen. Eine zusätzliche App braucht es dazu nicht – der Assistant weiß Bescheid und erklärt auf Wunsch auch die Regeln der einzelnen Spiele. Zusätzlich kann man die auch einfach im Regelbuch selbst nachlesen [4].
Wer der hellste Kopf des c't-zockt-Teams ist, zeigt sich heute ab 17 Uhr im Livestream auf YouTube [5] und Twitch [6].
()
URL dieses Artikels:http://www.heise.de/-4276304
Links in diesem Artikel:[1] https://www.heise.de/preisvergleich/know-a1935317.html?hocid=ct[2] https://www.heise.de/ct/bilderstrecke/bilderstrecke_4278396.html?back=4276304[3] https://www.heise.de/ct/bilderstrecke/bilderstrecke_4278396.html?back=4276304[4] https://www.ravensburger.de/spielanleitungen/ecm/Spielanleitungen/27252%20Anl-1%201844679%20(2).pdf?ossl=pds_text_Spielanleitung[5] https://www.youtube.com/watch?v=yNYrlKtRaQ4[6] https://www.twitch.tv/ctzockt[7] mailto:jube@heise.de
Copyright © 2019 Heise Medien
Die Hibernate-Tipps-Serie bietet schnelle und einfache Lösungen zu verbreiteten Hibernate-Fragen. Dieses Mal geht es um die Verwendung einer skalaren Projektion in Criteria-Abfragen.
Mit JPQL-Abfragen (Java Persistence Query Language) können Entwickler mehrere skalare Werte selektieren. Kann ich mit einer Criteria-Abfrage die gleiche Projektion verwenden oder muss ich immer Entitäten oder DTOs (Data Transfer Object) selektieren?
Auch wenn die Criteria API häufig etwas unübersichtlich erscheint, unterstützt sie dieselben Features wie JPQL [1]. Projektionen mehrerer skalarer Werte sind daher genauso möglich wie Projektionen, die Entitäten, DTOs und skalare Werte miteinander kombinieren.
Um mehrere skalare Werte zu selektieren, lässt sich die multiselect(Selection<?>... selections)-Methode verwenden. Der nachfolgende Quellcode zeigt ein Beispiel für eine solche Abfrage:
// Abfrage erzeugen
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Tuple> q = cb.createTupleQuery();
Root<Author> author = q.from(Author.class);// Mehrere skalare Werte selektieren
q.multiselect(author.get(Author_.firstName).alias("firstName"), author.get(Author_.lastName).alias("lastName"));// Abfrage ausführen
List<Tuple> authorNames = em.createQuery(q).getResultList();for (Tuple authorName : authorNames) {
log.info(authorName.get("firstName") + " " + authorName.get("lastName"));
}
Die multiselect-Methode erwartet eine List oder ein Array von Selection-Interfaces, die die zu selektierenden Entitätseigenschaften benennen. In diesem Beispiel verwende ich das JPA-Metamodell [2], um die Eigenschaften typsicher zu referenzieren.
Wenn das Beispiel ausgeführt wird, erzeugt Hibernate eine SQL-Abfrage, die nur die von der multiselect-Methode referenzierten Datenbankspalten selektiert:
13:57:18,403 INFO[org.thoughts.on.java.model.TestCriteriaTuples] - ... selectTuples ...
13:57:18,818 INFO[org.hibernate.hql.internal.QueryTranslatorFactoryInitiator] - HHH000397: Using ASTQueryTranslatorFactory
13:57:19,158 DEBUG [org.hibernate.SQL] -
select
author0_.firstName as col_0_0_,
author0_.lastName as col_1_0_
from
Author author0_
13:57:19,188 INFO[org.thoughts.on.java.model.TestCriteriaTuples] - Thorben Janssen
13:57:19,188 INFO[org.thoughts.on.java.model.TestCriteriaTuples] - Joshua Bloch
13:57:19,189 INFO[org.thoughts.on.java.model.TestCriteriaTuples] - Gavin King
Das Abfrageergebnis wird anschließend als List von Tuple-Interfaces zurückgegeben. Das Tuple-Interface bietet einen komfortablen Zugriff auf die selektierten Eigenschaften. Dabei können die selektierten Spalten per Index oder, wie in diesem Beispiel, auch über den als Alias vergebenen Namen referenziert werden.
Mehr als 70 solcher Rezepte zu Themen wie einfache und komplexe Mappingdefinitionen, Logging, Unterstützung von Java 8, Caching sowie die statische und dynamische Erzeugung von Abfragen gibt es in meinem Buch "Hibernate Tips: More than 70 solutions to common Hibernate problems". Es ist als Taschenbuch und E-Book auf Amazon [3] und als PDF auf hibernate-tips.com [4] erhältlich.
URL dieses Artikels:http://www.heise.de/-4270785
Links in diesem Artikel:[1] http://www.thoughts-on-java.org/jpql/[2] https://thoughts-on-java.org/static-metamodel/[3] https://www.amazon.de/Hibernate-Tips-solutions-common-problems/dp/1544869177[4] http://www.hibernate-tips.com/
Copyright © 2019 Heise Medien
![]()
Sie werden Dich finden! Die Zombies im Survival-Crafting-Spiel "7 Days to Die" sind nun schlauer, springen, klettern und graben. Auch sonst hat das Entwicklerteam "The Fun Pimps" sein Spiel in der kommenden A17-Version ordentlich umgekrempelt und viel Neues hineingepackt: schickere Grafik, weit über 100 neue Orte zum Erforschen mit fiesen Fallen und versteckten Schätzen. Heute ab 17 Uhr spielen wir die neue Version im Live-Stream an.
Die Alpha-17-Version des Zombie-Spiels stellt Spielerinnen und Spieler vor ganz neue Herausforderungen: Das von einer Zombie-Apokalypse im Südwesten der USA handelnde Survival-Game mit dem besten Bau- und Crafting-System seit Minecraft ist deutlich schwerer geworden. Dank einer neuen Zombie-KI finden die Untoten nun viel leichter ihren Weg – und wenn sie sich dafür durch den Boden buddeln oder ein ganzes Haus wegkloppen müssen. Und wenn dann erst nach sieben Spieltagen die große Zombie-Horde kommt...
Mit den im Spiel erworbenen Erfahrungspunkten können nun vielerlei Fähigkeiten erlernt werden, das macht Multiplayer-Spiele interessanter und sorgt auch in Singleplayer viel länger für Spannung als zuvor. Bis alles selbst gebaut werden kann, geht ziemlich viel Zeit ins Land, daher lohnt es sich bei den Händlern vorbeizuschauen. Dort kann man nun auch Aufträge annehmen und sich so weitere Erfahrungspunkte verdienen. Die Standard-Map Navezgane hat an Größe zugelegt und auch hier wurden sämtliche Gebäude runderneuert und neue hinzugefügt. Weiter verbessert wurde der Generator für Zufalls-Maps.

War bisher das "Mini-Bike" – eine Art Mofa – das einzige Fortbewegungsmittel jenseits der eigenen Beine, kann man nun mit dem Fahrrad, einem Motorrad oder gar einem Jeep durch die Landschaft fahren. Sogar einen Mini-Hubschrauber gibt es im Spiel.

Seit seiner Erstveröffentlichung als Early-Access-Titel hat das Multiplayer-Spiel "7 Days To Die" jede Menge Erweiterungen und Verbesserungen erlebt. Damit hält es die wachsende Fan-Gemeinde trotz der lang andauernden Entwicklungszeit bei der Stange. Zu den Besonderheiten gegenüber teureren Produktionen gehören die vielen unterstützten Plattformen – das Spiel gibt es für rund 23 Euro auf Steam für Linux, macOS und Windows [1] – und vor allem der lang anhaltende Spielspaß.
Noch steckt die Alpha-17-Version in einer öffentlichen Testphase; erst in einigen Woche soll sie im Stable-Channel freigegeben werden. Bis dahin dreht das Entwicklerstudio The Fun Pimps immer wieder an Schräubchen im Game Balancing und bessert Fehler aus.
Heute, Donnerstag 13. Dezember, ab 17 Uhr spielt das c't-zockt-Team die neue A17-Version von "7 Days To Die" an. Den Live-Stream gibt's bei YouTube [2] und Twitch [3].
URL dieses Artikels:http://www.heise.de/-4242808
Links in diesem Artikel:[1] https://store.steampowered.com/app/251570/7_Days_to_Die/[2] https://www.youtube.com/watch?v=oCFfBY3DEc8[3] https://www.twitch.tv/ctzockt
Copyright © 2018 Heise Medien
![]()
Neben großen Konferenzräumen gibt es in der c't-Redaktion viele Ecken, in denen sich die Redakteurinnen und Redakteure zu Gesprächen zusammenfinden können.
Große runde Konferenztische, Beamer und eine Tür, die man hinter sich zu machen kann: Zwar gibt es solche Räume auch in der c't-Redaktion, doch oft trifft man sich woanders, in kleiner Runde oder zum kurzen Standup-Meeting. Deshalb wurden im Verlagshaus etliche gemütliche Ecken für solche Treffen geschaffen.

URL dieses Artikels:http://www.heise.de/-4238602
Links in diesem Artikel:[1] https://www.heise.de/ct/bilderstrecke/bilderstrecke_4238299.html?back=4238602[2] https://www.heise.de/ct/bilderstrecke/bilderstrecke_4238299.html?back=4238602[3] https://www.heise.de/ct/artikel/c-t-Adventskalender-2018-Alle-Tuerchen-im-Ueberblick-4235597.html[4] https://www.heise.de/download/blog/Der-heise-Adventskalender-3885333
Copyright © 2018 Heise Medien
![]()
Early Access wie es sein soll: Ständig warten die Entwickler von We Need To Go Deeper mit neuen Inhalten auf. Heute ab 17 Uhr tauchen wir live in das Koop-Unterwasserabenteuer ein, bekämpfen Riesenhaie, untote Piraten und Kraken und tauchen immer tiefer!

Das Unterwasserabenteuer für zwei bis vier Spieler hält alle auf Trab: Jemand muss navigieren, die Torpedos nachladen, feuern und irgendwer auch die Lecks flicken, damit das U-Boot nicht ruckzuck vollläuft. Auch gegen Eindringlinge muss man etwas unternehmen. Die witzige 2D-Grafik und die dramatische Musik passen gut zum Szenario. Dabei kann man nach Bedarf wechseln zwischen der Innenansicht des Schiffes und dem Geschehen in der Meerestiefe rundum.

Immer weiter in die Tiefe geht es dabei in die Unterwasserwelt mit sechs verschiedenen Biomen. Jedes davon birgt dabei ganz eigene Gefahren und Gegner. Langweilig wird es dabei sicher nicht: Die von Jules Vernes inspirierte Unterwasserwelt wird prozedural generiert und ist damit immer wieder neu. Zwischendurch legt man Stopps in Höhlen ein, in denen zwar reichlich feindliche Muscheln, Krebse, Skelette, Piraten und andere unfreundliche Bewohner hausen, in denen aber auch Schätze, Munitions-Upgrades und sogar Unterwasser-Zivilisationen warten. Das dort gefundene Gold kann man später im Katalog in ein ausgefallenes Outfit oder ein Schwert investieren. Mit steigendem Erfahrungsgrad verbessert man seinen Rang, was wiederum zusätzliche Gegenstände und Outfits im Katalog freischaltet.

Seit Februar 2017 ist "We Need To Go Deeper" auf Steam als Early-Access-Spiel erhältlich. Das heißt: Wer es jetzt schon kauft, erhält deń bereits spielbaren Titel sofort und kann quasi live an der Entwicklung teilhaben. Dabei zeigt die Spieleschmiede Deli Interactive, wie das für beide Seiten Spaß machen kann: Regelmäßige Updates mit neuen Gegenständen, Bossgegner und anderen Verbesserungen sorgen dafür, dass es nie langweilig wird.
Bereits im Mai letzten Jahres haben wir We Need To Go Deeper angespielt [3]. Seither hat sich viel getan: Gab es anfangs nur zwei Schiffstypen, sind es inzwischen fünf. Neben ihrem Aufbau unterscheiden sie sich auch in Größe und besonderen Eigenschaften. Inzwischen kann man sich in der Tiefsee auch sichtbare Krankheiten wie Seekrankheit, Unterkühlung, die Seepocken-Infektion, eine Blutkrankheit und einen Fluch einfangen. Unterwasserzivilisationen verkaufen allerlei Nützliches von Heiltränken bis Torpedo-Upgrades. Außerdem gibt es dort stets einen Doktor, der die verschiedenen Krankheiten zu heilen weiß.
Das mit der Unity-Engine programmierte We Need To Go Deeper ist für Linux, macOS und Windows für 9,99 Euro bei Steam [4] erhältlich. Wir spielen die Koop-Action heute ab 17 Uhr live auf YouTube [5] und Twitch [6] unter Linux, macOS und Windows.
URL dieses Artikels:http://www.heise.de/-4221261
Links in diesem Artikel:[1] https://www.heise.de/ct/bilderstrecke/bilderstrecke_4221334.html?back=4221261[2] https://www.heise.de/ct/bilderstrecke/bilderstrecke_4221334.html?back=4221261[3] https://www.heise.de/ct/artikel/c-t-zockt-LIVE-We-Need-to-Go-Deeper-Tauchspass-im-Team-3721624.html[4] https://store.steampowered.com/app/307110/We_Need_To_Go_Deeper/[5] https://www.youtube.com/user/heisenewsticker[6] https://www.twitch.tv/ctzockt
Copyright © 2018 Heise Medien
data/config.php that you have 'pubsubhubbub_enabled' => true, if your server has a public addressLiebes Tagebuch,
heute hatte ich das Glück, mich länger mit Chad Arimura (Vice President Serverless, Oracle) unterhalten zu können. Chad ist bei Oracle für das Fn Project, Oracles Serverless-Angebot, zuständig. Fn ist eine quelloffene Container-native-Serverless-Plattform, die im eigenen Rechenzentrum on-premise oder aber in jeder beliebigen Cloud betrieben werden kann.
Da als Basis für die Serverless Functions Docker-Container verwendet werden, unterstützt Fn Project praktisch jede Programmiersprache, die in einem Docker-Container lauffähig ist. Für einige Programmiersprachen gibt es zusätzlich Function Development Kits (FDKs), welche die Entwicklung von Fn Functions deutlich vereinfachen. Als "First Class Citizens" werden derzeit neben Java die Sprachen Go, Python, Node.js und Groovy unterstützt.
Lars Röwekamp: Hallo Chad, lass uns gleich mit der ersten Frage starten: Fn Project wurde genau vor einem Jahr veröffentlicht [1]. Was sind aus deiner Sicht die wichtigsten Erweiterungen der letzten zwölf Monate?
Chad Arimura: Seit dem Launch im Rahmen der JavaOne 2017 haben wir vor allem an der Stabilität, der Zuverlässigkeit und der Skalierbarkeit des Frameworks gearbeitet. Zusätzlich haben wir viel Energie in die Ausarbeitung der Plattform-APIs gesteckt, um so das Hosten und Managen der Plattform zu erleichtern. Oracle plant in der ersten Hälfte 2019, mit Oracle Functions eine vollständig gemanagte Version des Frameworks in der Oracle-Cloud anzubieten.
Röwekamp: Das ist interessant. Bisher war sich zumindest die deutsche Serverless-Community uneins, ob man eine Plattform wie Fn Project als Serverless bezeichnen kann, wenn man sie zwingend selbst hosten muss.
Arimura: Diese Diskussion gibt es nicht nur in Deutschland. Aus Sicht der Function-Entwickler ist es auf jeden Fall als Serverless zu bezeichnen. Aus Betriebssicht dagegen mag es unterschiedliche Meinungen geben. Meiner Meinung nach muss man hier die unterschiedlichen Level unterscheiden. Aber genau in der Möglichkeit, unser Framework sowohl in einer Public Cloud als auch on-premise zu betreiben, sehen wir einen großen Mehrwert den meisten unserer Mitbewerber gegenüber. Das bestätigen uns auch immer wieder unsere Kunden.
Röwekamp: Aktuell liegt Fn Project in der Version 0.75 vor. Das schreckt sicherlich den einen oder anderen potenziellen Interessenten vor einem Einsatz im produktiven Umfeld ab. Wird es bis zum Launch von Oracle Functions auch eine Version 1.0 von Fn Project geben?
Arimura: Exakt das ist unser Plan. Wir wollen bis spätestens zum Release von Cloud Functions auch eine Version 1.0 von Fn Project bereitstellen. Zusätzlich gehen wir davon aus, dass neben Oracle auch weitere Partner von uns die Plattform als gemanagten Service anbieten werden. Das Team von Oracle Functions und Fn Project ist übrigens dasselbe. Beide Welten partizipieren daher stark voneinander. Anders formuliert wird der Mehrwert von Oracle Functions vor allem in den weltweit hochverfügbaren Rechenzentren von Oracle liegen. Die technische Basis des Frameworks dagegen wird in beiden Welten identisch sein.
Röwekamp: Wo siehst du weitere Mehrwerte eurer Plattform gegenüber denen eurer Mitbewerber?
Arimura: Der erste weitere Mehrwert ist sicherlich darin zu sehen, dass Fn Project Open Source ist und dank Docker auf ein offenes Protokoll setzt. Während bei den anderen Anbietern ein Zip-File in die spezielle Runtime geladen werden muss, stellen wir die Docker Contracts zur Verfügung. So können bereits existierende, komplexe Libraries – wie die automatische Erkennung von Nummernschildern – sehr einfach via Docker-Container als Serverless Function zur Verfügung gestellt werden. Ein weiterer Mehrwert ergibt sich durch die angedachte Integration mit anderen Oracle-Cloud-Services. Wir planen Event-Streams für viele der Oracle-Cloud-Services anzubieten. Erstellt man zum Beispiel in Oracle HCM (Human Capital Management) einen neuen Eintrag, so stößt dieser ein Cloud-Event an, welches wiederum von einer Oracle Function entgegengenommen werden und dort weitere Prüfungen oder Verarbeitungen außerhalb des HCM auslösen kann.
Röwekamp: Die von dir erwähnte Integration mit Oracle--CloudServices ist sicherlich ein wichtiger Mehrwert für Kunden, die bereits stark auf Oracle-Produkte setzen. Was aber ist mit der restlichen Welt. Ist diese außen vor?
Arimura Nein natürlich nicht. Wir arbeiten derzeit gemeinsam mit der Serverless Working Group der Cloud Native Computing Foundation (CNCF) an einer Standardisierung von Cloud-Events [2]. Mit diesen Events können dann Ereignisse von Services beliebiger anderer Clouds verarbeitet werden.
Röwekamp: Ein neutrales Event-Modell, mit dessen Hilfe Cloud-übergreifend Service-Events ausgetauscht werden können? Das hört sich gut an. Lass uns auf ein weiteres Problem der Serverless-Welt zu sprechen kommen. Nahezu alle Anbieter von Serverless Functions rechnen aktuell nach einem Pay-per-use-Modell ab. Dies lässt Serverless Functions für langlaufende Aktionen eher unattraktiv erscheinen. Genau aus diesem Grund bietet zum Beispiel AWS für die Orchestrierung ihrer Lambdas die AWS Step Functions an. Ist für Fn Project etwas Ähnliches geplant?
Arimura: In der gemanagten Variante, also Oracle Functions, wird es, wie bei allen anderen Providern auch, definitiv ein Timeout für die einzelnen Functions geben. Verwendet man dagegen die Open-Source-Variante, lässt sich natürlich das Timeout beliebig setzen. Ob dies sinnvoll ist, sei einmal dahingestellt. Für wirklich langlaufende Operationen und die Orchestrierung von Serverless Functions, also für Workflows, haben wir derzeit eine rudimentäre Lösung namens Fn Flow [3]. Unser eigentliches Ziel ist aber auch hier, gemeinsam mit der Serverless Working Goup der CNCF eine standardisierte Lösung zu spezifizieren und diese im Anschluss umzusetzen.
Röwekamp: Ich habe jetzt richtig Lust bekommen, einmal ein wenig mit Fn Project herumzuspielen. Abschließend also die Frage, wie und wo ich am besten starte.
Arimura: Am besten gehst du einfach direkt auf fnproject.io [4] oder unser GitHub-Projekt [5] und folgst dort den "Getting started"-Anweisungen. In weniger als zwei Minuten solltest du dann das Framework installiert und die erste Serverless Function deployt und aufgerufen haben: fn start, fn init, fn deploy und fn invoke – das ist schon alles. Für eine etwas ausgereiftere Variante, welche Fn Project auf Kubernetes aufsetzt, stellen wir ein Helm Chart [6] zur Verfügung. Ab Q1 oder Q2 2019 kannst du natürlich auch einfach auf Oracle Functions in der Oracle -Cloud aufsetzen. Aber so lange möchtest du sicherlich nicht warten.
Röwekamp: Besten Dank für das Interview und deine Zeit, Chad.
Arimura: Sehr gern. Und viel Spaß beim Herumspielen mit Fn Project!
Liebes Tagebuch, das war es erst einmal für mich auf der Code One 2018. Auch wenn ich mich nach wie vor nicht wirklich an den neuen Namen gewöhnen kann und in den vielen, vielen Gesprächen vor Ort immer wieder den Namen JavaOne verwendet habe, hat die Konferenz wirklich Spaß gemacht.
Inhaltlich tut die thematische Erweiterung der Konferenz gut. Die neuen Themenwelten wurden so gewählt, dass sie auf jeden Fall auch für Java-Entwickler von Interesse sind. Die IT-Landschaft ist in den letzten Jahren deutlich heterogener geworden. Da reicht oftmals die reine Kenntnis (s)einer Programmiersprache nicht mehr aus. DevOps, Container, Cloud, KI, Modern Web, all dies sind Themen, an denen in der Zukunft kaum ein Weg vorbeiführen wird. Dies gilt zumindest für Entwickler, die in einem zeitgemäßen Projektumfeld aktiv sind.
Mehr dazu aber in den nächsten Blogbeiträgen
URL dieses Artikels:http://www.heise.de/-4204516
Links in diesem Artikel:[1] https://www.heise.de/meldung/Oracle-startet-Angebot-zu-Serverless-Computing-3850138.html[2] https://cloudevents.io[3] https://github.com/fnproject/flow[4] http://fnproject.io/[5] https://github.com/fnproject[6] https://medium.com/fnproject/fn-project-helm-chart-for-kubernetes-e97ded6f4f0c
Copyright © 2018 Heise Medien
![]()
Wird Red Dead Redemption 2 dem Hype gerecht? Am Freitag stürzt sich das c't-zockt-Team im Livestream ins Western-Abenteuer.
Bald ist es da: Am Freitag kommt mit Red Dead Redemption 2, das wohl meisterwartete Spiel des Jahres, in den Handel. c't spielt das Western-Abenteuer ab Freitag um 10 Uhr für mehrere Stunden im Livestream.
In Red Dead Redemption 2 steuert der Spieler das Mitglied einer Kriminellen-Bande, der auch die Hauptfigur von Red Dead Redemption angehört – RDR 2 spielt zeitlich vor den Ereignissen des Vorgängers. Red Dead Redemption 2 ist der erste Titel des GTA-Entwicklerstudios Rockstar, der ausschließlich für die aktuelle Konsolengeneration entwickelt wurde. Es ist gleichzeitig das erste Spiel des Studios seit GTA 5, das 2013 auf den Markt kam.

heise online hatte bereits vor einigen Wochen die Gelegenheit, Red Dead Redemption 2 mehrere Stunden lang anzuspielen [3]. Dabei sind neben der tollen Grafik auch interessante Spielelemente aufgefallen, die RDR2 von der Konkurrenz abheben. Dazu gehört beispielsweise ein Kontext-Menü, mit dem Spieler passend auf die aktuelle Situation mit ihrer Umwelt interagieren können – zum Beispiel die Hände hoch nehmen, wenn ein Sheriff den Revolver zieht.
Die Spielwelt selbst wirkte sehr lebendig. Kleinere Geschichten und Aufgaben werden auch ohne Questmarker erzählt, NPCs reagieren außerdem passend auf das Aussehen und Verhalten der Spielfigur. Ob der positive Ersteindruck über die ersten paar Stunden der Story erhalten bleibt, prüfen Jan-Keno Janssen, Fabian Scherschel und Daniel Herbig am Freitag im Livestream.
()
URL dieses Artikels:http://www.heise.de/-4202888
Links in diesem Artikel:[1] https://www.heise.de/ct/bilderstrecke/bilderstrecke_4178282.html?back=4202888[2] https://www.heise.de/ct/bilderstrecke/bilderstrecke_4178282.html?back=4202888[3] https://www.heise.de/newsticker/meldung/Red-Dead-Redemption-2-loest-endlich-das-Open-World-Versprechen-ein-4183111.html[4] mailto:dahe@heise.de
Copyright © 2018 Heise Medien
![]()
Beim X-Wing Miniaturenspiel fechten Spieler mit Raumschiffmodellen und Würfeln den Krieg der Sterne aus. X-Flügler, TIE-Jäger und der Millenium Falke – Luke Skywalker, Darth Vader, Han Solo: Sie alle kämpfen um die Macht auf dem Tabletop-Spieltisch.
Das Star Wars X-Wing Miniaturenspiel von Fantasy Flight Games – mittlerweile in der 2. Edition – hat die kultigen Weltraumkampf-Simulationen X-Wing Alliance, X-Wing vs. TIE Fighter & Co. von LucasArts als Vorbild. Gespielt wird üblicherweise zu zweit mit hochwertigen, fertig bemalten Raumschiff-Miniaturen, Karten, Würfeln und Pappmarkern auf einem Spieltisch. Sind mehr Spieler am Start, teilt man die Schiffe in zwei Teams untereinander auf.
Das Ziel jeder Partie ist es, die gegnerischen Raumschiffe abzuschießen, ehe diese zu viele Treffer gegen die eigene Jägerstaffel landen können. Dafür müssen Spielende ihre Figuren so bewegen, dass sie in Reichweite von Laserkanonen oder Torpedos sind. Ein richtiges Spielbrett gibt es dabei nicht – gespielt wird auf einem festgelegten, gut 90 x 90 Zentimeter großen Bereich, in dem sich die Raumschiffe entlang bestimmter Manöverschablonen relativ frei bewegen. Hierbei kommt ein originelles Bewegungssystem zum Einsatz, das gutes Augenmaß erfordert und taktisches Geschick belohnt.

Das eigene Geschwader stellen Spieler aus diversen Schiffen, Piloten und Upgrades zusammen. Dabei kann man auf bekannte Raumschiffe wie X-Wing, TIE-Fighter opder Sklave-1, aber auch eher obskure wie den mandalorianischen Fang-Jäger, U-Wing oder TIE-Schnitter zurückgreifen. Die Kombinationsmöglichkeiten scheinen grenzenlos, folgen aber einem detaillierten Regelsystem, sodass es stets fair bleibt. Unterstützt wird man dabei durch eine zugehörige App für iOS [3], Android [4] und den Internetbrowser [5], die beim Zusammenstellen der Staffeln und dem Verwalten der eigenen Raumschiff-Sammlung hilft. All diese Kombinationen und Fähigkeiten im laufenden Spiel dann auch im Kopf zu behalten, erfordert Konzentration und Übung. Ärgerlich ist es, wenn man erst Minuten später merkt, dass man eigentlich eine mächtige Fähigkeit hätte nutzen können.
Nach dem ersten Positionieren der Staffel und einiger Hindernis-Asteroiden auf dem Spielbrett, beginnt die Schlacht. Man wählt zu Beginn einer Spielrunde im Geheimen, welches Manöver jedes eigene Schiff ausführen wird – etwa ein langsame 90°-Kurve, um dem Gegner frontal zu begegnen, Vollgas geradeaus oder ein waghalsiges Wendemanöver, welches den Jäger gerade noch so aus der Reichweite der feindlichen Waffen bringen könnte. Sind alle Manöver vorausgeplant, bewegen sich die Raumschiffe in einer bestimmten Reihenfolge nach einander – ändern darf man das gewählte Manöver dann nicht mehr. Dabei kommen Bewegungsschablonen zum Einsatz, die man an die Plastikbasis des Modells anlegt und dieses einfach ans andere Ende setzt, wobei man möglichst keine Hindernisse oder anderen Schiffe rammen sollte. Taktik, Planung und richtiges Einschätzen und Überlisten des Gegenspielers sind so der Kern des X-Wing Miniaturenspiels. Daher kann diese Planung durchaus einige Minuten dauern, was den Spielfluss manchmal etwas hemmt.
Davon abgesehen fühlen sich Spielzüge aufgrund des originellen Bewegungssystems und der unterliegenden Konzepte sehr organisch an – und nach einer Raumschlacht im dreidimensionalen Raum, obwohl man auf einer Ebene spielt. Aber mit Physik und Realismus nahm es Star Wars ja noch nie allzu genau.
Haben sich alle Schiffe bewegt und Spezialfähigkeiten ausgeführt, die noch kleine Korrekturmanöver erlauben oder das Würfelglück für später beeinflussen können, kommt es zum eigentlichen Gefecht. Wer einen gegnerischen Jäger vor der Flinte hat, darf mithilfe von roten Würfeln angreifen – wer beschossen wird, versucht mit grünen Würfeln auszuweichen. Finden Schüsse ihr Ziel, werden erst die Schutzschilde schwächer, danach bekommt dann die Hülle Löcher. Werden die Hüllenpunkte durch Treffer überstiegen, ist das jeweilige Schiff zerstört und wird entfernt – und der Angreifer streicht dafür Punkte ein.
Alle Schiffe unterscheiden sich in ihren Eigenschaften, bringen unterschiedlich viel Schilde, Panzerung, Waffen und Wendigkeit mit. So sind TIE-Jäger schwer zu treffen und teilen nur wenig Schaden aus, platzen aber auch schon nach wenig Schaden – dafür kommen oft mehrere in Schwärmen daher. Der Millenium Falke kassiert hingegen fast jeden zweiten Treffer, hält aber auch richtig viel aus – während seine Lasergeschütze nicht nur nach vorn, sondern auch nach hinten und zu den Seiten feuern können.
Die Kampfphase des X-Wing Miniaturenspiels artet nicht selten in eine kleine Würfelorgie aus. Stehen beispielsweise sechs Schiffe auf dem Tisch und können einander angreifen, sind das insgesamt zwölf Würfelwürfe. Hat man Würfelpech, kann es trotz guter Vorbereitung der Angriffe dennoch frustig werden – das passiert allerdings aufgrund der vielen Möglichkeiten, die Würfel zu beeinflussen, eher selten. So darf man sie je nach vorheriger Planung etwa neu werfen oder auf bessere Ergebnisse drehen.
Sobald alle Schiffe angegriffen haben, endet die Runde und die Manöver für die nächste werden geplant. Das geht so lange weiter, bis alle Schiffe eines Spielenden zerstört sind oder das Zeitlimit abgelaufen ist – üblicherweise 75 Minuten. Gewonnen hat, wer mehr Punkte erspielt hat, wobei auch Schiffe zählen, die mehr als die Hälfte ihrer Schild- und Hüllenpunkte verloren haben, aber noch nicht zerstört wurden.
Die eigene Staffel lässt sich beim X-Wing Miniaturenspiel aus nahezu jedem Raumjäger zusammenstellen, den das Star-Wars-Universum zu bieten hat – alle mit unterschiedlichen Modellen, Piloten und Fähigkeiten. Diese muss man jedoch zum Grundspiel hinzukaufen. Das Basisspiel bringt einen X-Wing und zwei TIE-Jäger sowie alle anderen notwendigen Spielkomponenten mit (ab 47,91 €) [6]. Alle weiteren Schiffe kann und muss man sich, sofern man sie im Spiel verwenden möchte, zusätzlich kaufen. Je nach Modellgröße schlagen die Erweiterungen mit gut 15 bis knapp 40 Euro zu Buche. Je nachdem, was man bei welchem Händler kauft.
Bei Problemen mit der Wiedergabe des Videos aktivieren Sie bitte JavaScript
Ein Hinweis zur Verfügbarkeit: Das X-Wing Miniaturenspiel gibt es bereits seit vielen Jahren. Im September 2018 wurde allerdings die "Spiel-Engine" auf Edition 2.0 aktualisiert. Dieser Reboot hatte viele Verbesserungen zur Folge, allerdings werden vorerst nur wenige Produkte neu produziert. Neben dem Grundspiel gibt es einzelne X-Wings und Y-Wings sowie den U-Wing aus "Rogue One: A Star Wars Story" für die Rebellen. Das Imperium bekommt einzelne TIE-Jäger und TIE-Turbojäger sowie den TIE-Schnitter aus Rogue One. Die Sklave-1, Landos Millenium Falke aus "Solo: A Star Wars Story" und der mandalorianische Fang-Jäger aus der Star-Wars-Rebels-Serie ist für die dritte spielbare Fraktion erhältlich – Kriminelle und Kopfgeldjäger.
Hat man jedoch noch Modelle aus der ersten Edition oder findet Sammlungen davon günstig auf Ebay und Konsorten, kann man auch Umwandlungsboxen kaufen – 50 Euro pro Fraktion – und mit diesen alte Schiffsmodelle mit Edition 2.0 verwenden. Sämtliche alte Schiffe (und natürlich weitere neue) sollen in den kommenden Jahren in regelmäßigen Abständen auch für Edition 2.0 neu veröffentlicht und erhältlich sein, teilweise mit neu designten Modellen: vom Rebellen-Millenium-Falken über A- und B-Wings zu TIE-Bombern, Abfangjägern und Lambda-Raumfähren bis hin zu Raumschiffen der berüchtigsten Kopfgeldjäger der Galaxis.
Darüber hinaus sind noch insgesamt vier weitere spielbare Fraktionen, alle mit eigenen Schiffen und Erweiterungen in Planung: Widerstand und Erste Ordnung aus der Sequel-Zeit des Star-Wars-Universums (wie Poe Damerons T70-X-Wing und Kylo Rens schwarzem TIE-Jäger aus Episode VII, VIII und IX) sowie Republik und Separatisten aus den Prequel-Zeit (wie Jedi-Sternenjäger und Vulture-Droiden aus Episode I, II und III).
Bei Problemen mit der Wiedergabe des Videos aktivieren Sie bitte JavaScript
Um für ordentlich Varianz und Auswahlmöglichkeiten zu sorgen, ist man beim X-Wing Miniaturenspiel schnell mit Ausgaben im niedrigen dreistelligen Bereich dabei. Kein günstiges Hobby – für das Geld bekommt man aber auch einiges geboten. Wer besonders viel Spaß am Bauen und Bemalen von Miniaturen hat, fühlt sich hier eventuell um diesen Teil des Hobbys betrogen. Allerdings lassen sich die Modelle auch noch nachträglich gut bemalen oder umbauen.
Darüber hinaus ist das X-Wing Miniaturenspiel ein in vielerlei Hinsicht umfangreiches Spielerlebnis. Für eine Partie sollte man mindestens zwei Stunden Gesamtzeit und auch längere Pausen im Ablauf einplanen, wenn Spieler mal länger überlegen oder oft würfeln müssen. Dafür kann man dabei dann aber auch viel Spannung und Spielspaß erleben, die nicht nur den Zeitaufwand sondern auch das Geld wert sind.
()
URL dieses Artikels:http://www.heise.de/-4195207
Links in diesem Artikel:[1] https://www.heise.de/ct/bilderstrecke/bilderstrecke_4191305.html?back=4195207[2] https://www.heise.de/ct/bilderstrecke/bilderstrecke_4191305.html?back=4195207[3] https://itunes.apple.com/de/app/x-wing-squad-builder-by-ffg/id1427859124?mt=8[4] https://play.google.com/store/apps/details?id=com.fantasyflightgames.xwingsquadbuilder[5] https://squadbuilder.fantasyflightgames.com/[6] https://www.heise.de/preisvergleich/star-wars-x-wing-2-edition-grundspiel-a1863664.html?hocid=ct[7] mailto:jube@heise.de
Copyright © 2018 Heise Medien
Liebes Tagebuch,
für heute habe ich mir vorgenommen, auf der "Code One"-Konferenz einmal dem Gerücht nachzugehen, Java sei mit seinen mittlerweile mehr als 20 Jahren nicht mehr zeitgemäß. Als Maßstab für den Begriff zeitgemäß habe ich dabei so unterschiedliche Trends wie Microservices, Container, Cloud-native, Serverless oder NoSQL angesetzt.
Natürlich könnte ich es mir an dieser Stelle einfach machen und behaupten, dass dank Spring Boot und Spring Cloud Java auf jeden Fall bestens für Microservice-Projekte in der Cloud geeignet sei. Was aber, wenn man den mit Spring einhergehenden Vendor-Lock-in vermeiden und trotzdem Java für diese Art von Projekten nutzen möchte?
Sicher, mit JAX-RS, CDI und JPA lassen sich Microservices schnell und einfach auf Basis des Enterprise-Java-Standards Java EE – oder zukünftig Jakarta EE – implementieren. Das eigentliche Problem liegt aber weniger in den einzelnen Services als vielmehr in deren Zusammenspiel. Wie sieht es in einem stark verteilten System von Microservices mit den klassischen Querschnittsfunktionen wie Security, Tracing, Logging, Health Checks oder Metrics aus. Diese wurden einem bisher von einer zentralen Runtime (a.k.a. Application Server) abgenommen. Und was ist, wenn einmal ein Service ausfällt? Wie bekommen dies die anderen Service mit und wie reagieren sie darauf?
Eine mögliche Lösung stellt das in der Eclipse Foundation beheimatete und von namenhaften Firmen, wie IBM, Red Hat, Oracle, Fujitsu, Payara oder Tomitribe, unterstütze Open-Source-Projekt MicroProfile [1] dar. Erst vor wenigen Tagen in der Version 2.1 veröffentlicht [2], hat MicroProfile in den letzten zwei Jahren in der Java-Community mehr und mehr an Bedeutung gewonnen. Dank diverser Implementierungen von mittlerweile acht unterschiedlichen Herstellern hat MicroProfile das Zeug, zu einem neuen Standard für Java-basierte Microservices-Anwendungen zu werden. Kein Wunder also, dass es auf der Code One deutlich über 20 Sessions zu diesem Thema gibt.
Besonders gefallen hat mir die Session "Cloud-native, Service-Meshed Java Enterprise with Istio" von Sebstian Daschner. Er hat im Rahmen seiner Session anhand einer netten kleinen Live-Demo [3] gezeigt, wie gut Java EE kombiniert mit MicroProfile und die neue Wunderwelt der Cloud zusammenspielen. Während auf Java EE/MicroProfile basierende Microservices in Docker verpackt und via Kubernetes gemanagt wurden, hat Istio [4] die Verwaltung des Service Mesh, also der deployten Services, übernommen.
Dank Istio Sidecars (Service Proxies) konnten die benötigten Querschnittsaufgaben, wie Tracing, Security oder Resilience, aus dem Code der Services heraus in die Infrastruktur verlagert werden. Da sowohl Istio als auch MicroProfile stark auf Standards setzen, ließen sich die verteilten Tracing-Informationen der einzelnen Services problemlos mit Jaeger [5] verwalten und mit dem Grafana Dashboard [6] visualisieren. Eine tolle Demo, die Lust aufs Ausprobieren macht.
Mindestens genauso interessant, wenn auch in eine andere Richtung gehend, war die Session "Jakarta EE meets NoSQL in the Cloud Age [7]" von Elder Moraes (Oracle) und Otavio Santana (Tomitribe). Elder und Otavio sind in ihrer Session auf die verschiedenen NoSQL-Datenbankentypen – Key/Value, Document, Column-based, Graph und Multi-Model – eingegangen und haben deren Unterschiede zu klassischen relationalen Datenbanken aufgezeigt. Anhand eines Beispiels haben sie im Anschluss demonstriert, wie mit Java-EE-Bordmitteln und Eclipse JNoSQL [8] die bekanntesten der derzeit am Markt verfügbaren NoSQL Datenbanken in Java-EE-Projekte eingebunden werden können. Basierend auf den Standardannotationen von JPA, ergänzt um ein paar JNoSQL-eigenen APIs, ist die Anbindung einer NoSQL-Datenbank mit wenigen Zeilen Code erledigt.
JNoSQL ist als Basis für eine neue API zur Anbindung vonNoSQL-Datenbanken in Jakarta EE [9] ausgewählt. Es ist geplant, dass eine entsprechende Spezifikation Bestandteil des kommenden Releases, also Jakarta 9, werden wird.
Auch die Keynote stand ganz im Zeichen der Cloud. Amit Zavery (Executive Vice President, Fusion Middleware and PaaS Development, Oracle) betonte gleich zu Beginn die große Bedeutung der Cloud für zukünftige Anwendungsentwicklung. "Building next generation cloud-native applications becomes more and more important", so Zavery.
Dabei sei es vor allem wichtig die Cloud nicht nur als Bare-Metal oder IaaS (Infrastructure as a Service) zu verstehen, sondern vor allem auch Innovationen in der Cloud voranzutreiben. Services für KI und Data Sience, Blockchain, Digital Assistant und Virtual beziehungsweise Argumented Reality seien die echten Mehrwerte der Cloud.
Oracle habe sich mit der Oracle Cloud Infrastructure (OCI) das Ziel gesetzt, genau diese Themen in den Fokus zu stellen. Dabei setze man bewusst darauf, wann immer möglich mehrere Kanäle zu unterstützen. So könne man zum Beispiel bei der Verwendung des Cloud-basierten Digital Assistant Services zwischen verschiedenen Varianten, wie Alexa oder Siri, frei wählen.
Wie eine Cloud-Anwendung unter Einsatz der verschiedenen Services aussehen kann, demonstrierte Matt Thompson (Vice President of Developer Engagement and Evangelism, Oracle) am Beispiel eines Car Selling Chatbots. Ein proaktives, mittels KI selbstlernendes Conversation Interface übernimmt die Kommunikation mit dem Nutzer. Serverless Functions steuern die Businesslogik und stellen die Verbindung zum Backend dar. Die eigentliche Verkaufsoperation wird dann im Backend via Blockchain Cloud abgewickelt. "That’s not my father’s monolithic application", kann man da nur sagen.
Zavery betonte während der Keynote mehrfach, dass man bei der Oracle Cloud Infrastructure bewusst auf Open-Source-Techniken setze. Der eigene Code könne so problemlos auf die Cloud-Angeboten anderer Anbieter migriert werden – vice versa.
Warum Open Source gerade im Umfeld der Cloud so wichtig ist, erläuterte im Anschluss Dee Kumar von der Cloud Native Computing Foundation (CNCF). Laut Kumar sei es nur möglich, nachhaltige Lösungen zu schaffen, wenn man sich die "Power" der Open-Source-Community zu Nutze mache. "Successful digital transformation depends on making cloud-native computing universal and sustainable. This only works by harnessing the power of open source", so Kumar.
Die CNCF kann als eine Art herstellerneutrales "Zuhause" für schnell wachsende Cloud-native Open-Source-Projekte auf GitHub verstanden werden. Ziel von CNCF ist es, diese Projekte auf ein professionelles Level zu heben, welches potenziellen Nutzern einen entsprechenden Investitionsschutz bietet. Zu den bekanntesten Projekten zählen derzeit sicherlich Kubernetes und Prometheus. Aber auch weniger bekannte Projekte wie OpenTracing API [10] und Jager (beide Distributed Tracing) oder Fluent [11], Logging), Envoy [12] (Service Mesh) und Helm [13] (Packaging) finden sich dort.
Wer in der nahen Zukunft plant, sich auf den Weg hin zu Cloud-native zu bewegen, sollte unbedingt einen Blick auf vom CNCF empfohlene Cloud-native Trail Map [14] werfen. Die dort aufgezeigten 10 Schritte geben einen guten Überblick darüber, welche Herausforderungen einem begegnen werden und wie man mit diesen umgehen sollte.
Wie wichtig Oracle eine aktive Java-Community ist, zeigt das kürzlich ins Leben gerufene und im Rahmen der Keynote durch Steven Chin (Principal Engineer, Oracle) präsentierte Groundbreaker-Ambassador-Programm [15]. Mit ihm sollen besonders aktive Mitglieder der Community honoriert werden. Das Interessante an dem Programm ist, dass zukünftig jeder einen potenziellen Botschafter nominieren kann. Diese müssen lediglich ein paar Grundbedingungen erfüllen, die von dem jeweiligen Themenfokus (u.a. Microservices & Containers, Machine Learning & KI, Datenbank, Programmiersprachen & Frameworks, DevOps) abhängen.
Unter den Nominierten werden dann zukünftig einmalig pro Jahr die Groundbreaker Ambassador Awards vergeben. Auch hier findet die Abstimmung öffentlich statt. Für das erste Jahr hat Oracle ausnahmsweise diese Aufgabe übernommen und die ersten Award-Gewinner bestimmt, welche im Rahmen der Keynote ihre Auszeichnungen übergeben bekommen haben:
Liebes Tagebuch, mein Fazit für den zweiten Tag der "Code One"-Konferenz fällt ähnlich positiv aus wie schon am Tag zuvor. Um die Zukunft von Java in Zeiten von Microservices, Containern, Cloud und Serverless mache ich mir zumindest keine Sorgen mehr. Ganz im Gegenteil: Ich kann nur bestätigen, was James Governor von RedMonk bereits letztes Jahr im Rahmen der JavaOne-Keynote geäußert hat: "Things have changed more in the Java ecosystem in the last 3 weeks than they have in the previous 13 years.", wobei ich die zitierten drei Wochen eher durch 12 Monate ersetzen würde. Mehr dazu aber in meinem nächsten Tagebucheintrag. Morgen ist ja auch noch ein Tag.
URL dieses Artikels:http://www.heise.de/-4202708
Links in diesem Artikel:[1] https://www.heise.de/developer/artikel/Microservice-Entwicklung-mit-Java-EE-eine-Einfuehrung-in-Eclipse-MicroProfile-4190801.html[2] https://www.heise.de/meldung/Eclipse-MicroProfile-2-1-erweitert-die-Open-Tracing-API-4198856.html[3] https://github.com/sdaschner/coffee[4] https://www.heise.de/developer/artikel/Istio-Das-Service-Mesh-fuer-verteilte-Systeme-4153426.html[5] https://github.com/jaegertracing/jaeger[6] https://grafana.com/dashboards/7439[7] http://bit.ly/dev6109[8] http://www.jnosql.org/[9] https://www.tomitribe.com/blog/jnosql-and-jakarta-ee/[10] https://opentracing.io[11] https://www.fluentd.org[12] https://www.envoyproxy.io[13] https://www.helm.sh[14] https://github.com/cncf/landscape/blob/master/README.md#trail-map[15] https://developer.oracle.com/ambassador
Copyright © 2018 Heise Medien
Liebes Tagebuch,
ich kann mich noch wie heute daran erinnern, als mein Lieblingsschokoriegel Raider in Twix umbenannt wurde. Groß war die Aufregung. Würde der Riegel mir nach wie vor so gut schmecken? Würde die Qualität und der Preis stabil bleiben? Und müsste ich nicht eigentlich aus Solidarität zu dem Gewohnten zukünftig mein Leben lang auf seinen Genuss verzichten? Solche und ähnliche Fragen gingen mir damals durch den zugegebenermaßen noch recht jungen Kopf.
Ein ähnliches Gefühl überkam mich nun wieder, als ich heute die Hallen der Oracle-Code-One-Konferenz betrat, welche als "kleine" Schwesterkonferenz der Oracle OpenWorld aktuell in San Francisco stattfindet. Als treuer Fan der JavaOne-Konferenz habe ich die Ankündigung, die Konferenz solle eine neue Ausrichtung und damit – konsequenterweise – auch einen neuen Namen bekommen [1], natürlich als Eklat empfunden. Hatte Oracle denn nicht verstanden, dass sich mit der JavaOne in den letzten 20 Jahren die Konferenz für die Java-Community entwickelt hat? Wollte man dieses jährliche Familientreffen wirklich aus Marketinggründen opfern?
Nach dem ersten Konferenztag bin ich deutlich entspannter. Oracle hat mit der Neuausrichtung eine Evolution und keine Revolution gestartet. Und das ist meiner Ansicht nach auch gut so. Einmal abgesehen von der rein visuellen Umgestaltung, von Java-Blau auf Oracle-Rot, gibt es nach wie vor unzählige Sessions, Workshops und Hand-On Labs zu den unterschiedlichsten Java-Themenfeldern. Zusätzlich wurde das Angebot und somit auch die Auswahl für die Teilnehmer um eine Reihe neuer Themen erweitert: "Modern Web", "Containers, Serverless & Cloud", "Big Data & Data Science" und "Emerging Technologies", um nur einige zu nennen. Eigentlich konnte man all diese Themen auch in den letzten Jahren schon verstreut, in Form einzelner Sessions, in der Konferenzagenda finden. Sie waren bisher nur nicht so präsent vertreten und explizit ausgewiesen wie in diesem Jahr.
Ich habe mich im Laufe der letzten Wochen bewusst mit etlichen Java-Entwicklern über die Neuausrichtung und die Umbenennung der Konferenz unterhalten. Es ist schon interessant zu sehen, dass insbesondere diejenigen, die vor 20 Jahren, mit dem Aufkommen des Java-Hypes, den etablierten Cobol-, Delphi- und C-Communitys mangelnde mentale Flexibilität vorgeworfen haben, heute scheinbar genauso unflexibel reagieren. Die heutige IT-Landschaft und die darin stattfinden Projekte sind deutlich heterogener als noch vor Jahren. Die neu aufgenommenen Themen der Code One sind alles Themen, mit denen heutzutage nahezu jeder Entwickler in seiner täglichen Arbeit in Berührung kommt beziehungsweise kommen sollte. Und wenn nicht, wäre es eventuell an der Zeit zu hinterfragen, ob das eigene Jobumfeld noch zeitgemäß und somit zukunftssicher ist.
Die von einigen geäußerte Befürchtung, die Umbenennung der JavaOne hin zu Oracle Code One wäre als Signal zu verstehen, dass Oracle sich langsam, aber sicher aus der Java-Welt zurückziehe, teile ich nicht. Zum einen verdient Oracle nach wie vor, direkt oder indirekt, sehr gutes Geld mit Java. Zum anderen hängt der Erfolg zu vieler eigener Produkte an Java, als dass man dieses Feld anderen überlassen wollte.
Natürlich ist auch Oracle die Brisanz ihrer eigenen Positionierung zum Thema "The Future of Java" klar. Daher ist es auch nicht verwunderlich, dass die traditionelle Java-Keynote genau unter diesem Motto stand.
George Saab (Vice President of Development, Oracle) und Mark Reinhold (Chief Architect of the Java Platform Group, Oracle) betonten im Rahmen der Keynote mehrfach die große Bedeutung der Programmiersprache Java für die Entwicklergemeinde und ihr eigenes Unternehmen und versicherten, dass Oracle sich auch weiterhin stark für die Weiterentwicklung von Java einsetzen werde. Beide wiesen dabei noch einmal auf das von Oracle im letzten Jahr gegeben Versprechen – "deliver enhancements and innovations more rapidly" – hin und natürlich auch auf die Tatsache, dass Oracle dieses Versprechen durch
auf jeden Fall erfüllt hat.
Natürlich war auf das neu angedachte Supportmodell [3], welches in den letzten Wochen in der Community für einige Aufregung gesorgt hat, ein Thema. Das neue Modell zwingt Nutzer des Oracle JDKs, die keinen Support zahlen wollen, alle sechs Monate zu einem Versionswechsel, da nur die jeweils aktuelle Version frei zur Verfügung steht. Möchte man länger an einer Version festhalten, wird automatisch ein entsprechender Supportvertrag fällig. heise Developer berichtete bereits ausführlich dazu.
Fairerhalber sollte an dieser Stelle erwähnt werden, dass es natürlich jedem Entwickler freisteht, statt des Oracle JDK eine der möglichen Alternativen zu wählen. So hat Oracle laut Reinhold bisher immer alle Features aus dem jeweils aktuellen JDK frühzeitig der Open-Source-Gemeinschaft zur Verfügung gestellt, sodass darauf aufsetzenden Implementierungen, wie OpenJDK, nahezu zeitgleich am Markt erscheinen konnten. "Oracle Java == OpenJDK" oder anders formuliert "Java is still free", so die plakative Formel Reinholds.
Wie geht es nun aber konkret weiter mit dem JDK? Was können wir in den kommenden Versionen an neuen Features erwarten? Auch diese Frage wurde im Rahmen der Keynote von Mark Reinholds beantwortet, indem er unter anderem einige Demos aus den folgenden Projekten präsentierte:
Mit dem Projekt Amber wird das Ziel verfolgt, regelmäßig neue produktivitätssteigernde Java-Features einzuführen. Bisher geliefert wurden "Local-Variable Type Inference" (JEP 268 [7]) in JDK 10 und "Local-Variable Syntax for Lambda Parameters" (JEP 323 [8]) in JDK 11. In der Entwicklung und somit vorgesehen für das kommende JDK 12 befinden sich "Lambda Leftovers" (JEP 302 [9]) und "Pattern Matching" (JEP 305 [10]). Zusätzlich soll es in JDK 12 Previews von "Switch Expressions" (JEP 325 [11]) und "Raw String Literals" (JEP 326 [12]) geben.
Mit dem Projekt Loom soll das aktuelle Thread-Modell um Fibers (User-Mode Threads) erweitert werden. "We want to make concurrency simple(r) again!", so die Kernaussage des Projekts. Während das aktuelle Thread-Modell auf OS Kernel-Threads aufsetzt und somit ein Thread-Wechsel und der zugehörige Context-Switch recht teuer ist, werden Fibers durch die Java VM verwaltet und kommen deutlich "leichtgewichtiger" daher. Projekt Loom ist somit eine direkte Antwort auf heutige Anforderungen an Java-Anwendungen, in denen Concurrency eine zunehmend wichtigere Rolle spielt (siehe auch "Project Loom:Fibers and Continuations for the Java Virtial Machine [13]").
Projekt Panama soll die Verbindung zwischen der Java VM und sprachfremden APIs verbessern und wendet sich somit vor allem an C-Programmierer beziehungsweise die Anbindung ihres Codes. Die Liste der angedachten Features ist relativ umfangreich und reicht von nativen C- bzw. C++-Funktionsaufrufen aus der JVM heraus, über APIs zur Verwaltung nativer Bibliotheken, bis hin zu native-orientierter JIT-Optimierung.
Liebes Tagebuch, mein Fazit für den ersten Tag der JavaOne, ich meine natürlich Oracle Code One, ist durchweg positiv. Es gibt nach wie vor mehr als genug Sessions rund um das Thema Java. Meine Befürchtung, meine Lieblingssprache könnte langsam, aber sicher ins Hintertreffen geraten, ist völlig ungerechtfertigt.
Aber auch beziehungsweise insbesondere die alternativen Tracks sind wirklich interessant. Sie ermöglichen einen wichtigen Blick über den Java-Tellerrand hinaus und geben einem die Chance, sich mit vielen der aktuellen Trendthemen, wie Modern Web, Cloud, Serverless oder Data Analytics, näher auseinanderzusetzen. Mehr dazu aber in meinem nächsten Tagebucheintrag. Morgen ist ja auch noch ein Tag.
URL dieses Artikels:http://www.heise.de/-4200542
Links in diesem Artikel:[1] https://www.heise.de/meldung/Goodbye-JavaOne-Wie-20-Jahre-Geschichte-einfach-wegexpandiert-werden-4029049.html[2] https://www.heise.de/developer/artikel/Der-neue-Releasezyklus-von-Java-4165009.html[3] https://www.heise.de/developer/artikel/Wird-Java-jetzt-kostenpflichtig-4144533.html[4] https://openjdk.java.net/projects/amber/[5] https://openjdk.java.net/projects/loom/[6] https://openjdk.java.net/projects/panama/[7] https://openjdk.java.net/jeps/286[8] https://openjdk.java.net/jeps/323[9] https://openjdk.java.net/jeps/302[10] https://openjdk.java.net/jeps/305[11] https://openjdk.java.net/jeps/325[12] https://openjdk.java.net/jeps/326[13] https://cr.openjdk.java.net/~rpressler/loom/Loom-Proposal.html
Copyright © 2018 Heise Medien
Bei Problemen mit der Wiedergabe des Videos aktivieren Sie bitte JavaScript
Video merken Mail versenden Permalink
Android feiert 10. Geburtstag und die besten Smartphones 2018 sind fast alle vorgestellt: Zeit für eine Bilanz und einen Blick nach vorne.
Mehr zu:Bei Problemen mit der Wiedergabe des Videos aktivieren Sie bitte JavaScript
Video merken Mail versenden Permalink
Bei Problemen mit der Wiedergabe des Videos aktivieren Sie bitte JavaScript
Video merken Mail versenden Permalink
Bei Problemen mit der Wiedergabe des Videos aktivieren Sie bitte JavaScript
Video merken Mail versenden Permalink
![]()
Nur noch 20 Sekunden Sauerstoff! Schaffe ich es, die Lebenserhaltung zu reaktivieren? Im Adventure "Deliver Us The Moon" kämpft der letzte Astronaut um sein Leben und um die Rettung der Menschheit.
Das Indie-Adventure Deliver Us The Moon: Fortuna spielt in einer Zukunft, in der die Energiereserven der Erde verbraucht sind. Mittlerweile gibt es eine Siedlung auf dem Mond und eine neue Energiequelle, die den Fortbestand der Menschheit sichern soll. Über ein Energieübertragungsnetz wird die Erde vom Mond aus versorgt – bis eines Tages das Licht ausgeht. Vom Mond kommt kein Lebenszeichen mehr. Und keine Energie.
Jahre nach dem Blackout wagen die wenigen verbliebenen Mitarbeiter der World Space Agency einen verzweifelten Rettungsversuch: Der Spieler schlüpft in die Rolle eines WSA-Astronauten, der mit der letzten verbliebenen Rakete zum Mond fliegen soll mit dem Auftrag: Deliver Us The Moon.
Das Adventure stammt von dem kleinen niederländischen Entwicklerteam KeokeN Interactive [1], die sich 2016 über eine Kickstarter-Kampagne [2] erfolgreich finanziert haben und Ende September 2018 den ersten Teil "Fortuna" des Adventures Deliver Us The Moon auf Steam veröffentlicht haben. Schon 2015 hatten sie in der Indie Arena auf der Gamescom mit der detailreichen Grafik des Spiels für Aufsehen gesorgt. Die ist wirklich sehenswert.

Als erste Aufgabe muss der Spieler die Rakete startklar machen, wobei nur eine Kollegin per Funk einige Anweisungen gibt und vor einem nahenden Staubsturm warnt. Der Sturm ist dann auch dafür verantwortlich, dass der Kontakt mit dem Kontrollraum kurz nach dem Start abbricht. So ist der Astronaut auf sich alleine gestellt. Auf ihn warten zahlreiche Aufgaben wie das Ankoppeln an die Station Kilometer über der Mondoberfläche und die Aktivierung der Lebenserhaltung. Einige Aufgaben lassen sich entspannt erledigen, bei anderen zählt jede Sekunde – meist, weil die Luft knapp wird.
Neben den dringenden Aufgaben muss der Spieler Hinweise auf den Verbleib der Stationsbesatzung und auf die Ursache des Blackouts sammeln. Die Handlung ist – typisch für ein Adventure – linear, hält aber einige Überraschungen bereit. So findet der Spieler im weiteren Verlauf einen kleinen, ASE genannten Roboter als Sidekick.
Das Adventure überzeugt mit seiner sehenswerten Grafik und dichter Atmosphäre, die trotz Monstermangel teilweise an Alien erinnert. Die Energiestation ist in ihrer Dreidimensionalität der ISS nachempfunden. Die Steuerung über die Tastatur lässt sich leider nicht ändern – bei der Bewegung in Schwerelosigkeit helfen abgesehen von WASD weitere Tasten. Glücklicherweise unterstützt das Spiel auch Gamepads.
Stirbt man bei einer schwierigen oder zeitkritischen Aufgabe, geht es ab dem letzten Speicherpunkt weiter. Diese bestimmt allerdings das Spiel, eine manuelle Speicherfunktion gibt es nicht. Oft bleibt deshalb nur, die letzen Schritte noch einmal durchzuspielen.
Die Grafik von Deliver Us The Moon basiert auf der Unreal-4-Engine. Die erste Episode Fortuna läuft derzeit nur auf Windows-PCs (mindestens Windows 7, DirectX 11) und kostet auf Steam [5] rund 20 Euro. Auf Kickstarter hatten die Entwickler auch eine Version für die XBox in Aussicht gestellt. Geplant sind insgesamt fünf Episoden – der Mond wird also noch einige Überraschungen bereithalten.
()
URL dieses Artikels:http://www.heise.de/-4188115
Links in diesem Artikel:[1] https://www.deliverusthemoon.com/[2] https://www.kickstarter.com/projects/keoken/deliver-us-the-moon?lang=de[3] https://www.heise.de/ct/bilderstrecke/bilderstrecke_4187955.html?back=4188115[4] https://www.heise.de/ct/bilderstrecke/bilderstrecke_4187955.html?back=4188115[5] https://store.steampowered.com/app/428660/Deliver_Us_The_Moon_Fortuna/[6] mailto:rop@ct.de
Copyright © 2018 Heise Medien
Bei Problemen mit der Wiedergabe des Videos aktivieren Sie bitte JavaScript
Video merken Mail versenden Permalink