Show your support for community science. Donate to Public Lab »


The Public Lab Blog


stories from the Public Lab community

About the blog | Research | Methods



Texas Barnraising: Brainstorming the Emergency Response Toolkit

by Bronwen | 10 months ago | 0 | 2

This past February at the Barnraising in Galveson Texas, we began the process of brainstorming about ways that we could equip ourselves better to respond to environmental disasters. We arranged our tools, methods and needs on a poster: a summary of which is below. Because many of the suggestions overlapped or fit into multiple categories, I've If you suggested something and don't see it, or would like to offer your own suggestions, please add your thoughts to the comments below. We'll be expanding this into a wiki page as well, and hope that folks will keep this conversation moving forward!

We'll also be looking to this list to see what kinds of environmental monitoring tools we can assemble so that inexpensive/DIY options exist. Please let us know what's missing!

Emergency Response Needs (Methods, Tools, Resources)

**
**

  • Advance Planning for transportation needs
  • Know how to MacGyver with duct tape
  • Know how to use and repair durable medical equipment
  • Create paper backups of phone trees and ways to contact people
  • Mutual Aid: know what skills and resources exist in your neighborhood.
  • Resource Mapping (in general)
  • Community Tool Sharing
  • How to use plants: medicinal uses, food, natural mosquito repellent.
  • Have methods for community organizing / conducting meetings
  • Setting up communications plans and resources (mesh networks, satellite phones, other)
  • Bio Remediation Tools
  • Evacuation plans: pets, children, elderly, mobility impaired, etc.
  • Soylent (or efficient and lasting emergency food supplies in general)
  • Super Glue, duct tape, wire cutters, batteries, head lamps, etc.
  • Creation of rescue teams, with knowledge and skill to intervene without endangering self/others.
  • How to asses building safety/integrity/water damage (mold)
  • How to start a fire
  • Conflict de-escalation skills
  • How to perform mental measurements
  • Disaster reporting: financial, environmental concerns, baseline reports
  • Self Help/resource guides. things you might have in your home that serve dual purposes.
  • Microbial tests for water (for drinking/bathing/etc)
  • DIY water filtration kits
  • DIY water remediation kits
  • Solar power generators for communications, chargers, cooking, heating water, etc
  • Having access to medications (including morning after pills)
  • Waterproof containers of various sorts
  • Bleach for sterilizing
  • General sanitation tools
  • Oil detection (soil and water).
  • Disposable cameras (in case phones/electricity are unavailable)
  • N95 maks
  • Ham radio networks
  • How to skills, especially for electronics (assembly, programming)
  • DIY refrigeration
  • Construction skills
  • Hotwiring vehicles
  • Safe removal/disposal of hazardous materials.

**
**

This project is sponsored by the National Geographic Society.

Read more Follow

barnraising blog texas emergency


Introducing Leaflet Blurred Location Display Library .

by sagarpreet | 10 months ago | 5 | 5

Hello everyone ,

Public Lab takes utmost care in making sure that the location of a person is exposed to the extend he/she wants . Hence we here at Public Lab are working on giving people the power to safely share their location on the web .

I am happy to announce two new libraries that we are working for the past few weeks that helps in achieving this vision of ours .

In this post , i wish to introduce these new Public Lab open source software projects on Location Privacy .

Leaflet Blurred Location Display :

Leaflet-blurred-location-display (LBLD) is an extension of leaflet-blurred-location (LBL) and does the following:

  • Cleverly displays your location, keeping your privacy settings in mind .
  • Color code the markers on the map according to the precision .
  • Shows heat map to analyze number of people at different rectangles of the grid .
  • Fetches data from remote API or you may pass array of coordinates directly into LBLD API .

The demo is live :

1.) Shows Public Lab users location :

https://publiclab.github.io/leaflet-blurred-location-display/examples/index.html

2.) Shows how some locations (markers) are not shown at different zoom levels :

https://publiclab.github.io/leaflet-blurred-location-display/examples/example.html

So at Lower zoom levels , irrespective of the precision of coordinates you shared - your marker is visible on map . But as you zoom in to higher zoom levels , lower precision markers are removed .

To see details on how to use the LBLD library in your project , jump over to our github page : https://github.com/publiclab/leaflet-blurred-location-display

FEATURES AT GLANCE :

1.) Lower the precision , Greater the privacy :

The red markers corresponds to coordinates [23.1 , 77.1] , [20.1 , 76.1] having precision of 1 . At lower zoom level 5**** , these red markers are visible on map . image description

But as you zoom in to level 6 , these red markers are removed from the map whereas other high precision markers are still visible .
image description


2.) Color Coding of the markers :

image description

According to the precision of the coordinates , different colors are given to the markers .

Precision = 0 , Blue colored markers .

Precision = 1 , Red colored markers .

Precision = 2 , Orange colored markers .

Precision = 3 , Green colored markers .

Precision = 4 , Black colored markers .

Precision = 5 , Grey colored markers .

Precision >= 6 , Yellow colored markers .

Also clicking the markers shows a pop-up telling the precision :
image description


3.) Heat map :

Greater the markers in a region , Darker the color .

We wanted to give an easy visualization power , so we implemented this grid heat map .

image description

The default color of grid is : #F3F0C0

If number of markers are in range [1,10] , the color is : #FFA500

If number of markers are in range [11,15] , the color is : #faff05

If number of markers are in range [16,25] , the color is : #FF6347

If number of markers are in range [26,35] , the color is : #FF4500

If number of markers are in range [36,45] , the color is : #FF0000

If number of markers are greater than 45 , the color is :#8B0000

NOTE : Clicking on each rectangle shows the pop-up showing number of markers in that rectangle .


4.) Custom API and JSON parser :

You can pass your own API link to fetch data and show it on the map . Also you need to pass a JSON parser function to parse your API . See our Github page to know more details !



Blurred-Location library :

A JavaScript library to help manage variable location privacy through a "blurred location" model .

This library is an independent module which gives many mathematical functions that one can use on any map (not necessary Leaflet map!) . The library is thoroughly tested using Jasmine framework .

Jump over to the github page for more details of each mathematical function : https://github.com/publiclab/blurred-location

The npm link is : https://www.npmjs.com/package/blurred-location


If you have any suggestions or any doubts regarding the use of this library , kindly open an issue here .

I personally thanks @warren for mentoring me and giving all these awesome ideas .

Sagarpreet Chadha

Thank you :)

Read more Follow

website blog leaflet location


Software Community Growth through "first-timers-only" issues

by gauravano | 10 months ago | 15 | 7

first-timers-only issues are those which are written in a very engaging, welcoming way, far different than the usual "just report the bug" type of GitHub issue. To read more about these, check out firsttimersonly.com, which really captures how and why this works and is beginning to be a movement in open source coding outreach! Beyond the extra welcome, this also includes getting such well-formatted issues out in front of lots of people who may be contributing to open source software for the very first time.

It takes a LOT of work to make a good issue of this type, and we often walk through each step required to actually make the requested changes -- the point is to help newcomers understand that a) they're welcome, and b) what the collaboration workflow looks like. Read more at https://publiclab.org/software-outreach !

Since early 2016, we at Public Lab are working to make our open source software projects more welcoming and inclusive and to grow our software contributor community in diversity and size. Creation of First-timers-only issues was also started at Public Lab near the end of 2016 - https://publiclab.org/notes/warren/10-31-2016/create-a-welcoming-first-timers-only-issue-to-invite-new-software-contributors

Now, as GSoC, Outreachy, and other outreach programs are seeking proposals for the upcoming summer, we put a lot of extra time and work into welcoming newcomers into our community and making sure they are well-supported. We've seen a huge increase in newcomers and wanted to report in about how this process has scaled!

Till now, nearly 409 FTO issues has been created across our projects which shows how many people have been welcomed in the Open Source 🌐 and in our community by the collaborative efforts of all of us.

