2020pb / police-brutality Goto Github PK
View Code? Open in Web Editor NEWRepository containing evidence of police brutality during the 2020 George Floyd protests
License: MIT License
Repository containing evidence of police brutality during the 2020 George Floyd protests
License: MIT License
It would be helpful if, as a part of the automated reporting system, unique IDs could be provided to each report so that the corresponding media could be found easily.
If this goes on much longer, there will be too many reports to sort through manually.
After following the 'Submission Guide' I am shown a 'Comparing changes' page showing my additions. However, my additions are not reflected on the repo. Not even on my fork of the repo that it creates. Can I get some clarification on what needs to be done after clicking 'Propose file change' in order to add incidents to the repo?
I was able to get the raw videos hosted and linked to instances in my api on this repo (sourced from all-locations.json and stored in mongodb):
https://github.com/nickatnight/policebrutality.io
eg: https://prod-uploads-policebrutality.sfo2.digitaloceanspaces.com/1267647898365427714.mp4
Is there a plan to add this in your pipeline? You guys would probably need to manage a DO or AWS account. I could write an action to convert/download videos into some bucket, just need to know where. @pb-files @ubershmekel eh? You wouldn't even need to host any video files in the repo.
I laud the effort here to document the police brutality. I feel we should also create an identical repo to document the people who are involved in looting and arson in the guise of George Floyd protests. These people are despicable for doing this during such times and giving opportunity to the other side to generalize mostly peaceful protestors as violent!
It would be terrific if the main data feed had video attached to each incident. Is this possible?
In the meantime, I do have video supported independently here:
https://api.846policebrutality.com/api/incidents?include=evidence
Here's an example of the video information:
{
"video": [
{
"id": "07c275c0-a691-11ea-a4a9-adc292a917c1",
"evidence_id": "1f7d0c60-a68b-11ea-84e0-17c87c5f9cf2",
"title": "Neon - I was lucky enough to catch this on camera earlier. Police spray what appears to be an unarmed protestor in #Madison. #icantbreathe #BlackLivesMatter #madisonprotest",
"description": "I was lucky enough to catch this on camera earlier. Police spray what appears to be an unarmed protestor in #Madison. #icantbreathe #BlackLivesMatter #madisonprotest https://t.co/Qkd2RzVibT",
"site": "Twitter",
"url": "https://twitter.com/NeonMarionette/status/1266962885957292032?s=20",
"duration": "17.07",
"tags": [
"Madison",
"icantbreathe",
"BlackLivesMatter",
"madisonprotest"
],
"thumbnail": "https://pbs.twimg.com/ext_tw_video_thumb/1266961247259557888/pu/img/tUPJKWDXkn1z4YsN.jpg?name=orig",
"streams": [
{
"url": "https://video.twimg.com/ext_tw_video/1266961247259557888/pu/vid/1280x720/tyiF2rkI6KsiJyyL.mp4?tag=10",
"format": "http-2176 - 1280x720",
"format_note": "",
"extension": "mp4",
"height": 720,
"width": 1280,
"fmt_id": "http-2176",
"filesize": null,
"filesize_pretty": "-",
"has_audio": true,
"has_video": true,
"is_hd": false
},
{
"url": "https://video.twimg.com/ext_tw_video/1266961247259557888/pu/vid/640x360/D38WYtbsQPYCognl.mp4?tag=10",
"format": "http-832 - 640x360",
"format_note": "",
"extension": "mp4",
"height": 360,
"width": 640,
"fmt_id": "http-832",
"filesize": null,
"filesize_pretty": "-",
"has_audio": true,
"has_video": true,
"is_hd": false
},
{
"url": "https://video.twimg.com/ext_tw_video/1266961247259557888/pu/vid/480x270/aYW_j52_x88eKZ9F.mp4?tag=10",
"format": "http-256 - 480x270",
"format_note": "",
"extension": "mp4",
"height": 270,
"width": 480,
"fmt_id": "http-256",
"filesize": null,
"filesize_pretty": "-",
"has_audio": true,
"has_video": true,
"is_hd": false
}
]
}
]
}
My API lags a bit when pulling the latest data from your feed, but it's mostly all there. I'm also working a little more to clean up the video. Additionally, my API doesn't pull from YouTube.
I'm just throwing this out there. The community as a whole would definitely appreciate ease-of-access to video details for front-end development and analysis.
I also have a few other pieces of video detail, such as the uploader, duration, etc. that can be provided if requested.
If you have any ideas to get this wrapped back into your repo, let me know. If you are going to stick with .md, maybe you can determine a structure to incorporate some of this?
It would also be terrific to get the videos mirrored somehow. I know there's a lot of IPSF talk involved -- but the key is getting all of the information associated to parent objects.
Any thoughts on how video can be further streamlined and included in the main repo feed?
Backup the video at: https://twitter.com/weslyinfinity/status/1267321172309544960
If it goes down first, alternate link: https://www.reddit.com/r/PublicFreakout/comments/guom2g/im_sure_theyll_say_he_was_inviting_violence/?utm_source=share&utm_medium=ios_app&utm_name=iossmf
I think the user experience of submitting a new issue is likely better for people with no prior Git/VC knowledge. The link https://github.com/2020PB/police-brutality/issues/new
can be used to direct users right to the new issue form. There's very little Git lingo ("fork", "commit", "branch", "pull request", etc) involved in opening an issue.
GitHub provides a way to specify "issue templates" (docs here) which would help to ensure issues contain as much of the right information as possible. Hopefully many issues could be transferred into the actual incident report files very quickly by other users who are handy with GitHub.
I'll be happy to add an issue template and update the README if others like this idea ๐ / ๐ ?
All the repo hosting services, as soon as possible, should each have a mirror.
The video in Kansas is actually from Kansas City, MO, and the link has already been posted in that folder.
Hi guys,
I think it would be great to have an interactive map with all hotspots of police brutality. I am an experienced Fullstack Dev and Digital Designer, but my time in between work is pretty limited. Maybe we can gather a small team to work on an interactive map which clearly shows how widespread Police Brutality actually is.
Map could show the US as a whole and mark cities with police brutality with a dot which gets larger the more cases there are. Next step could be to make the map zoomable down to the street corners where the footage was taken.
Anybody willing to help? We could have something pretty impactful up and running by the end of the week. I would love to make some noise!
All the best from Germany, stay safe!
The longer PRs remain open the greater the chance of there being duplicates and merge conflicts. Some users may feel reluctant to open many PRs at once when they can see there's a backlog. Minor updates/edits may be discouraged as well.
I'm not advocating complete open-season, but a process for steadily adding more users with write access seems necessary for the health of the repo.
There would be benefits from having people in different time zones too. They'd be able to merge PRs too to prevent a build-up while you folks in the US are working/sleeping!
๐โโ๏ธ I'm in the UK and am happy to help ๐ฌ๐ง I use Git/GitHub professionally every day - that's no guarantee I won't make mistakes, but I will take care to ensure that contributions adhere to the guidelines.
I think there's a lot of friction in people using github itself for data entry.
@2020PB would you be interested in a web app that streamlines the process?
I'm thinking (2 day build):
Lmk what you think. Happy to help as a full-stack dev.
Edit:
Something I notice is that we are not doing a good job of separating the evidence of the incident with the evidence of the accountability.
I recommend creating a specific subhead. Something like this:
Title: Police shove elderly man, causing him to fall on the back of his head | June 4th
Incident: Two police officers shove an unarmed, elderly man, who falls backwards and strikes his head on the concrete sidewalk. He appears to be bleeding. Location: Niagara Square
Incident Links:
A, B, C
Accountability: Buffalo P.D. released an official statement saying that he "tripped and fell." They have now opened an investigation into the incident.
Accountability Links:
D, E, F
In the long term as we move towards resolution, being able to track accountability evidence as distinct from incident evidence will be useful.
In order to have the most complete picture, brutality of protesters against protesters, protesters against passersby, and protesters against police must also be captured. Add logging for this information too. Here, for instance, a black woman was shot and killed by violent protesters while she was peacefully protesting and then getting into her car to head home. I watched the personal cell footage of the victim's sister, and it appears to maybe be a stray bullet the violent protesters fired randomly into the crowd. The frantic woman says again and again and again, "it was not the police! It was ya'all!" All violence on all sides must be logged.
Random news article on it:
Wondering if we should back up videos on IPFS for redundant storage and a little safer peace of mind, given where things are at.
Let me know, and maybe we can work on a CI system that uses youtube-dl
to auto-push to IPFS and generate a PR with the updated links.
We already have some entries of things such as reporters being arrested. I'm just starting the conversation of how we could categorize these entries so we could easily create sub-lists. Current ideas for categories would be: physical violence, freedom of speech violation, freedom of the press violation, possibly others. There is bound to be some overlap between these categories so maybe a tagging system would be best.
Hey! I'd like to offer to make a website for easier access and potential mirror of the original videos within that website.
All of the data is consistent and nicely formatted so the markdown files should be able to be parsed simply.
It looks like the video from here is gone
INSTRUCTIONS: Add the key information about the incident under the headings Location, Date, Description and Links below and then click the green "Submit new issue" button.
If you are unsure about any details then please write "Unknown" under that heading.
NYC,NY
June 3rd
Police randomly beating pedestrian
https://twitter.com/youranoncentral/status/1268377775649374210?s=21
Linking to the evidence is unreliable, as these resources are uniquely vulnerable to censorship by the platforms or state.
Commit the video files to the repository.
for Los Angeles:
https://v.redd.it/9aiytt50g6251/DASH_1080#mp4
police SUV deliberately attempts to run over a protestor who has fallen on the ground, and hits a second protestor while attempting to run over first protestor. SUV quickly reverses and flees the scene.
Hi, I was curious to see if anyone was already looking to add lat/lng to the all-locations.*
files in the data_build
branch. I was starting to do some initial work on a map, though I see that there is also an existing map in development (maybe by this group?), and they seem to have lat/lng in some sort of response. Perhaps I am missing something philosophically re: those generated datasets, but it would be helpful to have those rather than do the geocoding in the client.
Happy to make a PR if no one else is doing it and it makes sense, but happy to handle somewhere else if that's not a concern of the dataset. Thanks!
I've been thinking of adding a new script & action that would validate new entries and block merging if they don't fit a defined structure. I'd work off of the existing script for parsing. Any thoughts?
Task: Aggregate 2020PB items into a single CSV or Excel Spreadsheet
https://docs.google.com/spreadsheets/d/1zEChPuDj0eTeB9cOXrJNHK3rW-aW1zohUVMm6LrN1IU/edit?usp=sharing
Perhaps multiple contributors can divide the work easily.
Assigned to: ???
If you can help, let one of the contributors know and we'll get you access to the Google Sheet.
Ref Project Board:
https://github.com/949mac/police-brutality/projects/1
We're petitioning this effort to be part of this repo, although we have not received a response from the original repo owner yet!
I was talking with some friends yesterday saying that police brutality needs to be well documented and made public. I woke up this morning to find this.
I have a vision for a platform with the following features:
I can give my time to create a backend platform to manage the submissions, approvals, etc.
I can create a REST API
I can architect the front-end to scale
I can provide PM skills to organize multiple contributors
What I am not:
I'm not a designer -- (call to action!)
I prefer not to do front-end development (call to action!)
Are we a good fit for each other and a community?
My goal for the platform is to call for the full demilitarization of the police. I would like it to be done without highlighting acts of aggression by individuals. I believe showcasing actions of peaceful protestors does this in the most non-political and humancentric way possible.
Let's organize and find tech-savvy contributors if our visions and goals align.
I am going to start working on a way to extract videos from twitter links so they may be rehosted easily. I will be using python and Twitter's API.
Let me know if this is helpful or my skills can be redirected to something better.
INSTRUCTIONS: Add the key information about the incident under the headings Location, Date, Description and Links below and then click the green "Submit new issue" button.
If you are unsure about any details then please write "Unknown" under that heading.
Grand Rapids, MI
June 1st
May yells at police and they pepper spray him. Then they shoot him in the face with a tear gas canister.
https://twitter.com/greg_doucette/status/1267281344649932806?s=21
Given how statistically unlikely first-hand documenters are to be comfortable with Github, similar to reasons mentioned in #35, I think a simple anonymous submission form that could be combed through manually (eventually made into an automated system) would be super helpful!
I would lean towards Google Forms as that will spit out an excel sheet of results constantly which could then be easily processed in CSV format or the like, but there are many solutions available for this type of stuff like Jotform and Surveymonkey among others!
INSTRUCTIONS: Add the key information about the incident under the headings Location, Date, Description and Links below and then click the green "Submit new issue" button.
If you are unsure about any details then please write "Unknown" under that heading.
NYC, NY
May 31st
Police pulls down black man's face mask and pepper sprays him
https://twitter.com/ajrupchandani/status/1266889115288711168?s=21
Youtube-dl sometimes doesn't recognize a URL as one that it is unable to parse, but will try to download it anyway, which creates a .part
file on disk. These downloads stall, and the downloader tool will abort the download and continue to the next one, however it leaves the .part
file on disk.
After the download run has finished, the tool should search for any remaining .part
files on disk and remove them
It would be great to have some unit tests for the methods in data_builder
to help find edge cases in data formatting. I'm happy to start up a suite using pytest - please let me know if I should proceed and I'll start a PR.
I think it may be helpful to add an all category so that people can view everything without having to click on individual markdown files. I'd be happy to make a PR for it. I do realize this would require editing two markdown files per commit but it seems worth it.
For frontend consumption maybe? Add various filter and such.
I just want to confirm that the language is correct here:
Despite the woman showing resistance, the policeman grabs her and pulls her out of the car, and proceeds to taze her.
I would guess this is supposed to say "not showing resistance".
@2020PB I see that you submitted this one, can you confirm?
Hi there. This is a good initiative :)
I am a software developer. So would like to offer/volunteer to help, if that is needed.
We can make a static web site using JAMStack like Gatsby/Hugo or others and host it on Github.io or Netlify or other.
And later, also for easier content creation some sort of frameworks could be used.
Let me know. Thanks.
Could have files for each state or a global "master" file collecting all of the links in a machine readable format. If you like the idea, I'll collect it myself and PR it but I'd like to hear opinions. โ๏ธ
Edit: I understand the Python tools build JSON and CSV from the Markdown files but that feels backwards and requires users to install Python and run the builder to generate these files. Maybe run the builder with build automation and add those generated files to the repo to be more easily accessible?
The reality is that any centralized cataloging of videos and pictures could also be a tool for law enforcement. Does anyone know of tools that could be used to anonymize video?
Otherwise, any faces in a video could be looked up in a tool like Clearview AI.
These videos, images, and other information should be downloaded and rehosted elsewhere in addition to posting the original source. Otherwise the content is at stake of removed.
The content should also be easily available for mass download. This will prevent the loss of the content in the event that this repository is removed. Perhaps using something like bittorent or a self hosted peer-to-peer synchronization program akin to Google Drive/Dropbox.
I'm happy to donate towards hosting fees if necessary.
INSTRUCTIONS: Add the key information about the incident under the headings Location, Date, Description and Links below and then click the green "Submit new issue" button.
If you are unsure about any details then please write "Unknown" under that heading.
Indianapolis
Was also reported in the Washington Post.
Might be useful to distinguish those PRs from PRs which are editting/fixing existing records?
Instead of (or, for the moment, perhaps in addition to) markdown files, I think that we need CSVs or other structured data, with (inter alia) the following information:
The reason I think that this is important is that I want to see us rapidly move our goal toward exerting pressure unto criminal charges for each and every documented incident.
Is it time for this? Or is it premature? I don't want to start opening pull requests with this sort of format unless there's consensus that it's timely.
Hello - For the Data API, can you add a non-changing ID to each record? Such as the PR# or any other unique id?
I'm writing a script that is analyzing the links, which comes at an expensive cost. I would like the links to only be analyzed once. It would be helpful if each record had some internal ID we could reference when updating or aggregating additional data.
For example:
data: [
{
id: 1, // <-- Add this, keep it consistent across all data api updates โ
links: [
"https://twitter.com/courtenay_roche/status/1267653137969623040",
"https://twitter.com/yagirlbrookie09/status/1267647898365427714",
"https://www.4029tv.com/article/bentonville-police-deploy-tear-gas-on-protesters/32736629#"
],
state: "Arkansas",
edit_at: "https://github.com/2020PB/police-brutality/blob/master/reports/Arkansas.md",
city: "Bentonville",
name: "Law enforcement gas a crowd chanting โwe want peaceโ right after exiting the building.",
date: "2020-06-01",
date_text: "June 1st"
},
Much appreciated. Thanks for the wonderful contribution.
I have been uploading videos to the raw videos repo as people message me them on Reddit. I haven't had time to go through and update the reports in this repo.
If anyone has time to update them it would be awesome or if you have a better solution, lets hear it.
The last link in New York is from Minneapolis, which already has the link.
Events like this are occurring in response to the protests in the US and excessive force by police are being used - https://twitter.com/lovettejallow/status/1268233200473604096
Will this structure change at all? Can we have it defined some where? (all-locations.json/etc)
INSTRUCTIONS: Add the key information about the incident under the headings Location, Date, Description and Links below and then click the green "Submit new issue" button.
If you are unsure about any details then please write "Unknown" under that heading.
New York City
May 31
"Videos showed police in New York hitting demonstrators with batons in several locations over the past few days. One of those struck was Huascar Benoit, 21, who said he was peacefully protesting in Brooklyn when a police officer hit him with a baton, fracturing bones in his face, injuries that might require surgery.e.g. Police pepper spray kneeling protestors"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.