Die Forschungsbehörde der US-Geheimdienste will schnell Techniken, um Infizierte aus der Ferne zu identifizieren und Kontaktrückverfolgung auch ohne Handys zu ermöglichen
Schlagwort: sokai @feeds.mediani.de
Mach’s gut, Pro-Linux!
Eine Ära geht zu Ende. Ein Nachruf auf Deutschlands schillerndste Linuxnewsseite.

„Es wurde aus dem Chaos geboren, nährte sich vom Chaos und wird irgendwann im Chaos untergehen.“ So antworteten die Macher von Pro-Linux auf die Frage nach einer kurzen Selbstbeschreibung im Interview, das Pinguinzubehör im Jahre 2009 mit ihnen führte. Das ist nun schon elf Jahre her, und zufällig war das Projekt zu diesem Zeitpunkt gerade knapp elf Jahre alt. Es nährte sich elf weitere Jahre, ist nun im zweiundzwanzigsten Jahr und wird jetzt tatsächlich untergehen.
Von Chaos jedoch keine Spur. Das Ende erfolgt geordnet. Als Nachrichtenseite wird Pro-Linux nun nicht mehr fortgeführt, doch das Archiv und einzelne Services bleiben erhalten. Chaos herrscht allenfalls unter den Stammlesern, die sich nun eine neue Heimat suchen müssen.
Pro-Linux hat über die Jahre viel gesehen und begleitet: die Entwicklung von KDE und Gnome, den Ubuntu-Aufstieg, das Aufkommen und Verschwinden von Distributionenen und ganzer Distributionsmodelle. Die Diskussionen unter den Artikeln wurden oft auch derb geführt, und auch schon, als von verrohenden Sitten in sozialen Netzwerken noch nicht einmal die Rede war – weil es noch keine sozialen Netzwerke gab. Doch auch wenn es heftig zur Sache ging, ging es dabei immer um die Sache, und letztlich war das Zusammenspiel von umfangreichen Linuxnachrichten und pointierter Diskussion eine funktionierende Mischung.
Pro-Linux gehörte für Linuxinteressierte zur Frühstückslektüre. Eine Art Heise-Newsticker für Linuxanwender, diese Nische füllte es mustergültig. Auch dieser Autor hier war mal ganz kurz Pro-Linux-Schreiberling und machte auch dort erste hobbymäßige Ausflüge in den IT-Journalismus. Inzwischen ist er tatsächlich Journalist, hat das alte Hobby aber nie aufgegeben. Insofern ist Pro-Linux auf eine gewisse Weise auch für das Entstehen von Pinguinzubehör mitverantwortlich.
Auf 22 Jahre bringen es diese Seiten noch bei weitem nicht, auch nicht ansatzweise auf eine derart hohe Veröffentlichungsfrequenz. Wer selbst regelmäßig schreibt, kann gut einschätzen, welcher Aufwand bei Pro-Linux über all die Jahre betrieben wurde. So etwas lässt sich in diesem Umfang nur durchhalten, wenn man mit Herzblut bei der Sache ist. Das merkte man den Machern auch stets an. Das Portal wurde über die Jahre professioneller, ambitionierter, doch wirkte dabei nie abgehoben. In dieser Form war Pro-Linux etwas Besonderes und stand einzigartig da.
Zuletzt wurden Schwierigkeiten sichtbar, eine Mobilansicht konnte nicht mehr gestemmt werden, und die angestrebte Monetarisierung durch die Nutzer selbst stand sicherlich in keierlei Verhältnis zum betriebenen Aufwand all der Jahre. Das Herzensprojekt endet nun nach über zwei Jahrzehnten aus persönlichen Gründen der Macher – und es wird eine Lücke hinterlassen. Wer und ob sie jemand füllen wird, ist ungewiss.
Mirko Lindner, Hans-Joachim Baader und Mitstreiter dürfen sich zugutehalten, distributionsübergreifend etwas für Linux bewegt und der Gemeinschaft der Anwender einen großen Anlaufpunkt geboten zu haben. Danke für unzählige Jahre Informationssammlung, Anregungen und Diskussionsstoff – und einen schönen publizistischen Ruhestand!
Team NewPipe publishes own F‑Droid repository
Team NewPipe proudly announces a self-hosted F-Droid repository, providing the official NewPipe app as well as – in the future – NewPipe Legacy. The F-Droid repository is a convenient way for users to update more quickly, which is especially useful whenever one of the supported services break.
How to add the repository to F-Droid
Instead of telling you the boring story behind the repository, let’s first talk about how you can use it from F-Droid on your device(s).
The easiest way to add the repository is to scan the QR code below or click this link if you’re viewing this on your device already. F-Droid should pop up on both, prompting you to add the repository. For the paranoid (which is not a bad idea, especially in this context!), you can verify the fingerprint F-Droid shows you with the one in the “copy-pastable” URL below.
Alternatively, in F-Droid, open the Settings, and choose Repositories. Then press the plus button, and paste the link if needed.
Once you added the repository, update your package lists. If you had NewPipe installed from the official F-Droid repository before, you will have to uninstall this one before F-Droid will display the packages from our repository. Please make sure to backup and restore the app data to avoid losing your subscriptions, history and settings.
The URL you need to copy is below. It includes the key’s fingerprint for your convenience.
https://archive.newpipe.net/fdroid/repo/?fingerprint=E2402C78F9B97C6C89E97DB914A2751FDA1D02FE2039CC0897A462BDB57E7501
Note: we also provide an archive containing older builds of NewPipe; to use this, just substitute fdroid with archive in the URL, the key’s fingerprint is the same.)
We will soon provide a detailed guide including screenshots for our less tech-savvy users.
History of the F-Droid repository
As you all know, F-Droid can be slow on updates. While this is not a problem for regular releases, it is annoying when e.g., YouTube or any other service in NewPipe breaks, as then the app stops working completely.
A workaround has always been to install the .apk files from the GitHub release page, however, this has some significant drawbacks. As of yet, the builds on GitHub and the official F-Droid repository are signed with different keys, which means the user has to uninstall one app first and then install the other one when switching between both approaches. Also, the GitHub releases had to be updated manually. Even though there now is an update notification (which is done through our servers, to increase your privacy, instead of e.g., using the GitHub API), it’s still cumbersome.
So far, we have not been able to fix the different signatures; there is a solution for this, but we have not been able to implement it yet. We could fix the other problem, though. By setting up an F-Droid repository on our servers, we could instruct users to use builds from this repository. This allows them to easily update the app on their devices. We push updates nearly the same minute we make releases on GitHub, allowing users to update as soon as possible.
The F-Droid repository has been in a semi-public beta for a significant amount of time, and in this time, we have automated and improved our processes. The user feedback has been positive so far, so we thought now is a good time to release the repository for public use.
Disclaimer
Please note that there are no guarantees made from us with regards to the repository and the contained .apk files. We work on keeping everything working safely, though. If you spot any issues, please don’t hesitate to contact us.
Why Kubernetes getting so popular?
At the time of this article, Kubernetes is about six years old, and over the last two years, it has risen in popularity to consistently be one of the most loved platforms. This year, it comes in as the number three most loved platform. If you haven’t heard about Kubernetes yet, it’s a platform that allows you to run and orchestrate container workloads.
Containers began as a Linux kernel process isolation construct that encompasses cgroups from 2007 and namespaces from 2002. Containers became more of a thing when LXC became available in 2008, and Google developed its own internal ‘run everything in containers mechanism’ called Borg. Fast forward to 2013, and Docker was released and completely popularized containers for the masses. At the time, Mesos was the primary tool for orchestrating containers, however, it wasn’t as widely adopted. Kubernetes was released in 2015 and quickly became the de facto container orchestration standard.
To try to understand the popularity of Kubernetes, let’s consider some questions. When was the last time developers could agree on the way to deploy production applications? How many developers do you know who run tools as is out of the box? How many cloud operations engineers today don’t understand how applications work? We’ll explore the answers in this article.
Infrastructure as YAML
Coming from the world of Puppet and Chef, one of the big shifts with Kubernetes has been the move from infrastructure as code towards infrastructure as data—specifically, as YAML. All the resources in Kubernetes that include Pods, Configurations, Deployments, Volumes, etc., can simply be expressed in a YAML file. For example:
apiVersion: v1 kind: Pod metadata: name: site labels: app: web spec: containers: - name: front-end image: nginx ports: - containerPort: 80
This representation makes it easier for DevOps or site reliability engineers to fully express their workloads without the need to write code in a programming language like Python, Ruby, or Javascript.
Other benefits from having your infrastructure as data include:
- GitOps or Git Operations Version Control. With this approach, you can keep all your Kubernetes YAML files under git repositories, which allows you to know precisely when a change was made, who made the change, and what exactly changed. This leads to more transparency across the organization and improves efficiency by avoiding ambiguity as to where members need to go to find what they need. At the same time, it can make it easier to automatically make changes to Kubernetes resources by just merging a pull request.
- Scalability. Having resources defined as YAML makes it super easy for cluster operators to change one or two numbers in a Kubernetes resource to change the scaling behavior. Kubernetes has Horizontal Pod Autoscalers to help you identify a minimum and a maximum number of pods a specific deployment would need to have to be able to handle low and high traffic times. For example, if you are running a deployment that may need more capacity because traffic suddenly increases, you could change
maxReplicasfrom10to20:
apiVersion: autoscaling/v2beta2 kind: HorizontalPodAutoscaler metadata: name: myapp namespace: default spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: myapp-deployment minReplicas: 1 maxReplicas: 20 metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 50
- Security and Controls. YAML is a great way to validate what and how things get deployed in Kubernetes. For example, one of the significant concerns when it comes to security is whether your workloads are running as a non-root user. We can make use of tools like conftest, a YAML/JSON validator, together with the Open Policy Agent, a policy validator to check that the
SecurityContextof your workloads doesn’t allow a container to run as a root. For that, users can use a simple Open Policy Agent rego policy like this:
package main
deny[msg] {
input.kind = "Deployment"
not input.spec.template.spec.securityContext.runAsNonRoot = true
msg = "Containers must not run as root"
}
- Cloud Provider Integrations. One of the major trends in the tech industry is to run workloads in the public cloud providers. With the help of the cloud-provider component, Kubernetes allows every cluster to integrate with the cloud provider it’s running on. For example, if a user is running an application in Kubernetes in AWS and wants that application to be accessible through a service, the cloud provider helps automatically create a
LoadBalancerservice that will automatically provision an Amazon Elastic Load Balancer to forward the traffic to the application pods.
Extensibility
Kubernetes is very extensible, and developers love that. There are a set of existing resources like Pods, Deployments, StatefulSets, Secrets, ConfigMaps, etc. However, users and developers can add more resources in the form of Custom Resource Definitions. For example, if we’d like to define a CronTab resource, we could do it with something like this:
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: crontabs.my.org
spec:
group: my.org
versions:
- name: v1
served: true
storage: true
Schema:
openAPIV3Schema:
type: object
properties:
spec:
type: object
properties:
cronSpec:
type: string
pattern: '^(\d+|\*)(/\d+)?(\s+(\d+|\*)(/\d+)?){4}$'
replicas:
type: integer
minimum: 1
maximum: 10
scope: Namespaced
names:
plural: crontabs
singular: crontab
kind: CronTab
shortNames:
- ct
We can create a CronTab resource later with something like this:
apiVersion: "my.org/v1" kind: CronTab metadata: name: my-cron-object spec: cronSpec: "* * * * */5" image: my-cron-image replicas: 5
Another form of Kubernetes extensibility is its ability for developers to write their own Operators, a specific process running in a Kubernetes cluster that follows the control loop pattern. An Operator allows users to automate the management of CRDs (custom resource definitions) by talking to the Kubernetes API.
The community has several tools that allow developers to create their own Operators. One of those tools is the Operator Framework and its Operator SDK. The SDK provides a skeleton for developers to get started creating an operator very quickly. For example, you can get started on its command line with something like this:
$ operator-sdk new my-operator --repo github.com/myuser/my-operator
Which creates the whole boilerplate for your operator including YAML files and Golang code:
. |____cmd | |____manager | | |____main.go |____go.mod |____deploy | |____role.yaml | |____role_binding.yaml | |____service_account.yaml | |____operator.yaml |____tools.go |____go.sum |____.gitignore |____version | |____version.go |____build | |____bin | | |____user_setup | | |____entrypoint | |____Dockerfile |____pkg | |____apis | | |____apis.go | |____controller | | |____controller.go
Then you can add APIs and a controller like this:
$ operator-sdk add api --api-version=myapp.com/v1alpha1 --kind=MyAppService $ operator-sdk add controller --api-version=myapp.com/v1alpha1 --kind=MyAppService
And finally build and push the operator to your container registry:
$ operator-sdk build your.container.registry/youruser/myapp-operator
If developers need to have even more control, they can modify the boilerplate code in the Golang files. For example, to modify the specifics of the controller, they can make changes to the controller.go file.
Another project, KUDO, allows you to create operators by just using declarative YAML files . For example, an operator for Apache Kafka would be defined with something like this, and it allows users to install a Kafka cluster on top of Kubernetes with a couple of commands:
$ kubectl kudo install zookeeper $ kubectl kudo install kafka
Then tune it also with another command:
$ kubectl kudo install kafka --instance=my-kafka-name \ -p ZOOKEEPER_URI=zk-zookeeper-0.zk-hs:2181 \ -p ZOOKEEPER_PATH=/my-path -p BROKER_CPUS=3000m \ -p BROKER_COUNT=5 -p BROKER_MEM=4096m \ -p DISK_SIZE=40Gi -p MIN_INSYNC_REPLICAS=3 \ -p NUM_NETWORK_THREADS=10 -p NUM_IO_THREADS=20
Innovation
Over the last few years, Kubernetes has had major releases every three or four months, which means that every year there are three or four major releases. The number of new features being introduced hasn’t slowed, evidenced by over 30 different additions and changes in its last release. Furthermore, the contributions don’t show signs of slowing down even during these difficult times as indicated by the Kubernetes project Github activity.
The new features allow cluster operators more flexibility when running a variety of different workloads. Software engineers also love to have more controls to deploy their applications directly to production environments.
Community
Another big aspect of Kubernetes popularity is its strong community. For starters, Kubernetes was donated to a vendor-neutral home in 2015 as it hit version 1.0: the Cloud Native Computing Foundation.
There is also a wide range of community SIGs (special interest groups) that target different areas in Kubernetes as the project moves forwards. They continuously add new features and make it even more user friendly.
The Cloud Native Foundation also organizes CloudNativeCon/KubeCon, which as of this writing, is the largest ever open-source event in the world. The event, which is normally held up to three times a year, gathers thousands of technologists and professionals who want to improve Kubernetes and its ecosystem as well as make use of some of the new features released every three months.
Furthermore, the Cloud Native Foundation has a Technical Oversight Committee that, together with its SIGs, look at the foundations’ new and existing projects in the cloud-native ecosystem. Most of the projects help enhance the value proposition of Kubernetes.
Finally, I believe that Kubernetes would not would not have the success that it does without the conscious effort by the community to be inclusive to each other and to be welcoming to any newcomers.
Future
One of the main challenges developers face in the future is how to focus more on the details of the code rather than the infrastructure where that code runs on. For that, serverless is emerging as one of the leading architectural paradigms to address that challenge. There are already very advanced frameworks such as Knative and OpenFaas that use Kubernetes to abstract the infrastructure from the developer.
We’ve shown a brief peek at Kubernetes in this article, but this is just the tip of the iceberg. There are many more resources, features, and configurations users can leverage. We will continue to see new open-source projects and technologies that enhance or evolve Kubernetes, and as we mentioned, the contributions and the community aren’t going anywhere.
The post Why Kubernetes getting so popular? appeared first on Stack Overflow Blog.
Google: Ranking von Webseiten wird zukünftig von anderen Kriterien abhängen

