All our hack are belong to us.

Active projects and challenges as of 20.04.2024 07:28.

Hide full text Print CSV Data Package


Briefing & Gipfeli

Dein Lieblings-Café druckt dir den Morgennewsletter direkt aufs Kassenzetteli.


~ PITCH ~

Basel Briefing» + Kassenzetteldrucker = ❤️

«1 Cappuccino to-go im eigenen Becher, macht 5.60, soll ich Dir gleich noch das Basel Briefing auf den Zettel drucken?»

In der Challenge «Briefing & Gipfeli» suchen wir nach Möglichkeiten, ein reales Kassensystem automatisch mit dem E-Mail-Newsletter von Bajour (weitere Möglichkeiten: von tsüri.ch, hauptstadt.be) zu verbinden und über den Drucker für Quittungen auszudrucken. Zum Ausprobieren (auch vorher, wir können Dir einen zuschicken!) haben wir drei mit Raspberry PI kompatiblen Mini-Drucker zur Verfügung:

 Title

Danach geht's an ein echtes Kassensystem, wir verhandeln gerade noch mit lokalen Kaffee-Betreibern, update folgt.

Das «Basel Briefing» kommt jeden Morgen um 7 Uhr per E-Mail, hier kannst du es abonnieren und hier findest du das Archiv


Confediverse Helvetica

To boldly tröt where no journalist has tweeted before! 👽


~ PITCH ~

Image: Can Mastodon be a reasonable Twitter substitute for journalists? created by Nightcafe

At the Rethink Journalism hackathons, we take a look under the hood of tools like wepublish, take questions and ideas from newsdesks and go for a test-drive, get to know their tech teams and primary users.

On participant request, a short workshop on publishing in the Fediverse was hosted at the Bajour office. Some of us continued work on setting up a Mastodon instance, with the Press Codex as governing principle. We researched some governance models that help to create thriving communities around discussing the news.

Our initial hypthesis, is that the Fediverse can provide not only a viable alternative for promoting content, but also to facilitating online discussion, and even as infrastructure for crowdsourced and investigative journalism. The combination of these previously disparate processes into one powerful cross-platform medium, should empower individual journalists and newsdesks in years to come.

Results

We set up an alpha instance of GoToSocial (a new, Mastodon-compatible project) at the hackathon, and a few days later set up a second server with an installation of the official Mastodon server. A domain name (fedi.watch) was reserved, and an open wiki (GitHub) set up to collect ideas and initiatives from the community.

The Challenge

People are shifting from Twitter to Mastodon, and if I'm correct, it's like a protected space where we can set rules and manage issues together. If people sign up and post to a protected instance for journalists, they should have a Code of Conduct (Presserat Codex) that sets rules and trust levels for people who join. The questions we would like to explore at the hackathon are:

  • How to use Fediverse for journalism?
  • What is the potential of it? How is the social space governed?
  • Do not reproduce The Bird, use the open tools!
  • How does the ActivityPub protocol work, that allows people to follow across networks and services?

Presented by ^miriam ^samuel

 On stage

Team

  • Miriam is working for Netzcourage.
  • Samuel is a journalist and technologist with Bajour.
  • Oleg supports events and infrastructures at Opendata.ch.

Process

We are setting up a beta test environment with Fediverse (Mastodon) news products. We will introduce this service for journalism, and invite others to join the beta test environment. We have used federated services and protocols, and will share our experience as well as helping to connect useful tools and data sets to the needs of journalists who wish to create an online presence, or run investigations and content curation in the Fediverse.

Swiss Fediverse in 2022

Workshop

We ran a workshop on Friday with the group of journalists at the hackathon and explored a number of issues, suggested lots of starting points. These are documented in the Readme tab above and can be expanded on in our pad: https://pad.okfn.de/p/rejoha22-fediverse

Ansible console

On Friday night we tried to install a Mastodon server using Ansible and Heroku. Both did not work out of the box. We tried to look for a simple, up to date, one-click solution to deploying Mastodon. With all the people trying to run an instance, this seems to be a gap. We tried:

There is a list of "dedicated Mastodon hosting providers" at https://docs.joinmastodon.org/user/run-your-own/

We thought it would be quite fun to run Mastodon on a Raspi, and flashed an SD card on a Raspberry Pi 4. However we had issues getting a screen connected and let this idea go.

On Saturday we branched out a bit: Miriam did some research but had to leave at lunch, Oleg did a bit more work here but mostly helped other teams, and brainstormed infosec topics - then briefly presented our status.

Since Sunday, we have an alpha instance is up and running at https://alpha.openlegallab.ch/ - based on:

https://github.com/superseriousbusiness/gotosocial

Ask Oleg for an account and instructions if you would like to try it!

https://youtu.be/_yrcSgAgMkI?t=3356

~ README ~

Fediverse Workshop "all your tweets are belong to us" @ Bajour

(Oleg & Miriam)

1. Einführung und Overview

Fediverse (Big Picture), seine Tools und Services

https://digitalcourage.de/digitale-selbstverteidigung/fediverse

https://www.eff.org/deeplinks/2022/11/fediverse-could-be-awesome-if-we-dont-screw-it

https://wiki.p2pfoundation.net/Fediverse

Fokus Mastodon: Kleine Einführung

Wie sich verbinden?

https://pad.wolkenbar.de/s/mastodon# (Deutsch)

https://publish.obsidian.md/louisderrac/0+m%C3%A9moire+num%C3%A9rique/01+Num%C3%A9rique/Num%C3%A9rique+alternatif/Guide+mastodon/Guide+de+d%C3%A9couverte+de+Mastodon+(et+du+F%C3%A9divers) (Français)

https://benwerd.medium.com/the-fediverse-is-happening-heres-how-to-take-part-11c42f5ebefd (English)

Welche Server gibt es, wie finde ich sie, wie zügeln?

https://joinmastodon.org

https://fediverse.observer/map

https://fedifinder.glitch.me/

Welche Services helfen cross-posting zu einrichten?

https://moa.party/

https://github.com/cquest/tootbot

Der Weg zu meine Community finden

  • Tools für Migration und Kontakte übernehmen
  • Volle Adresse in Displayname, als Link, oder Pinned tweet
  • Debirdify (Welchen Server nutzen meine Twitterkontakte?)

2. Brainstorming

Regeln, Codex, Massnahmen? (Alle)

Was bedeutet das für Journalismus?

Stärken/Chancen

Gute Quelle für zensurfreie Informationen, verifizierte Quellen, Verifizierungsmöglichkeiten, Berechtigungen auf Beitragslevel möglich

Schwächen/Risiken

Sozialer Dialog verloren, Fakenews Verlorene Inhalten und Behaviors (likes usw.)

Übergeordnete Regeln

Netiquette https://www.rfc-editor.org/rfc/rfc1855

Journalistenkodex (CH) https://presserat.ch/journalistenkodex/erklaerung/

SPJ (USA) https://www.spj.org/ethicscode.asp

https://santaclaraprinciples.org/

Weitere Regeln?

https://github.com/dribdat/docs/wiki/Guidelines

3. Call to Action!

Folgt uns, bitte :) https://fosstodon.org/tags/rejoha22 - Ihr werdet alle zurück gefolgt und boosted!

Trete heute der Alpha Instanz bei und sieh es dir an. Hier können Experimente durchgeführt und ihre Vorschläge implementiert sein.

Wir teilen unsere Erfahrungen und Empfehlungen in einem Präsi und Webseite mit.

4. Nächste Schritte

Beta-Test aaS aufsetzen (Info, Kosten, ..)

Wer macht im Betatest mit? Weitere vor allem journalistische und institutionelle Partner gesucht. 

Wir organisieren weitere Workshops, an Hackathons, Winterkongress, usw.

X. Parkplatz/ Links

https://www.avatter.de/wordpress/2022/11/twitter-alternative-mastodon-hitlergruss-nach-feierabend/

Wayback Machine: Beispiel von einem archivierten Tweet https://web.archive.org/web/20220000000000*/https://twitter.com/lrozen/status/1502789856912625666 https://help.twitter.com/en/managing-your-account/how-to-download-your-twitter-archive Twitter Archivist — turn your tweets into a non-linear personal web notebook https://tiddlywiki.com/prerelease/editions/twitter-archivist/ https://debirdify.pruvisto.org/ https://botwiki.org/resource/tutorial/introduction-to-mastodon-bots/ https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server/ https://federated.press/about https://ungleich.ch/u/products/mastodon-hosting/ https://github.com/loleg/mastodon-ansible https://www.trust-j.org/

Y. Further thoughts

I follow you, you follow me, we are troot troot family 🎶 A small animation to explain ActivityPub Mention open data projects like Hypercore, IPFS, Solid, harvesters, DCAT which federate content at various degrees of formality. A Mastobot to share new data sources, respond to "data tips" from the community. This is not your grandpa's soapbox forum. Fediverse unifies readership responses, allows threads to develop across articles and across publications. Big media, but also traditional business models, fear this loss of control. Do you? We need incentives for community moderation badly. Twitter, Facebook, Mastodon, all sink under the weight of info-spam and hate speech. Let's continue this urgent, critical conversation - and HACK solutions together!


Daten-Cockpit für Klima-journalismus - Klimacockpit Basel

Alle Informationen über regionale Entwicklungen, Ziele, Zahlen und Events rund ums Klima.


~ PITCH ~

Der Klimawandel ist oft abstrakt und weit weg. Das Klimacockpit Basel, soll den Klimawandel in der Heimat erfahrbar, greifbar und lösbar machen. Was sind die Klimaziele der Stadt Basel? Wie hoch war der Stromverbrauch im letzten Monat? Welche Veranstaltungen gibt es heute Abend zum Thema Klima? Was sagen die Medien über den Klimaeandel in Basel? Diese Fragen wollen wir übersichtlich und ansprechend auf einen Blick zur Verfügung stellen. (Challenge Bild)

What we did


Die ganze Fasnacht in einem Bild

Mit der Open-Source-Software "Timebased Photoraphy" könnte dem Weltkulturerbe ein Denkmal gesetzt werden.


~ PITCH ~

Der Basler Künstler und Schriftsteller Hannes Bajohr experimentiert seit Jahren mit einer Technik, die er "timebased photography" nennt. Die Idee: Ein Video wird, Frame für Frame, zu einem immer breiteren Bild zusammengefügt, wobei pro Frame nur ein 1-Pixel-breiter Streifen verwendet wird. Daraus entstehen verzerrte Aufnahmen wie diese:

 Title

Für Bajour stellt sich die Frage: können wir so den Cortège der Basler Fasnacht in einem noch nie dagewesenen Format festhalten? Wie kann das möglichst verzerrungsfrei erstellt werden, wie wird es angezeigt (seitlich scrollbar, aber trotzdem schnell geladen)? Und wäre es möglich, dass Leser*innen sich selbst oder andere Mitlieder ihrer Clique markieren können? Und last but not least: würde sich ein solches Mega-Foto auf einem Drucker mit Endlospapier ausdrucken und ausstellen lassen?

Alle Infos im Github-Repo von Hannes Bajohr, zudem lohnt es sich, ihm bei Twitter zu folgen.

~ README ~

Time-based photography

Installation:

Simply copy both files tbpmain.py and tbplib.py into a folder; open the main file in an editor, add the path info, and change the parameters. I might make a version with flags later, but I like to see the possible options. You will need to install the dependencies numpy and PIL.

Description:

This is a project I have been working on and off for more than a decade (the earliest version I have on my drive is from 2008 and was started in Processing, but I let it rest for quite a while). The basic idea is to conceive of a photograph as a function over the time of a video file. While a photograph is a projection of a point in time onto a static image, time based photography, as I understand it, compresses a temporal sequence into such a static image.

The project works in two ways:

1) Video -> Image(time)

For each frame of a video file, a single vertical strip of a pretermined width is extracted; the sum of these strips is concatenated and returned as an image file.

1.1) Static camera, moving objects

Here is an example of a person walking past my window.

**Input video (recorded in slow motion): **

https://user-images.githubusercontent.com/20578427/173235913-1f1f20f8-a49e-4cd6-aca5-415c1f03d600.mp4

**Output image: **

time based photography

The output input is a function of time of the input video; as the video is static, only the differential movements are captured in the image. Notice that this translates to interestingly distortions where some parts are longer in one place than others (the feet), and to a reversal of directions: Even though the car is passing by from right to left in the video, in the image, it appears to drive from left to right. The same with the people, who also walk in different directions but in the image appear to face the same way. The reason for this is that all movements are mapped continuously onto the image. This video helps to understand how it works:

https://user-images.githubusercontent.com/20578427/173237498-fb535e47-5223-460f-879b-75049085b4eb.mp4

Here, it is best to use slow-motion footage so that ideally each frame of the output image covers the movement of one pixel in the video. The movement mapping and its distortion are especially interesting for moving bodies. This is, for example, how I made my profile image:

Input video:

https://user-images.githubusercontent.com/20578427/173238005-a3de95e9-b58d-426a-a761-178c578ad921.mov

Output image:

line-0001aFrame1

(The video was longer, I turned more than once. Notice how I sometimes stray too far from my axis so that, for instance, my mouth appears twice, hanging in mid-air.)

1.1) Moving camera, static objects

Another approach is to move the camera so as to avoid the background repetition. Here, the effect is similar to the "panorama" feature on many cell phones. Since here we don't have a single vanishing point, this is also the reduction of perspectival space in a static image, in effect producing an isomorphic image (or at least an image with more than one vanishing point).

