All our hack are belong to us.

Active projects and challenges as of 21.12.2024 12:02.

Hide full text Print Download CSV Data Package


Big Blue Button

Official conference platform of DINAcon 2020 Online


~ PITCH ~

https://twitter.com/maemst/status/1319635254483800064

Wer sich heftig mit BBB auseinandersetzten will, könnte dazu beitragen, die Software sicherer zu machen - einige Ideen hier: https://www.golem.de/print.php?a=151610 -- b76

Go Canada! https://newsroom.carleton.ca/story/pandemic-bigbluebutton-downloads/ -- Oleg

~ README ~

BigBlueButton

BigBlueButton is an open source web conferencing system.

BigBlueButton supports real-time sharing of audio, video, slides (with whiteboard controls), chat, and the screen. Instructors can engage remote students with polling, emojis, multi-user whiteboard, and breakout rooms.

Presenters can record and playback content for later sharing with others.

We designed BigBlueButton for online learning (though it can be used for many other applications). The educational use cases for BigBlueButton are

  • Online tutoring (one-to-one)
  • Flipped classrooms (recording content ahead of your session)
  • Group collaboration (many-to-many)
  • Online classes (one-to-many)

You can install on a Ubuntu 16.04 64-bit server. We provide bbb-install.sh to let you have a server up and running within 30 minutes (or your money back 😉).

For full technical documentation BigBlueButton -- including architecture, features, API, and GreenLight (the default front-end) -- see https://docs.bigbluebutton.org/.

BigBlueButton and the BigBlueButton Logo are trademarks of BigBlueButton Inc .


defikarte.ch

Shortlisted for the DINAcon 2020 Community Award


~ PITCH ~

Let's work on this idea.. https://github.com/chnuessli/defikarte.ch/issues/3

Easily and safely allowing data point contribution is something that others have been asking about too.

Join our Mattermost channel to participate in the discussion, or just add comments to the GitHub issue above.

~ README ~

Defikarte.ch - die Schweizer Defikarte

alt text

Idee und Umsetzung

Die Idee zu dieser Seite kam mir als ich im Kanton Graubünden durch ein verschlafenes Dörfchen fuhr und mir in regelmässigen Abständen, eine Tafel den nächsten Standort eines Defibrillators angezeigt hat.Mir wurde bewusst dass dies bei weitem nicht alle Kantone so handhaben und dass die Defi-Standorte meist unbekannt sind.

Danach ging ich auf die Suche der Daten bei meiner eigenen Gemeinde und bekam diese Infos. Ich habe dann die Daten in OpenStreetMap nachgetragen und in meiner Gemeinde waren nun Defibrillatoren gepflegt. Ich begann aber schnell auch über den Tellerrand zu schauen und wollte wissen wie die Datenbestände schweizweit aussehen. Bei der Datenabfrage hat mich das Ergebnis sehr überrascht und ich fand, diese Daten müsse man nützen. Ich fand zwei, drei Karten die mehr oder weniger manuell gepflegt wurden. Diese Methode fand ich zu umständlich und wollte dass meine Karte direkt von der Community-Datenpflege profitiert also habe ich die Defikarte.ch ins Leben gerufen.

Die Karte soll allen helfen, schnell und effizient einen Defibrillator zu finden in einer hektischen, nicht alltäglichen Situation.

Wichtig: Grün angezeigte Defi's sind 24h zugänglich. Orange angezeigte Defis sind mit Beschränkungen erreichbar.

Daten

Key Value Beschreibung
emergency defibrillator Benennt einen Defibrillatorstandort
defibrillator:location z.B an einer Wand neben dem Eingang usw. Ort des Defibrillators
description 24h verfügbar Beschreibung zum Defi
opening_hours 24/7, effektive Öffnungszeiten oder leer die Öffnungszeiten wann der Defi erreichbar ist
access yes/no/leer Zugang zum Defi
phone Telefonnummer Nummer der Notrufzentrale oder des Betreibers des Defi
emergency:phone 144 Schweizweite Notrufnummer

OpenStreetMap

OpenStreetMap® sind „Open Data“, die gemäß der Open Data Commons Open Database Lizenz (ODbL) durch die OpenStreetMap Foundation (OSMF) verfügbar sind.

Es steht dir frei unsere Daten zu kopieren, weiterzugeben, zu übermitteln sowie anzupassen, sofern du OpenStreetMap und die Mitwirkenden als Quelle angibst. Für den Fall, dass du auf Basis unserer Daten Anpassungen vornimmst, oder sie als Grundlage für weitere Bearbeitungen verwendest, kannst du das Ergebnis auch nur gemäß der selben Lizenz weitergeben. Der vollständige Lizenztext ist unter Lizenz einsehbar und erläutert deine Rechte und Pflichten.

Unsere Dokumentation ist unter der ''Creative-Commons''-Lizenz „Namensnennung – Weitergabe unter gleichen Bedingungen“ 2.0 (CC BY-SA 2.0) verfügbar.

Volständiger Artikel: https://www.openstreetmap.org/copyright

Tools

Um die Daten aus Openstreetmap abzuholen werden folgende Tools verwendet:

Overpass

Overpass API und dessen GUI OVerpass Turbo ermöglicht es auf einfache Weise, Daten aus OpenStreetMap direkt abzurufen. Dazu ist kein Layer oder eine Zwischenspeicherung nötig.

Bekannte Endpoints für die API sind:

Abfragen

zeige alle Defis in der Schweiz

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“emergency=defibrillator in CH”
*/
[out:json][timeout:25];
nwr["emergency"="defibrillator"]["opening_hours"!="24/7"]; out center;

zeige alle Defis in der Schweiz die 24h erreichbar sind

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“emergency=defibrillator and opening_hours="24/7" in CH”
*/
[out:json][timeout:25];
// fetch area “CH” to search in
{{geocodeArea:CH}}->.searchArea;
// gather results
(
  // query part for: “emergency=defibrillator and opening_hours="24/7"”
  node["emergency"="defibrillator"]["opening_hours"="24/7"](area.searchArea);
  way["emergency"="defibrillator"]["opening_hours"="24/7"](area.searchArea);
  relation["emergency"="defibrillator"]["opening_hours"="24/7"](area.searchArea);
);
// print results
out body;
>;
out skel qt;

Umap

Die Karte selber ist per iframe eingebettet und ist eigentlich eine Umap Karte. Der Schweizer Ableger wird durch die SOSM verwaltet.

Umap findet man hier in Github

Presse

Diverse Presseberichte wurden über die Defikarte.ch erstellt. Die Nennungen waren durchwegs positiv, was mich sehr freut.

Awards

Nominierungen

Lizenz

Contributors

Made with contributors-img.

Open Source

Open Source und Open Data ist einer der Grund-Manifeste der Defikarte.

Wir untersützen folgende Open Source Initiativen:

Code ondrawing


Mozilla Hubs & Spoke

Create a 3D world of your imagination and share it!


~ PITCH ~

https://youtu.be/xDKVweM_Alo?t=20033

Here you can find the open sources to the DINAcon 2020 Awards ceremony: https://github.com/DINAcon/awards/tree/master/2020/hubs

You can create a scene and remix at this link: https://hubs.mozilla.com/scenes/2zhNrQa

Additional background on our project is in https://github.com/DINAcon/awards/issues/42

See also a bug report we raised on the Hubs tracker https://github.com/mozilla/Spoke/issues/1046

~ README ~

Spoke

Spoke

CircleCI

Easily create custom 3D environments for Mozilla Hubs.

https://hubs.mozilla.com/spoke

Features

:telescope: Discover: Explore images, videos, and 3D models from around the web, all without opening up a new tab. With media integrations from Sketchfab and Google Poly, you'll be on your way to creating a scene in no time.

:pencil2: Create: No external software or 3D modeling experience required - build 3D scenes using the Spoke web editor so you can have a space that's entirely custom to your needs. From a board room to outer space and beyond, your space is in your control.

:tada: Share: Invite people to meet in your new space by publishing your content to Hubs immediately. With just a few clicks, you'll have a world of your own to experience and share - all from your browser.

Development

  • git clone https://github.com/mozilla/Spoke.git
  • cd Spoke
  • yarn install
  • yarn start

Then open https://localhost:9090 (note: HTTPS is required).

When running against a local self-signed cert reticulum server, you'll need to export NODE_TLS_REJECT_UNAUTHORIZED=0 for publishing to work.

Credits

Parts of this project are derived from the three.js editor with thanks to Mr.doob and three.js' many contributors.

Navigation mesh generation via recast.wasm, thanks to Recast and but0n's RecastCLI wrapper.

See the LICENSE for details.


visualization-tool

The tool for visualizing Swiss Open Government Data


~ PITCH ~

This app was presented and discussed during the DINAcon 2020 session on Linked Data. Find our notes here:

https://hackmd.io/@oleg/HkFAp5JBw

~ README ~

Visualization Tool

Development Environment

To start the development environment, you need a Docker runtime, e.g. Docker Desktop and Nix.

Setting up the dev environment

  1. Make sure that Docker is running
  2. Start the Postgres database with docker-compose up
  3. Run the setup script:
yarn setup:dev

Dev server

Once the application's set up, you can start the development server with

yarn dev

👉 In Visual Studio Code, you also can run the default build task (CMD-SHIFT-B) to start the dev server, database server, and TypeScript checker (you'll need Nix for that to work).

Postgres database

If the database server is not running, run:

docker-compose up

Building the Embed script /dist/embed.js

Currently, the embed script is not automatically built when the dev server starts.

Run the following command when you're changing the source file in embed/index.ts.

yarn dev:rollup

Currently, this only bundles and initializes iframe-resizer but could be used to render charts without iframes (using custom elements or render to a generic DOM element) in the future.

Database migrations

Database migrations are run automatically when the production app starts. In development, you'll have to run them manually:

yarn db:migrate:dev

Migrations are located in db-migrations/. Write SQL or JS migrations and follow the naming convention of the existing files XXXXX-name-of-migration.{sql|js}. Migrations are immutable, you will get an error if you change an already-run migration.

For detailed instructions, please refer to the postgres-migrations documentation.

Versioning

New versions of package.json are built on GitLab CI into a separate image that will be deployed to the integration env.

yarn version

This will prompt for a new version. The postversion script will automatically try to push the created version tag to the origin repo.

Deployment

Heroku

If a Heroku app is set up (as Git remote heroku), deploy with

git push heroku master -f

Build instructions are defined in heroku.yml.

For details, see https://devcenter.heroku.com/articles/build-docker-images-heroku-yml

Abraxas

With your Abraxas credentials ...

  1. Log in to https://uvek.abx-ras.ch/
  2. This will prompt to open the F5 VPN client (you can download the client software once logged in). The VPN connection will be opened automatically.
  3. Use Microsoft Remote Desktop to log in to the Abraxas Jump Server:
    • Remote address: 192.168.99.9
    • User: cmb\<YOUR_USER_NAME>
  4. Once logged in, you should find yourself on a Windows desktop.
  5. Using PuTTY (a terminal app on the desktop), connect to cmbs0404.cmb.lan via SSH. Again, use the same credentials.
  6. Congrats, you are on the Abraxas dev server!

Useful commands to use:

  • cd /appl/run -> go to the directory containing the docker-compose.yml
  • sudo /usr/local/bin/docker-compose logs web -> display logs of the web service
  • sudo /usr/local/bin/docker-compose up -d -> Rebuild services and restart after a configuration change
  • sudo /usr/local/bin/docker-compose pull web -> Pull latest web image manually (should not be needed much)
  • etc. (remember to use sudo for all Docker commands)

Docker (anywhere)

To pull the latest image from the GitLab registry, run:

docker login registry.ldbar.ch -u <username> -p <deploy_token>

# Pull/Run manually
docker pull registry.ldbar.ch/interactivethings/visualization-tool:master
docker run -it registry.ldbar.ch/interactivethings/visualization-tool:master

Or use docker-compose. Simplified example docker-compose.yml:

version: "3"
services:
  web:
    image: "registry.ldbar.ch/interactivethings/visualization-tool:master"
    ports:
      - "80:3000"
    restart: always
    env: DATABASE_URL=postgres://postgres@db:5432/visualization_tool
  db:
    image: "postgres:11"
    ports:
      - "5432:5432"


Challenges