Bild von Joshua Golde auf Unsplash
Das Ranking einer Webseite ist für viele Betreiber im Internet eine der wichtigsten Auszeichnungen, immerhin sorgt eine besonders gute Bewertung dafür, dass die eigene Webseite entsprechend weit oben in den Google-Suchergebnissen auftaucht und somit noch mehr Leser anzieht. Wie Google in einem neuen Beitrag informiert, werden die Algorithmen, die jenes Ranking beeinflussen, zukünftig modernisiert, sodass dann ab sofort die sogenannte „Page Experience“ als Wert herangezogen wird.

Diese Page Experience hängt dabei natürlich auch wieder von allerhand Faktoren ab, die dieses Mal aber deutlich über das Messen der Ladegeschwindigkeit einer einzelnen Webseite hinausgehen. So sind dann auch Dinge wie Pop-ups, auf der Seite „herumspringende“ Inhalte oder aber auch Verzögerungen beim Anzeigen einzelner Seiteninhalte relevant. Vor allem ändert sich aber auch etwas an den Anforderungen für Beiträge, die in den Google-Schlagzeilen auftauchen können. Bisher mussten diese immer noch zwingend im AMP-Format verfasst sein, jene Anforderung fällt zukünftig weg – jeder Beitrag hat die Chance, in den Schlagzeilen angezeigt zu werden, sofern er die Page-Experience-Kriterien einhält.

Die hier gezeigten Kriterien zeigen, wie sich der Faktor „Page Experience“ eigentlich zusammensetzt.
- Largest Contentful Paint (LCP) misst, wie schnell der „Hauptinhalt“ der Seite geladen wird
- First Input Delay (FID) misst, wie schnell die Seite reagiert, wenn der Nutzer erstmalig auf der Seite etwas anklickt
- Cumulative Layout Shift (CLS) misst, wenn Dinge auf der Seite „herumspringen“ – zum Beispiel, wenn Anzeigen den darzustellenden Text immer wieder neu anordnen
Laut The Verge brauchen Betreiber von Webseiten nun aber nicht in Panik verfallen und ihre Seiten sofort entsprechend anpassen. Frühestens in einem halben Jahr wolle Google laut einiger Entwickler damit beginnen, Seiten nach deren Page Experience zu bewerten und anzuzeigen.
-> Zum Beitrag Google: Ranking von Webseiten wird zukünftig von anderen Kriterien abhängen
-> Zum Blog Caschys Blog
Unser Feedsponsor:
