From a9360848d4b45dece022f884d4eb4e20c533b577 Mon Sep 17 00:00:00 2001 From: Michael Chow Date: Thu, 26 Mar 2026 09:49:07 -0700 Subject: [PATCH 1/2] add post with coc and judging criteria --- ...03-26-code-of-conduct-judging-criteria.qmd | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 posts/2026-03-26-code-of-conduct-judging-criteria.qmd diff --git a/posts/2026-03-26-code-of-conduct-judging-criteria.qmd b/posts/2026-03-26-code-of-conduct-judging-criteria.qmd new file mode 100644 index 0000000..a8482a8 --- /dev/null +++ b/posts/2026-03-26-code-of-conduct-judging-criteria.qmd @@ -0,0 +1,19 @@ +--- +title: "SJHPHL 2026 - Code of Conduct & Judging Criteria" +author: "Hackathon Committee" +date: "2026-03-26" +categories: [news] +description: "View our code of conduct and judging criteria for the 2026 Philadelphia Social Justice Hackathon." +--- + +## Code of Conduct + + + +[Download Code of Conduct (PDF)](../assets/sjhphl-2026-code-of-conduct.pdf) + +## Judging Criteria + + + +[Download Judging Criteria (PDF)](../assets/sjhphl-2026-judging-criteria.pdf) From 3c1cb58f739cb9960d532a5a8337c8bdb01569e1 Mon Sep 17 00:00:00 2001 From: Michael Chow Date: Thu, 26 Mar 2026 10:53:46 -0700 Subject: [PATCH 2/2] Split judging criteria into own post and add cross-links between all 2026 posts --- _extensions/jmgirard/embedpdf/_extension.yml | 8 ++ _extensions/jmgirard/embedpdf/embedpdf.lua | 106 ++++++++++++++++++ posts/2026-03-19-challenge-tracks.qmd | 2 + ...03-26-code-of-conduct-judging-criteria.qmd | 59 ++++++++-- posts/2026-03-26-judging-criteria.qmd | 21 ++++ 5 files changed, 188 insertions(+), 8 deletions(-) create mode 100644 _extensions/jmgirard/embedpdf/_extension.yml create mode 100644 _extensions/jmgirard/embedpdf/embedpdf.lua create mode 100644 posts/2026-03-26-judging-criteria.qmd diff --git a/_extensions/jmgirard/embedpdf/_extension.yml b/_extensions/jmgirard/embedpdf/_extension.yml new file mode 100644 index 0000000..7e85c58 --- /dev/null +++ b/_extensions/jmgirard/embedpdf/_extension.yml @@ -0,0 +1,8 @@ +title: embedpdf +author: Jeffrey Girard +version: 0.5.0 +quarto-required: ">=1.3.0" +contributes: + shortcodes: + - embedpdf.lua + diff --git a/_extensions/jmgirard/embedpdf/embedpdf.lua b/_extensions/jmgirard/embedpdf/embedpdf.lua new file mode 100644 index 0000000..863d837 --- /dev/null +++ b/_extensions/jmgirard/embedpdf/embedpdf.lua @@ -0,0 +1,106 @@ +-- simple HTML escaper for text nodes +local function html_escape(s) + s = tostring(s or "") + s = s:gsub("&", "&") + :gsub("<", "<") + :gsub(">", ">") + :gsub('"', """) + :gsub("'", "'") + return s +end + +function pdf(args, kwargs) + local data = pandoc.utils.stringify(args[1]) or pandoc.utils.stringify(kwargs['file']) + local width = pandoc.utils.stringify(kwargs['width']) + local height = pandoc.utils.stringify(kwargs['height']) + local border = pandoc.utils.stringify(kwargs['border']) + local class = pandoc.utils.stringify(kwargs['class']) + local button = pandoc.utils.stringify(kwargs['button']) + local image = pandoc.utils.stringify(kwargs['image']) + local image_force = pandoc.utils.stringify(kwargs['image_force']) + local image_width = pandoc.utils.stringify(kwargs['image_width']) + local image_height = pandoc.utils.stringify(kwargs['image_height']) + local image_border = pandoc.utils.stringify(kwargs['image_border']) + local image_class = pandoc.utils.stringify(kwargs['image_class']) + + if width ~= '' then + width = ' width="' .. width .. '"' + end + + if height ~= '' then + height = ' height="' .. height .. '"' + end + + if border ~= '' then + border = ' border="' .. border .. '"' + end + + if class ~= '' then + class = ' class="' .. class .. '"' + end + + if image_width ~= '' then + image_width = ' width="' .. image_width .. '"' + end + + if image_height ~= '' then + image_height = ' height="' .. image_height .. '"' + end + + if image_border ~= '' then + image_border = ' border="' .. image_border .. '"' + end + + if image_class ~= '' then + image_class = ' class="' .. image_class .. '"' + end + + local button_html = "" + if button ~= '' then + button_html = + "
" .. + html_escape(button) .. + "" + end + + if quarto.doc.isFormat("html:js") then + local html = "" + + if image_force == 'TRUE' then + -- image only, linked to pdf + html = '' .. + '' .. + '' + elseif image ~= '' then + -- pdf object with image fallback + html = '' .. + '' .. + '' .. + '' .. + '' + else + -- pdf object with text fallback + html = '' .. + 'Download PDF file.' .. + '' + end + + -- wrap main content + optional button + if button_html ~= "" then + html = "
" .. html .. button_html .. "
" + end + + return pandoc.RawInline('html', html) + else + return pandoc.Null() + end +end + + +-- Add alias shortcode +function embedpdf(...) + return pdf(...) +end diff --git a/posts/2026-03-19-challenge-tracks.qmd b/posts/2026-03-19-challenge-tracks.qmd index dee537e..fc0b471 100644 --- a/posts/2026-03-19-challenge-tracks.qmd +++ b/posts/2026-03-19-challenge-tracks.qmd @@ -6,6 +6,8 @@ categories: [news] toc: true --- +This post provides the challenge tracks for the 2026 Social Justice Hackathon. See also the [code of conduct](2026-03-26-code-of-conduct-judging-criteria.qmd) and [judging criteria](2026-03-26-judging-criteria.qmd). + This document introduces the three tracks that organize the work of the Philadelphia Social Justice Hackathon. Each track focuses on a different part of the justice system where technology, data, and design can make a meaningful difference. Together, they help guide team formation, shape the kinds of projects participants pursue, and clarify the goals of the event for students, community partners, mentors, and judges. The three tracks---Rights Protection, Legal Empowerment, and Accountable Legal & Justice Systems---offer a framework for the weekend's work. They are meant to channel 36 hours of interdisciplinary collaboration toward ideas, tools, and approaches that respond to real challenges facing Philadelphia communities. diff --git a/posts/2026-03-26-code-of-conduct-judging-criteria.qmd b/posts/2026-03-26-code-of-conduct-judging-criteria.qmd index a8482a8..12c4327 100644 --- a/posts/2026-03-26-code-of-conduct-judging-criteria.qmd +++ b/posts/2026-03-26-code-of-conduct-judging-criteria.qmd @@ -1,19 +1,62 @@ --- -title: "SJHPHL 2026 - Code of Conduct & Judging Criteria" +title: "SJHPHL 2026 - Code of Conduct" author: "Hackathon Committee" date: "2026-03-26" categories: [news] -description: "View our code of conduct and judging criteria for the 2026 Philadelphia Social Justice Hackathon." +description: "Code of conduct for the 2026 Philadelphia Social Justice Hackathon." +toc: true --- -## Code of Conduct +This post provides the code of conduct for the 2026 Social Justice Hackathon. See also the [challenge tracks](2026-03-19-challenge-tracks.qmd) and [judging criteria](2026-03-26-judging-criteria.qmd). - +The organizers of the Philadelphia Social Justice Hackathon are committed to creating a safe and welcoming environment for all of its participants. We believe that everyone has the right to hack in a diverse and inclusive environment---free from discrimination or harassment. Creating and maintaining this environment throughout the Hackathon is a shared responsibility for the benefit of all, as we endeavor to collaborate with one another in pursuit of tech solutions that promote social justice within our Philadelphia community. -[Download Code of Conduct (PDF)](../assets/sjhphl-2026-code-of-conduct.pdf) +Our Code of Conduct outlines the standards of behavior that we expect participants of the Hackathon to abide by. All participants must follow these guidelines while participating in any aspect of the Hackathon. Importantly, this Code of Conduct applies equally to all members of the community, including attendees, participants, judges, sponsors, organizers, and volunteers, regardless of age, gender, race, ethnicity, nationality, sexual orientation, gender identity or expression, mental or physical disability, physical appearance, neurodiversity, religion, political affiliation, level of knowledge or experience, or any other attribute. -## Judging Criteria +Please see the outlined standards below. - +## Accessibility & Accommodation -[Download Judging Criteria (PDF)](../assets/sjhphl-2026-judging-criteria.pdf) +The Hackathon is committed to accessibility and inclusion for its participants. Participants who may require accommodation are encouraged to contact the organizing team in advance so that we can work together to support your participation. + +## Professionalism + +We ask that all participants conduct themselves in a professional manner throughout the Hackathon. This includes treating other participants with respect, working cooperatively amongst your team, and refraining from otherwise discriminatory or harassing behavior. + +## Respect for Others' Opinions and Abilities + +The Hackathon is purposefully designed to bring together people with a wide range of opinions, skills, and experiences to collaborate toward our shared goal of promoting social justice via a tech solution. While we expect that participants may disagree, all disagreements must be expressed respectfully. Additionally, participants must educate each other respectfully. To this end, we request that participants not assume others' level of knowledge and not disparage a lack of information or insist on unnecessary precision. + +## Responsible Data Handling + +When developing their proposed solutions, participants must observe proper data-handling protocols, including appropriately classifying data as public or private, anonymizing private data, and ensuring that such data is not improperly disclosed, misused, or re-identified. + +## User Privacy, Security, & Consent + +The proposed solutions themselves must also handle data and anticipated data collection responsibly. This includes respecting privacy, ensuring security, and obtaining consent. Proposed solutions must not collect, store, or share personal information in ways that compromise safety, dignity, or rights. + +## Anti-Discrimination + +Discrimination in any form is not tolerated during the Hackathon. This includes discrimination in participation, collaboration, and evaluation. While the organizing team of the Hackathon will ensure that proposed solutions be judged fairly without discriminatory bias, we also ask that the proposed solutions themselves not: + +- Discriminate against individuals or communities +- Enable profiling, targeting, or exclusion +- Promote harm toward marginalized groups +- Facilitate surveillance, criminalization, or oppressive systems +- Encode bias through data, design, or deployment + +## Anti-Harassment + +Harassment is any unwelcome or hostile behavior towards another person for any reason. This includes, but is not limited to, offensive verbal comments related to personal characteristics, sexual images or comments, deliberate intimidation, bullying, stalking, following, harassing photography or recording, sustained disruption of discussion or events, nonconsensual publication of private comments, inappropriate physical contact, or unwelcome sexual attention. Intent is not required for behavior to be considered harassment. + +## Consequences for Discrimination & Harassment + +Participants who engage in discriminatory or harassing behavior will be subject to action deemed appropriate by the organizing team of the Hackathon. Such actions include warnings or removal from the Hackathon entirely. + +## Compliance with Legal Standards + +Participants must agree to abide by all applicable local, state, national, and international laws, regulations, and standards throughout the Hackathon. The organizers reserve the right to review any projects developed during the Hackathon for compliance with such legal and ethical standards. In the event that concerns arise regarding the legality or ethical implications of any project, the organizers will initiate a dialogue with the participants involved in such. This conversation will aim to address the concerns raised and to provide participants with an opportunity to explain their project's intent, functionality, and potential impact. Depending on the outcome of this dialogue and the severity of concerns, the organizing team reserves the right to take reasonable and appropriate action on that project. This may include providing guidance to modify the project to ensure compliance with legal standards, requesting the cessation of work on the project, or, in extreme cases, disqualifying the project from the Hackathon. The organizing team is committed to handling all concerns regarding a project's legality with fairness and transparency. + +## Reporting + +We strongly encourage you to report any incidents of discrimination, harassment, or other violations of this Code of Conduct. If you experience or observe behavior that does not align with these standards, please contact an organizer directly through Signal or DevPost. diff --git a/posts/2026-03-26-judging-criteria.qmd b/posts/2026-03-26-judging-criteria.qmd new file mode 100644 index 0000000..6f5e111 --- /dev/null +++ b/posts/2026-03-26-judging-criteria.qmd @@ -0,0 +1,21 @@ +--- +title: "SJHPHL 2026 - Judging Criteria" +author: "Hackathon Committee" +date: "2026-03-26" +categories: [news] +description: "Judging criteria for the 2026 Philadelphia Social Justice Hackathon." +toc: true +--- + +This post provides the judging criteria for the 2026 Social Justice Hackathon. See also the [challenge tracks](2026-03-19-challenge-tracks.qmd) and [code of conduct](2026-03-26-code-of-conduct-judging-criteria.qmd). + +Projects are scored on a 1--5 scale across six categories: + +| Category | 5 -- Excellent | 4 -- Very Good | 3 -- Good | 2 -- Limited | 1 -- Poor | +| --- | --- | --- | --- | --- | --- | +| **Innovation & Creativity** | Highly original; novel use of technology | Creative with unique elements | Some originality; common approach | Minimal originality; derivative | No clear innovation | +| **Impact & Community Relevance** | Deep understanding of community needs, significant impact potential | Addresses the problem(s) and impacts the community's needs in a meaningful way | Addresses the problem in an incomplete way; impact is limited or unclear | Weak relevance to community need, unclear impact | No clear problem, does not reflect the community's needs | +| **Design & User Experience** | Polished, intuitive, and accessible | Clear and usable design | Functional but unpolished | Confusing experience | Not usable | +| **Feasibility & Scalability** | Highly feasible and scalable | Feasible with minor limits | Feasible with challenges | Difficult to scale | Unrealistic | +| **Technical Execution & Interdisciplinary Development** | Fully functional; strong implementation | Mostly functional; minor issues | Partially functional; basic build | Major technical issues | Non-functional, has major bugs | +| **Equity & Ethical Consideration** | Demonstrates strong ethical awareness; implements concrete safeguards | Clearly identifies any major risks; proposes a realistic safeguard | Identified specific risks; limited or unclear mitigation steps | Basic ethical risks briefly recognized; discussion is incomplete | No clear consideration; sensitive harms, biases, or misuses are unaddressed |