Here is a video of my old stop at 125th St in New York turned into an image. (This time, the "slices" are wider than one pixel as this was taken in, I think, 2013 before the iPhone allowed slo-mo.)

Input video:

https://user-images.githubusercontent.com/20578427/173238427-b783d30c-9ef1-47f5-a569-d2c27184f352.mov

Output video:

125th

Here is another, smoother image from a slo-mo video.

Input video:

https://user-images.githubusercontent.com/20578427/173238814-a722ebbb-831f-48a1-8fd9-63e41ee52768.mp4

Output video:

trainride

You can see how objects moving in the foreground move faster and are thus compressed, while those in the background, moving slower, are extended. Notice also how the straight bridge becomes curved due to the differential movement. (Panofsky would have liked this.)

2) Image(time) -> Video(perspective): Operation 1) is repeated for every possible vertical "slice".

For each of the images above, I had to make the decision which pixel on the x axis I chose as the position of the "slice." For instance, for the very first image, I chose the center slice (the vertical line equidistant from each of first and the last row of pixels in the image; you can see this in the composite video well, where I had to cut the video in half to show how it maps onto the image).

But for an image of a width of n pixels, there are also n possible positions for these "slices." The output will be different as time passes between the first and the last, be it the camera or an object; also, especially for videos with a lot of depth, there is a slight difference in perspective between the first and the last "slice."

For example, this is the output for the video from above of the 125th St stop, taken at difference "slice" positions (the video was 1080 pixel wide):

first row

Very first row of pixels (n=0):

first row

Center row of pixels (n=540):

middle row

Last row of pixels (n=1080):

last row

This makes intuitive sense of you remember that this is taken from a moving train: The corner of the building in the middle would move in and out of frame, first only as an edge blocking the view into the street, then lining up with the perspective of the street, and finally showing the facades of the street. Since the last row of pixels captures the first phase and the first row (as the camera is moving from left to right) the last phase of that movement (time having passed), the perspectives are different.

Now, since this can be done for all n rows of pixels of a video, one can turn the total of all these slightly different images into a video again. The result is something like a derivative of the video's time function.

Here it is for the 125th St stop (still a bit blocky):

https://user-images.githubusercontent.com/20578427/173239850-62794041-c412-45a8-967b-d89da8790b8f.mp4

(This was an early attempt; I made a mistake in the script so the last few slices are repeated.)

And here is the "derivative" for the other train video:

https://user-images.githubusercontent.com/20578427/173240020-b6385512-9c54-4c99-994d-4d733f5fbb35.mp4

I like how the fact that the background in the video moves slower than the foreground translates into the reverse: Now it is the background that moves while the foreground remains static - it is as if the perspective had been flipped in some way I don't quite have a name for yet.

This works also for videos where the camera remains static. Here is a similar shot of my old street as above:

https://user-images.githubusercontent.com/20578427/173240540-45254d1c-adc7-4152-a2aa-1f28b265d6c3.mp4

Two things are interesting here: First, the slow black flicker on the bottom half of the screen are the vertical bars of the fence you see in the first video. And second, you can see how the people in the background appear to go backwards - they are still flipped but now move in the correct direction!

And here is a similar shot as before with me rotating:

https://user-images.githubusercontent.com/20578427/173242039-155ca2d0-e168-4b77-9fb9-eb4692da32c8.mp4

Combining static and moving approach

Recently, I have been combining the static and the moving approach by mounting my phone on a slow rotating tripod. This way, you get both the background as well as moving objects without either of them blurring. The results can be absolutely freaky, as in this street scene from Berlin:

Input video:

https://user-images.githubusercontent.com/20578427/173242633-a52d55fe-c7ac-43e9-a97e-6ebf3bf8c7e7.mp4

**Output video: **

https://user-images.githubusercontent.com/20578427/173243806-0a2f4e4c-f637-423f-b8ba-ee97a93aa18b.mp4

To me, this looks insane - the combination of both approaches makes them look like they are floating, and the perspectival stretching/compressing makes the jogger smaller than the lamppost he is jogging in front of.


Hacking Robots

🤖 Kann unser Wand-Schreib-Roboter Stimmenzähler sein? 🤖


~ PITCH ~

Um Kosten zu sparen, hat Bajour seit einigen Wochen einen Schreib-Roboter von Scribit. Er kann an Wände und Fenster schreiben und es ist ein bisschen wie Magie:

 Title

