The author has a background in computer science and a passion for new technology. When the degree was earned, the web was not too popular yet. That opened an opportunity to follow the entire process with huge fascination, and the journey didn’t end yet. Most of the development happens in Python and Django these days, but all other facets are interesting, too.
OpenAI gibt sich Selbstbewusst. Wenn das so stimmt, ist Sam Altman, CEO von #OpenAI, in Gesprächen über eine neue Investitionsrunde. Während #AI natürlich immer noch das dominierende Thema und eine zentrale Hoffnung für die globale Wirtschaft ist: holy shit.
$5-7 Trillion entsprechen deshalb einem Investment von wiederum einem Viertel der jährlichen Wirtschaftsleitung. Mit der Kasse hätte OpenAI mehr in der Tasche als Japan in einem Jahr umsetzt.
Damit wäre OpenAI uneinholbar Marktführer in dem Segment, das gerade in Europa durch den AI Act reguliert wird. Und mit seinem Potential auch nicht in die Hand einzelner Unternehmen gehört.
Players will continue to have access to their games library until January 18th 2023, less than half a year from today, reports Engadget.
The cloud gaming service was only launched 3 years ago, with many ambitions. Google started it’s efforts with an own game studio. However, the entire service fell back behind the attached expectations and was never considered successful. The game studio already shut down last year, making this move no surprising consequence.
What is remarkable is the almost prophetic accuracy of http://stadiacountdown.com, a single purpose website built and launched by Jason Scott.
The tweet dates back to November 2019, the day before Stadia actually launched, predicting a lifespan of 4 years for Stadia. As of today, the counter has 412 more days for Stadia to go. Google will kill the product earlier than that.
One thing noteworthy here is that Google products are already notorious for being very mortal. The above is based on Google Cemetery calculates average days for the life expectancy of any life and future product and came up with the ~4 years for the Stadia countdown. While this is kind of normal and necessary in the B2C market, the reputation the company builds is dangerous for its enterprise ambition.
Jay Leno visited SpaceX to interview Elon Musk. The quick trailer on Jay Lenos Twitter channel shows them debating Raptor Engines, used in SpaceX’s rockets. In the converation, Elon Musk takes a hot take on patents. He claims the company ain’t using the mechanism, that won’t help progressing anywhere. His take is patents are meant to keep others from progressing along. My bubble will appreciate.
Nachdem in Twitter und allen anderen Medien alle durchdrehen zu scheinen, scheint die kurze Durchsage der Denkfabrik Ember Climate bei tagesschau.de hier nicht unwichtig:
Mitten in der Gaskrise ist in der EU in diesem Sommer so viel Solarstrom produziert worden wie nie zuvor. Allein in Deutschland kam nach einer Studie knapp ein Fünftel des erzeugten Stroms von der Sonne.
Of course, the predictions include the metaverse. You’ll be surprised by this particular prediction, number 5 in the article. However, I wouldn’t be surprised if it was true. Chances are vague, though.
Die Automobilbranche schaut ja schon länger auf die Erfolgsstories der Softwareindustrie. Mieten statt kaufen, monatliche Einnahmen statt einmaliger Kosten. Für die Standheizung nur im Winter bezahlen zu müssen scheint dem ein- oder anderen Kunden ja auch noch nachvollziehbar zu sein. Wie der Benutzer @_uni_corn_ auf Twitter berichtet, kann es allerdings sein, dass Skoda den Ansatz überzieht.
Ich finde Skoda übertreibt das mit den kostenpflichtigen Zusatzfeatures etwas…
“AI will never be ethical,” the AI said during the debate. “It is a tool, and like any tool, it is used for good and bad. There is no such thing as a good AI, only good and bad humans.”
Werner Vogels, AWS CTO’s Tech Predictions for 2022
It’s this time of the year that brings us all predictions for the next year. Over on another channel I had some already, but let me collect more here.
Predictions for 2022
First here is an article from Werner Vogels, CTO of Amazon Web Services (AWS):
2022 will be an exciting year for technology, with it pushing all of us, and our planet, forward in the process
Werner Vogels on allthingsconnected.com
To summarize @werner‘s predictions briefly, here are the 5 ideas for next year and beyond:
Prediction One: AI-supported software development takes hold
Github probably made the most noise when it introduced CoPilot, however, the market has been open before that. Products like Amazon DevOps Guru or CodeGuru and GPT-3 apparently supports this approach, too. While research criticizes the high error rate of the approach, the technology will improve. After all, it will accelerate development.
Prediction two: The everywhere cloud has an edge
Not only AWS has an offering to execute code on the distributed edge of the cloud in for of in form of Lambda@Edge. Also traditional edge players turn towards cloud capabilities. Akamai announced Edge Workers earlier this year. CloudFlare has Workers sind 2017. While the concept has been around and technically viable for much longer, all this increased activity indicate a commercial viability. That will attract more vendors.
Prediction three: The rise of smart spaces, especially in senior care
When the Internet of Things became popular in the middle of the ten years, Product Managers have been looking at this space already. The reason is simple: emotion is driving a huge willingness to buy. However, in most countries, this is a highly regulated market. Companies will push for their share, but the entry is difficult.
Prediction four: Sustainability gets its own architecture
Which is way overtime. Most will say the architecture is simple, less of the same. However, computing and storage used to be a scarce and expensive resource. Those in the age to remember a C64, an Amiga or even early PCs can relate. Software architecture had to cater for those limitations. Only with the advent of the cloud resources became virtually endless and affordable. Architecture out of a sudden didn’t have to consider technical limitations, which shows in modern stacks. In the future, architecture will follow sustainability constraints.
Prediction five: A new wave of connectivity will bring about a new class of applications
That’s a bold one. After Web 1.0, Web 2.0 and what many call Web 3.0, this is difficult. Low Earth orbit (LEO) satellites sure are a thing and there is no reason starlink wouldn’t be successful. Their approach is set to bring affordable broadband to every corner of the planet. Only: which problem – in scope of this prediction – does this solve? The world has places and societies that do need internet connectivity. Those areas are not a typical home for any of these projects that would require connectivity. And still then, that’d be known applications in remote areas.
The fantastic buildbot continuous integration framework offers plenty of functionality, among others the option to authenticate with several options. The framework, at the time of this writing, comes with plugins packaged, that locally support NoAuth, UserPasswordAuth, HTPasswdAuth. More interestingly, buildbot also supports GoogleAuth, GitHubAuthGitLabAuth, BitbucketAuth for authentication through an OAuth2 login. Further, there are plugins for RemoteUserAuth or CustomAuth.
Extending BuildBot
However, there is no generic plugin for OAuth2 authentication. The obvious reason for this is, that OAuth2 is an authorisation protocol, but that’s the story of another post. While at first glance the documented classes for our purpose seem to be RemoteUserAuth or CustomAuth, open source allows us to understand how for example the GoogleAuth-class works and give us an idea of what we can do here. So does buildbot come with a base-class OAuth2Auth, that all others inherit from. We can do the same for our goal:
from buildbot.www.oauth2 import OAuth2Auth # for custom authentication
class PramariAuth(OAuth2Auth):
name = "Pramari"
faIcon = "fa-python"
resourceEndpoint = "https://www.pramari.de"
authUri = 'https://pramari.de/o/authorize/'
tokenUri = 'https://pramari.de/o/token/'
authUriAdditionalParams = dict(scope=" ".join(['userinfo', ]))
def getUserInfoFromOAuthClient(self, c):
data = self.get(c, '/api/userinfo/')
return dict(full_name="{}, {}".format(data['last_name'], data['first_name']),
username=data['username'],
email=data["email"],
)
def createSessionFromToken(self, token):
s = requests.Session()
s.headers = {'Authorization': 'bearer ' + token['access_token']}
s.verify = self.sslVerify
return s
The class requires a few attributes to be set. The obvious are name, that indicates the name of the Authentication Plugin, and faIcon, that allows to chose a FontAwesome-Icon as a representation in the buildbot menubar later. Further, OAuth2 requires an authorisation-endpoint URL and a token-exchange endpoint URL. These are specified by the authUri– and tokenUri-attributes in the above example. The authUriAdditionalParams will specify the OAuth2-scopes that will be requested in the authentication/authorisation-process. Since buildbot will require, at a minimum, some information about the authenticated user, this will contain a space-separated list of scopes. Here it is the “userinfo”-scope.
The class can exist in master.cfg.
Providing UserInfo
On the server end, in this case pramari.de, this example presumes using Jazzbands fantastic oauth2-toolkit and the equally fantastic django-restframework. To provide the userinfo that buildbot will expect, in this case under “/api/userinfo“, djangorestframework can serialize information from the Django User-Model.
class UserSerializer(serializers.ModelSerializer):
# pylint: disable=R0903
class Meta:
model = User
fields = (
"pk",
"username",
"first_name",
"last_name",
"email",
)
To provide these details, djangorestframework needs to have a view to give out these details:
Finally, add the userinfo-api view to your urls.py configuration, to provide the API Endpoint under /api/userinfo/, as configured in the buildbot-authentication class:
Userinfo is now available to API-clients that provide a token with the ‘userinfo’-scope.
Server Side
Of course, the client needs to authenticate against an authentication server, in our example using Jazzbands fantastic OAuth2-toolkit). We’ll not discuss installation and configuration of the server-side here, the package has fantastic documentation. Provided the toolkit is reachable just as the django-oauth2-toolkit tutorial described it, add a client at http://<hostname>/o/applications/:
The dialog will auto generate client-id and client-secret, that you will need for a later step. The buildbot-application will be a public application, that works using the authorization-code flow. Redirect-URLs for buildbot are <buildbot-url>/auth/login/. Please replace with your URL in the above example.
OAuth2 Login
Once you have client-id and client-secret, you can go and configure the web interface in master.cfg for buildbot:
As a last hint in this small exercise, you may want to look into authz, to ensure proper access-limits for remote-authenticated users. Again, buildbot has excellent documentation on this topic, and further examples would be beyond the scope of this article. Here only for the completeness of the example: