Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 19 additions & 19 deletions src/data/contributions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ export const contributions: Contribution[] = [
{
repo: "DarkFlippers/unleashed-firmware",
emoji: "🔓",
stars: 22041,
stars: 22139,
pr: 1048,
desc: {
en: "The EMV parser took each TLV length straight off the card, so tapping a crafted card wrote past several fixed-size fields and a stack buffer.",
Expand All @@ -15,7 +15,7 @@ export const contributions: Contribution[] = [
{
repo: "DarkFlippers/unleashed-firmware",
emoji: "🔓",
stars: 22041,
stars: 22139,
pr: 1049,
desc: {
en: "A reader writing to the emulated NFC tag at offset 1 shifted the stored payload by a byte and spliced in a stale byte from the previous frame.",
Expand All @@ -26,7 +26,7 @@ export const contributions: Contribution[] = [
{
repo: "Next-Flip/Momentum-Firmware",
emoji: "⚡",
stars: 9012,
stars: 9086,
pr: 573,
desc: {
en: "The same unbounded EMV lengths as the unleashed fix, except here the stack overflow is not compiled out of the release builds the project ships.",
Expand All @@ -37,7 +37,7 @@ export const contributions: Contribution[] = [
{
repo: "Next-Flip/Momentum-Firmware",
emoji: "⚡",
stars: 9012,
stars: 9086,
pr: 574,
desc: {
en: "The Type 4 Tag write fix, ported to the byte-identical copy of the file this firmware carries.",
Expand All @@ -48,7 +48,7 @@ export const contributions: Contribution[] = [
{
repo: "vitessio/vitess",
emoji: "🐬",
stars: 21218,
stars: 21278,
pr: 20700,
desc: {
en: "A sharded query with EXISTS inside a CASE silently dropped half of its WHERE clause and returned the wrong rows.",
Expand All @@ -59,7 +59,7 @@ export const contributions: Contribution[] = [
{
repo: "vitessio/vitess",
emoji: "🐬",
stars: 21218,
stars: 21278,
pr: 20701,
desc: {
en: "An outer join against a reference table returned every preserved row once per shard instead of once.",
Expand All @@ -70,7 +70,7 @@ export const contributions: Contribution[] = [
{
repo: "traefik/yaegi",
emoji: "🐹",
stars: 8356,
stars: 8381,
pr: 1729,
desc: {
en: "A constant condition in an if or for statement crashed the interpreter instead of reporting a compile error, taking down any program embedding it.",
Expand All @@ -81,7 +81,7 @@ export const contributions: Contribution[] = [
{
repo: "traefik/yaegi",
emoji: "🐹",
stars: 8356,
stars: 8381,
pr: 1730,
desc: {
en: "Using a package name as a value crashed the interpreter five different ways, and inside a return statement it raised no error at all and ran.",
Expand All @@ -92,7 +92,7 @@ export const contributions: Contribution[] = [
{
repo: "traefik/yaegi",
emoji: "🐹",
stars: 8356,
stars: 8381,
pr: 1731,
desc: {
en: "Every pull request had a red lint job: the pinned linter was built with an older Go than CI installs, so it panicked before reporting anything.",
Expand All @@ -103,7 +103,7 @@ export const contributions: Contribution[] = [
{
repo: "tobymao/sqlglot",
emoji: "🧩",
stars: 9517,
stars: 9579,
pr: 7969,
desc: {
en: "DuckDB was modelled as returning NULL on division by zero, but it follows IEEE 754 and returns inf, so transpiled queries diverged.",
Expand All @@ -114,7 +114,7 @@ export const contributions: Contribution[] = [
{
repo: "fonttools/fonttools",
emoji: "🔠",
stars: 5198,
stars: 5222,
pr: 4137,
desc: {
en: "Instancing a variable font left the BASE table untouched, so instances kept the default baselines and a dangling variation store.",
Expand All @@ -125,7 +125,7 @@ export const contributions: Contribution[] = [
{
repo: "MatthewKuKanich/FindMyFlipper",
emoji: "📍",
stars: 2184,
stars: 2192,
pr: 144,
desc: {
en: "An infinite 2FA loop blocked report fetching: the anisette device identity was partly overwritten with random UUIDs. Behind seven reported issues.",
Expand All @@ -136,7 +136,7 @@ export const contributions: Contribution[] = [
{
repo: "chearon/dropflow",
emoji: "📐",
stars: 1367,
stars: 1368,
pr: 34,
desc: {
en: "A box with position: absolute stayed in normal flow and ignored its insets entirely, the last piece of CSS 2.1 positioning the engine was missing.",
Expand All @@ -147,7 +147,7 @@ export const contributions: Contribution[] = [
{
repo: "docker/compose",
emoji: "🐳",
stars: 38036,
stars: 38074,
pr: 13992,
desc: {
en: "A single directory the user cannot read made compose watch fail to start, so nothing was watched at all: the ignore list is applied to events, never to the walk that registers the watches.",
Expand All @@ -158,7 +158,7 @@ export const contributions: Contribution[] = [
{
repo: "python/mypy",
emoji: "🏷️",
stars: 20591,
stars: 20617,
pr: 21805,
desc: {
en: "A walrus nested inside a condition, as in if cond and (woo := 5) + n, left the variable optional in the branch where the assignment had certainly run.",
Expand All @@ -169,7 +169,7 @@ export const contributions: Contribution[] = [
{
repo: "pact-foundation/pact-python",
emoji: "🤝",
stars: 677,
stars: 682,
pr: 1669,
desc: {
en: "Any exception in a message handler surfaced as error sending request for url: the 200 response line was sent before the handler ran, so the dropped connection looked like a network fault.",
Expand All @@ -180,7 +180,7 @@ export const contributions: Contribution[] = [
{
repo: "python/mypy",
emoji: "🏷️",
stars: 20591,
stars: 20617,
pr: 21806,
desc: {
en: "Calling an abstract staticmethod or classmethod straight off the abstract class raised no error, even though instantiating that same class does.",
Expand All @@ -191,7 +191,7 @@ export const contributions: Contribution[] = [
{
repo: "pact-foundation/pact-reference",
emoji: "🦀",
stars: 104,
stars: 106,
pr: 547,
desc: {
en: "A V4 message whose contents were written without the expected envelope was read as having no body at all, so the interaction verified successfully whatever the provider produced.",
Expand All @@ -202,7 +202,7 @@ export const contributions: Contribution[] = [
{
repo: "docker/compose",
emoji: "🐳",
stars: 38036,
stars: 38074,
pr: 14084,
desc: {
en: "Syncing a directory onto a path the image exposes as a symlink aborted the whole watch batch: the archive carried a header for that directory, and the engine refuses to replace a symlink with one.",
Expand Down
13 changes: 13 additions & 0 deletions src/data/projects.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,19 @@ import type { Project } from "../lib/projects";
export const categoryOrder = ["web apps", "flipper zero", "experiments"];

export const projects: Project[] = [
{
name: "Zarata",
emoji: "🎚️",
icon: "https://endika.github.io/zarata/favicon.svg",
desc: {
en: "A sound level meter you hold in your hand. Watch the room, drag a red mark onto the dial where it starts to bother you, and it beeps when the noise crosses it. The whole session is drawn as one line, and the screen stays awake while it listens.",
es: "Un sonómetro de mano. Mira cuánto ruido hay, arrastra con el dedo una marca roja hasta donde te empieza a molestar, y pita cuando se pasa. La sesión entera se dibuja en una línea, y la pantalla no se apaga mientras escucha.",
},
url: "https://endika.github.io/zarata/",
type: "live",
tag: "PWA",
category: "web apps",
},
{
name: "Agora",
emoji: "🏛️",
Expand Down
Loading