Wenn man die korrekten Bilder hochlädt (Vektorformat in der genau richtigen Auflösung), dann macht er alles, was man will. Doch wäre es möglich, dass er die Kommandos von der Wepublish-Api zur Frage des Tages erhält und für jede Stimme ein Strichli macht?

 Title


Kampagne, um Anzahl NL-Abonnent:innen zu steigern

Wie schafft man es, neue Abonent:innen für den Newsletter zu gewinnen? Die langfristig bleiben. Fette Kampagne mit 0 Budget. 😄


~ PITCH ~

 Title


Responsible News Recommender Systems

Wie kann man ein transparentes System bauen, das plattformübergreifend automatisierte und/oder personalisierte Artikel-Empfehlungen macht?


~ PITCH ~

https://speakerdeck.com/sina_jb/hackathon-challenge-pitch-221124

Die digitale Transformation hat sich sowohl auf die Nachfrage und Nutzung von Nachrichten als auch auf die Produktion und Verbreitung von Nachrichten tiefgreifend ausgewirkt: die Nutzer*innen sind mit einer immer größeren Auswahl an Medien und Informationsquellen konfrontiert und konsumieren Nachrichten zunehmend online, z.B. über soziale Medien.

Auf solchen Plattformen werden Inhalte zunehmend über Algorithmen automatisiert und personalisiert vorgeschlagen. Klassische Medienorganisationen spielen zwar immer noch eine zentrale Rolle, gerade auch in der Schweiz. Sie sind aber mit einer sinkenden Zahlungs-Bereitschaft der Nutzer*innen, sinkenden Werbeeinnahmen und einem verschärften Wettbewerb um Aufmerksamkeit konfrontiert. Um mit diesen Veränderungen mithalten zu können, experimentieren auch klassische News-Medien u.a. zunehmend mit algorithmischen Nachrichtenempfehlungssystemen.

Allerdings ist die Entwicklung guter Empfehlungssysteme teuer, aufwendig und kompliziert. Deshalb wir heute häufig auf Topic Similarity und vor allem auf Popularität gesetzt. Was bleibt auf der Strecke, wenn wir uns auf popularitätsbasierte Empfehlungssysteme konzentrieren? Welche Kategorien, z. B. Themen, Regionen, Akteure, Formate usw., sind über- oder unterrepräsentiert? Was müsste in einem diversitätsmaximierenden Recommender gepusht werden? z.B. welche Kategorien, z.B. Themen, Regionen, Akteure, Formate etc. Und kann dies auf transparente Weise geschehen, z..B. indem man aufzeigt, warum etwas empfohlen wird?

 Title

📦 File: Hackathon-Challenge-Pitch221124Slide 2.pdf


tsueri stats

Using a csv file downloaded from the tsueri.ch backend to plot some essentials about members


~ README ~

tsueri stats


Was brauchen Schweizer Lokalmedien für die digitale Wiedergeburt?

Was sind die stärksten Bedürfnisse an Infrastruktur? Was braucht es für die Arbeit auf Gemeinde-Ebene? Wo muss We.Publish ergänzt werden?


~ PITCH ~

https://youtu.be/_yrcSgAgMkI?t=3052

 Laurent on stage

Ich stehe im Zentrum. Ich gebe meine Adresse an und will Service.

Was passiert heute in meinem Umkreis. Service. Service. Service. Wetter wo ich bin wo ich hingehe auf dem Weg (ggf) Luftqualität Agenda Abfuhrtermine Baueingaben Ausserordentliche Events: Tigermückenprävention Strassensperren

Was suche ich immer in meinem Umkreis? Sammelstellen Einkaufen nächste öV-Haltestelle mit Abfahrten Carpooling (Mobility), E-Scooter (TIER) Bio-Klappen für Kompost Ladestation E-Auto Anschlagbrett “Volg”

Was suche ich an bestimmten Orten? Parkplätze

Grundsätzlicher Service: freie Wohnungen / Immobilienmarktplatz Badetemperaturen politische Vorstösse Covid Politik Abstimmungen grosser Rat Jobs Kleinanzeigen

Weil schön, lustig oder sonst was: Geburten Scheidungen Wilde Abfallsammlungen Index Konsumentenpreis: Ist Basel schon wieder teurer? steile Velostrecken Tagesmenü der Restaurants in der Nähe

Herausforderungen: Lokalisierung: PLZ, Koordinaten, Umkreis Definition “Was ist nah?” > auch eine Frage der Dichte (Stadt / Land: 1km Umkreis auf dem Land hat kaum Resultate, 1km Umkreis in der Stadt sehr viele) Lokale Erweiterungen / Erfassungstool: z.B. Bajour will Restaurantführer machen



Challenges