From March 9, 2019, we started maintaining the list of people who want to work on various projects of Public Lab - https://github.com/publiclab/plots2/issues/4963 through first-timers-only issues. And, we are proud to announce that in past 20 days, we all have created 55 FTO issues i.e., 13% of total Public Lab FTO issues(from beginning) are created in last 20 days. The growth is really tremendous and all this has been possible due to contribution of each community member.

The idea of maintaining the list of FTO issue-seekers is a big success. We have been able to assign issues to nearly 50 contributors in the past 20 days. And, each day the list is growing and we are opening more and more FTO issues for helping new contributors in taking their first-step in Open Source with Public Lab.

Those community members who have shown some tremendous support for creating FTO issues and they really ensured that there is a check mark next to the name of each newcomer: @cess @gauravano @warren @lekhidugtal @Harshithpabbati @divyabaid16 @IshaGupta18 @anan12 @sashadev-sky @madeofhuman @HarshK @Divy123 @Rishabh570 @gautami_gg

Thank you everyone for the great work and cheers to this awesome community growth 🎉 🥂 💯

(The main image is a screenshot taken from GitHub Visualizer. To see the whole visualization, visit the link

Read more Follow

web-development webworkinggroup software blog


Providence, RI software development fellowship

by warren | 11 months ago | 0 | 3

Dates: April-May 2019

Location: Providence, RI

Compensation: $2,500-$4,500, based on experience and qualifications

Terms: Contract

The Public Laboratory for Open Technology and Science (Public Lab) is a community--supported by a 501(c)(3) non-profit--which develops and applies open-source tools to environmental exploration and investigation. By democratizing inexpensive and accessible Do-It-Yourself techniques, Public Lab creates a collaborative network of practitioners who actively re-imagine the human relationship with the environment.

Position Summary

We are looking for a code fellow to work in our Providence office for a term of 6-8 weeks (depending on hours) at approximately 20 hours per week to assist in the upgrading and expansion of the MapKnitter website, which assists communities in creating maps of environmental issues using aerial photos. The fellowship position will be part of a team of 6+ developers from around the world.

MapKnitter.org is a Ruby on Rails website with:

Public Lab's open code community (https://code.publiclab.org) is a diverse, global group of contributors who are committed to respect and mutual support, and to code and community practices which support newcomers. Our goal is to develop and maintain software that supports environmental monitoring and online collaboration in the broader Public Lab community. Our Code of Conduct can be found at https://publiclab.org/conduct.

Responsibilities will include:

  • Setup of a local development copy of the MapKnitter software
  • Installing and testing gem upgrades from https://github.com/publiclab/mapknitter/labels/dependencies
  • Helping to coordinate upgrades with project team members; cooperatively reading and reviewing code
  • Identifying and listing UI issues related to MapKnitter upgrades as the project develops
  • Assisting in Rails version upgrades
  • Designing and building tests for MapKnitter's automated test suite

For context, see our overall project plan: https://github.com/publiclab/mapknitter/issues/300

Candidates should have experience with the following, although we can provide some support and training:

  • HTML/CSS and JavaScript
  • familiarity with Ruby on Rails
  • git/Github workflow

We also ask that candidates have:

  • The ability to balance multiple competing tasks and requests, and enjoyment from efficiently working toward goals and deadlines
  • A desire for and fulfillment from working on a team, but also an ability to work independently on job tasks
  • Incredible interpersonal skills, demonstrating great communication, kindness, respect, and patience within our collaborative work environment
  • An enjoyment of problem solving and the ability to put this to use in areas where project operations could be improved
  • Willingness to work remotely with some colleagues

Application process

Step 1: Please claim and complete one "first-timers-only" issue from the MapKnitter open source project: https://github.com/publiclab/mapknitter/labels/pvd. Our code welcoming program supports newcomers in making their first contribution, and you'll be compensated for your time with a $50 stipend upon completion. This compensation is only available for fellowship applicants from the Providence, RI area, and applicants will need to show that they have successfully installed the application on their computer.

Step 2: Upload your application materials to the following form by March 22. No phone calls please.

https://docs.google.com/forms/d/19co7ngHIRQzOhcmAfC-MONvozyNUg83TdHgYIpVbTvY/edit

Application materials:

  • a paragraph describing your interest in the project
  • an example of non-Public Lab Rails application work (your own project or a contribution towards a project) on GitHub or a similar site
  • a link to your GitHub profile page or equivalent (GitLab, etc)
  • a link to the completed first-timers-only issue from Step 1

Public Lab is an equal opportunity employer committed to a diverse, multicultural work environment. We encourage people with different ability sets, people of color, and people of diverse sexual orientations, gender expressions and identities to apply.

Read more Follow

providence software blog code


Call for Summer of Code 2019 proposals!

by warren | 11 months ago | 20 | 5

Outreachy and GSoC

We're part of two different summer fellowship programs this year, Outreachy and Google Summer of Code (#GSoC) -- both recruit software contributors to work on open source projects. We may also join Rails Girls Summer of Code (#RGSoC) once it opens, but would need to be accepted first.

We've done GSoC for a few years now, and are really excited to be part of RGSoC for a third year and Outreachy for a second season. Outreachy writes:

We expressly invite women (both cis and trans), trans men, and genderqueer people to apply. We also expressly invite applications from residents and nationals of the United States of any gender who are Black/African American, Hispanic/Latin@, Native American/American Indian, Alaska Native, Native Hawaiian, or Pacific Islander. Anyone who faces under-representation, systemic bias, or discrimination in the technology industry of their country is invited to apply.

So, we're asking students from both programs to start posting their proposals for comment, here. Read on!

Deadlines

Outreachy's application deadline is the March 26, 2019 at 4pm UTC. GSoC applications will be open between March 25, 2019 - April 9, 2019.

Read proposal ideas

Once you've gotten a bit familiar with our project (see our welcome page here), the first step is to look over our ideas page, which you can find here. These were collected from the brainstorm we did earlier in the year.

For Outreachy, we will be posting a project idea soon on the Outreachy website.

Please feel free to ask questions in the comments below, or to join our chat channel at https://publiclab/chat

Our welcoming page will help you understand how we collaborate, and we'll be there to help you take your first step. And try tackling a first-timers-only issue, to get an idea of how to become a contributor!

Also, read this page carefully to understand our workflow and how we structure summer of code projects: https://publiclab.org/wiki/gsoc#How+we+work

Please ask questions! We're very friendly and we love welcoming new people into our community.

New this year

Once the term starts, we'll be asking all participants to review another person's work at least once time per week, and to either post a first-timers-only issue or help someone who's working on one once weekly. This will help us continue to support our growing community!

Post a proposal for comment

Once you've read through some of these ideas and become a bit more familiar with our projects, it's time to post a proposal of your own.

You don't need to have a complete or even concrete idea -- share your thoughts early and we'll help you refine your proposal, and help you choose something that's the right difficulty level as well as being something our project really needs.

We've created a template for you to post a proposal here. Click this button to begin:

Start drafting a proposal

Read other proposals

Before or after you post your own draft, read through others' listed below. Your best comments and input may come from other applicants!

Also see 2018's proposals here

Proposals

Title Author Updated Likes Comments
GSoC proposal: Mapknitter Image Management and Synchronous Editing @divyabaid16 5 months ago 2
[withdrawn] GSoC Proposal: Mapknitter Overhaul @gauravano 9 months ago 1
SoC proposal: GSoC: Websocket Implementation for Real-time Usage and Sensor data and Display Library @namangupta 10 months ago 20
SoC proposal: Improving UI and Structure of Leaflet Environmental Layers @rkpattnaik780 10 months ago 5
SoC Proposal : Spectral Workbench Capture @sidntrivedi012 10 months ago 12
SOC 2019: A small proposal for global environmental monitoring @MaggPi 10 months ago 13
SoC proposal: MapKnitter Image Management & User Experience @govindjeevan7 10 months ago 4
GSOC-19 Mapknitter synchronous editing @vidit 10 months ago 2
SOC proposal: Extend Leaflet Environmental Layers with new layer menu and layer addition workflow @anan12 10 months ago 5
SoC proposal: Image Sequencer: Broadening Avenues @vibhordelgupta 10 months ago 2
MapKnitter Aerial Image labelling to detect Environmental issues using machine vision @sauvzi13397 10 months ago 5
GSoC proposal: Image Sequencer @aashnaaashna 10 months ago 10
GSoC proposal: Mapknitter Image Management and Synchronous Editing @igniteeng000 10 months ago 3
Outreachy Proposal 2019 For Public Lab: @gautami_gg 10 months ago 12
GSoC Proposal: Mapknitter Rails 6 upgrade @kaustubh_nair 10 months ago 7
GSoC proposal: Mapknitter Upgrade to Rails 6 @singhav 10 months ago 2
GSoC proposal: Mapknitter ORB Descriptor (w/ auto-stitching, pattern training, and live video support) and LDI revamp (major UI enhancements) @rexagod 10 months ago 35
SoC proposal: Community Toolbox overhaul @icode365 10 months ago 16
SoC proposal: Image Sequencer @lohithabhagam123 10 months ago 0
SoC proposal: Community-toolbox @jainsubhahu 10 months ago 10
SoC proposal: Image-Sequencer v3: Boosting the performance and adding demonstration based on colorimetry @lit2017001 10 months ago 7
Outreachy proposal: Extend Leaflet Environmental Layers with new layer menu and layer addition workflow @priya17081 10 months ago 12
GSoC proposal: Sensor data upload and display library @IshaGupta18 10 months ago 34
SoC proposal: Image Sequencer @f20171066 10 months ago 6
GSoC Proposal 2019: Mapknitter's Rails Upgrade @alaxallves 10 months ago 5
SoC proposal: PublicLab.Editor @f20171066 10 months ago 1
GSoC proposal: LEL 2.0 and work on Leaflet-Blurred projects . @sagarpreet 10 months ago 11
SoC proposal: Sensor data upload and display library @shakebameen 10 months ago 0
SoC proposal: Sensor data upload and display library @shakebameen 10 months ago 3
GSoC proposal: Automated feature detection and matching #300 https://github.com/publiclab/image-sequencer/issues/300 @puneetbindal8989 10 months ago 2
SoC proposal: Enhancing the UI of publiclab and relevant changes to server @lekhidugtal 10 months ago 21
GSoC proposal: Automated feature detection and matching #300 https://github.com/publiclab/image-sequencer/issues/300 @puneetbindal8989 10 months ago 0
Show more


Questions

Ask a question  or help answer future questions on this topic

Read more Follow

software gsoc blog code


Leaflet.DistortableImage full resolution download

by warren | 12 months ago | 0 | 3

Across the Public Lab community, people are making their own maps using aerial photos (by balloon mapping, kite mapping, and the like) with the MapKnitter website - which helps people "stitch" or "knit" images into a combined map, using an existing satellite map base layer as a reference.

The core of MapKnitter's interface, the Leaflet.DistortableImage library, is seeing some new life as members of our coding community have started to dig in and make improvements! Its main goal of letting people distort aerial images to fit onto a map is being refined, debugged, and expanded. (This was made possible in part with support from NASA's AREN project)

Above, a new feature you can see in the menu is a full resolution download -- with no server-side processing at all. This was made possible through a lot of work by John905 and rexagod.

Try it out in the demo: https://publiclab.github.io/Leaflet.DistortableImage/examples/

This takes the original full resolution image and distorts it in your browser (you may need to allow popups), and then downloads.

For example, the lead image generated this full-res distorted image: full.png (2304x1536 pixels)

See the preview below.

This may mean that for some smaller MapKnitter maps, you won't need to run a full export, which can take a while. This code should publish on MapKnitter within the next few days. Down the road, we're looking at more ways to refine the export process to make it even easier to make your own maps using balloon, kite, pole, or drone mapping.

image description

Read more Follow

balloon-mapping kite-mapping mapknitter aerial-photography