All our hack are belong to us.

Active projects and challenges as of 24.11.2024 01:13.

Hide full text Print Download CSV Data Package


Basel on Wikidata

Update Wikidata (and with that also Wikipedia!) with current official data


~ PITCH ~

WIkidata is an open database of facts describing the world. These facts are easily reused in Wikipedia articles. The challenge is to add official open data that is available as CSV on the web to Wikidata. We have a working setup for population data of neighbourhoods in Basel-Stadt, see the Github repo below and StataBS/quartierindex for an example app. There are many other open datasets that could and should be reshaped and uploaded to Wikidata.


{ hacknight challenges }

Get introduced to Wikidata if you're not aware of it already. Try the Query service, for instance with some of the Cities examples.

Visit https://www.opendata.bs.ch/ to dig into the Open Data portal of Basel and extract some details on neighbourhoods and the population. Take a look at some of their example apps.

Once you have chosen the data to import, work on defining the structure of the data in such a way that a Data import process could happen. Do a test run using csvtowikidata.

~ README ~

CSV-to-WikiData

Installation and usage

Install all needed dependencies using pip:

pip install -r requirements.txt

After the installation you can run the script:

python csvtowikidata.py

Development

It is recommended to install the flake8 pre-commit-hook:

flake8 --install-hook

Affected items on WikiData

* [Altstadt Grossbasel](http://www.wikidata.org/wiki/Q445565)
* [Vorstädte](http://www.wikidata.org/wiki/Q809915) 
* [Am Ring](http://www.wikidata.org/wiki/Q809899)
* [Breite](http://www.wikidata.org/wiki/Q809901)
* [St. Alban](http://www.wikidata.org/wiki/Q809913)
* [Gundeldingen](http://www.wikidata.org/wiki/Q809905) 
* [Bruderholz](http://www.wikidata.org/wiki/Q809902)
* [Bachletten](http://www.wikidata.org/wiki/Q809900) 
* [Gotthelf](http://www.wikidata.org/wiki/Q809903)
* [Iselin](http://www.wikidata.org/wiki/Q809907) 
* [St. Johann](http://www.wikidata.org/wiki/Q809912)
* [Altstadt Kleinbasel](http://www.wikidata.org/wiki/Q445588)
* [Clara](http://www.wikidata.org/wiki/Q809904)
* [Wettstein](http://www.wikidata.org/wiki/Q809916)
* [Hirzbrunnen](http://www.wikidata.org/wiki/Q664993)
* [Rosental](http://www.wikidata.org/wiki/Q809914)
* [Matthäus](http://www.wikidata.org/wiki/Q809911)
* [Klybeck](http://www.wikidata.org/wiki/Q809909)
* [Kleinhüningen](http://www.wikidata.org/wiki/Q809908)
* [Riehen](http://www.wikidata.org/wiki/Q5262)
* [Bettingen](http://www.wikidata.org/wiki/Q67530)
* [Basel](http://www.wikidata.org/wiki/Q78)
* [Basel-Stadt](http://www.wikidata.org/wiki/Q12172)

fairelection 🏆

Tools for political simulation and stimulation


~ PITCH ~

Winner of the DINAcon 2021 Open Community award. Member of the Prototype Fund.


{ hacknight challenges }

Try the online tool for political simulation, which uses existing data from past federal elections and get a feel for the platform. Create a user account and go through the process to define your first vote monitoring.

Try uploading candidates with the spreadsheet template. File any bugs or improvement ideas you find in the issue tracker (Contact button below).

Deploy the code locally. Do some security profiling or pentesting. Report the results to the team.

~ README ~

FairElection

FairElection creates a tool for political organisations, civil society organisations and companies to select candidates according to their self-chosen criteria of diversity/representation. In addition, everyone can use the tool to simulate the results of the latest National Council elections (2019) by modifying these same diversity criteria.

The FairElection tool supports political parties, civil society organisations and companies by monitoring internal selection processes and drawing up lists of candidates. The method works in two steps. First, members, supporters and/or the general public can choose their criteria for representation. What criteria will such a list have to meet? Gender parity, representation of the generations, place of residence, level of education? A first vote is organised to choose these representation criteria.

Secondly, these chosen criteria are applied during an internal selection process. In a second vote, voters choose their favourite candidates. The freedom of choice of voters is not limited. They themselves do not have to create the perfect list that meets the criteria. It is the FairElection algorithm that ensures that the criteria chosen in the first vote are applied to the election result. The group of winning candidates will therefore be the one that satisfies the chosen criteria while respecting the democratic choice of the members.

This way, the winning group of candidates will be satisfying the criteria chosen by the user, while respecting the democratic choice of members. The algorithm provides a mathematical guarantee that the winning group is the one that obtains the most votes while respecting the criteria.

The platform FairElection is available here : https://fairelection.ch

Solver

This part of FairElection is responsible to solve "mathematically" the linear equation. It takes as input the different criteria set by the user and gives the best solution.

Backend

This part of FairElection is responsible for business logic. It manages the user profiles, the election instances, the citeria and the business flow.

Client

This part of FairElection is responsible to display the user interface.

Setup

To get it working, follow these steps:

Backend setup

Client setup

Open Source

FairElection is open source!


openvscode-server

Run upstream VS Code on a remote machine from any device, anywhere.


~ PITCH ~

The DINAcon Awards presentation was developed entirely using Gitpod, which enables developers (or any users) to spin up fresh, automated dev environments quickly. At the HACKnight, we dig into a range of related questions, from the Kanban project boards used by agile open source teams (see "The Toyota Way"), to estimating project costs using forecasting models (see Open Hub).


{ hacknight challenges }

Create an account and fire up a Gitpod by clicking on a sample project, like the one we used for the DINAcon Awards. Try a more sophisticated set up, with a build process like the one around docToolchain.

Define a gitpod.yml file for one of your own projects, or an open source project you would like to use with Gitpod.

Read the OpenVSCode announcement and deploy a local or self-hosted instance. Learn about the contribution process of the Gitpod project.

~ README ~

OpenVSCode Server

Gitpod ready-to-code GitHub Discord

What is this?

This project provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

Screenshot 2021-09-02 at 08 39 26

Why?

VS Code has traditionally been a desktop IDE built with web technologies. A few years back, people started patching it in order to run it in a remote context and to make it accessible through web browsers. These efforts have been complex and error prone, because many changes had to be made across the large code base of VS Code.

Luckily, in 2019 the VS Code team started to refactor its architecture to support a browser-based working mode. While this architecture has been adopted by Gitpod and GitHub, the important bits have not been open-sourced, until now. As a result, many people in the community still use the old, hard to maintain and error-prone approach.

At Gitpod, we've been asked a lot about how we do it. So we thought we might as well share the minimal set of changes needed so people can rely on the latest version of VS Code, have a straightforward upgrade path and low maintenance effort.

Getting started

Docker

  • Start the server: bash docker run -it --init -p 3000:3000 -v "$(pwd):/home/workspace:cached" gitpod/openvscode-server
  • Visit localhost:3000.

Note: Feel free to use the nightly tag to test the latest version, i.e. gitpod/openvscode-server:nightly.

Custom Environment

  • If you want to add dependencies to this Docker image, here is a template to help: ```Dockerfile

    FROM gitpod/openvscode-server:latest

    USER root # to get permissions to install packages and such RUN # the installation process for software needed USER openvscode-server # to restore permissions for the web interface

  • For additional possibilities, please consult the Dockerfile for OpenVSCode Server at https://github.com/gitpod-io/openvscode-releases/

Linux

  • Download the latest release
  • Untar and run the server: bash tar -xzf openvscode-server-v${OPENVSCODE_SERVER_VERSION}.tar.gz cd openvscode-server-v${OPENVSCODE_SERVER_VERSION} ./server.sh
  • Visit localhost:3000.

Note: You can use pre-releases to test nightly changes.

Deployment guides

Please refer to Guides to learn how to deploy OpenVSCode Server to your cloud provider of choice.

The scope of this project

This project only adds minimal bits required to run VS Code in a server scenario. We have no intention of changing VS Code in any way or to add additional features to VS Code itself. Please report feature requests, bug fixes, etc. in the upstream repository.

For any feature requests, bug reports, or contributions that are not specific to running VS Code in a server context, please go to Visual Studio Code - Open Source "OSS"

Documentation

All documentation is available in the docs branch of this project.

Supporters

The project is supported by companies such as GitLab, VMware, Uber, SAP, Sourcegraph, RStudio, SUSE, Tabnine, Render and TypeFox.

Contributing

Thanks for your interest in contributing to the project 🙏. You can start a development environment with the following button:

Open in Gitpod

To learn about the code structure and other topics related to contributing, please refer to the development docs.

Community & Feedback

To learn what others are up to and to provide feedback, please head over to the Discussions.

You can also follow us on Twitter @gitpod or come chat with us.

Legal

This project is not affiliated with Microsoft Corporation.


p5.js

Empowers artists, designers, students, and anyone to learn to code and express themselves creatively


~ PITCH ~

We are much impressed by the visuals of onebus at the DINAcon stage, which are partly (and very literally, with a LEAP motion controller) hand-made using Processing. With P5.js it is easy to pick up some basic code-art techniques. Commit to a regular practice, and pretty soon you'll be impressing your friends with your code-VJ skilz. Check out our Open Edu Days workshop, join us for MountainBytes, and look forward to a Graffathon in Bern next year!

See also:

https://hacknight.dinacon.ch/project/28


{ hacknight challenges }

Sketch a few shapes, make a basic animation following a Processing tutorial. Just google it!

Load some data, add some interaction or even a game mechanic or two.

Learn what it takes to maintain, and contribute to the p5.js project itself.

~ README ~

LeepMotionProcessing

dependency -> leepmotion sdk 2.3.1

simple inmplementation of the LM Library by nok https://github.com/nok/leap-motion-processing

grab and move around a textured sphere swipe to spin

press 'r' to reset spinning press 'b' to toggle background



Challenges