Versão final dos slides da palestra

This commit is contained in:
Renne Rocha 2025-05-16 16:54:28 -03:00
parent d96827edcc
commit 6b900005b4
27 changed files with 8523 additions and 0 deletions

View file

@ -0,0 +1,11 @@
# Welcome to [Slidev](https://github.com/slidevjs/slidev)!
To start the slide show:
- `npm install`
- `npm run dev`
- visit http://localhost:3030
Edit the [slides.md](./slides.md) to see the changes.
Learn more about Slidev on [documentations](https://sli.dev/).

37
components/Counter.vue Normal file
View file

@ -0,0 +1,37 @@
<script setup lang="ts">
import { ref } from 'vue'
const props = defineProps({
count: {
default: 0,
},
})
const counter = ref(props.count)
</script>
<template>
<div flex="~" w="min" border="~ main rounded-md">
<button
border="r main"
p="2"
font="mono"
outline="!none"
hover:bg="gray-400 opacity-20"
@click="counter -= 1"
>
-
</button>
<span m="auto" p="2">{{ counter }}</span>
<button
border="l main"
p="2"
font="mono"
outline="!none"
hover:bg="gray-400 opacity-20"
@click="counter += 1"
>
+
</button>
</div>
</template>

16
netlify.toml Normal file
View file

@ -0,0 +1,16 @@
[build.environment]
NODE_VERSION = "18"
[build]
publish = "dist"
command = "npm run build"
[[redirects]]
from = "/.well-known/*"
to = "/.well-known/:splat"
status = 200
[[redirects]]
from = "/*"
to = "/index.html"
status = 200

8076
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

19
package.json Normal file
View file

@ -0,0 +1,19 @@
{
"name": "pybr2023-sem-janelas-quebradas",
"private": true,
"scripts": {
"build": "slidev build",
"dev": "slidev --open",
"export": "slidev export"
},
"dependencies": {
"@slidev/cli": "^0.43.15",
"@slidev/theme-default": "latest",
"@slidev/theme-seriph": "latest",
"create-slidev": "^51.6.2",
"slidev-theme-vuetiful": "^0.3.1"
},
"devDependencies": {
"playwright-chromium": "^1.52.0"
}
}

27
pages/multiple-entries.md Normal file
View file

@ -0,0 +1,27 @@
# Multiple Entries
You can split your slides.md into multiple files and organize them as you want using the `src` attribute.
#### `slides.md`
```markdown
# Page 1
Page 2 from main entry.
---
src: ./subpage.md
---
```
<br>
#### `subpage.md`
```markdown
# Page 2
Page 2 from another file.
```
[Learn more](https://sli.dev/guide/syntax.html#multiple-entries)

BIN
public/acampamento.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

BIN
public/agenda-lhc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 KiB

BIN
public/bicycle.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
public/broken-window.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

BIN
public/capybara.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

BIN
public/design-patterns.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

BIN
public/desorganizada.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

BIN
public/discourse.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

BIN
public/email-cryptorave.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

BIN
public/mastodon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 KiB

BIN
public/organizada.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

BIN
public/peertube.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 572 KiB

BIN
public/qr-code-atlantic.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
public/question-mark.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

BIN
public/sopa-pedra.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

BIN
public/tdd.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

330
slides.md Normal file
View file

@ -0,0 +1,330 @@
---
title: 'Sem Janelas Quebradas: Mantendo Seu Ambiente Organizado'
transition: slide-left
layout: cover
download: true
---
# Sem Janelas Quebradas: Mantendo Seu Ambiente Organizado
## CryptoRave 2025 - São Paulo - SP
---
layout: center
background: './broken-window.jpg'
class: 'text-white'
---
![Local Image](/broken-window.jpg)
Photo by <a href="https://unsplash.com/@pawel_czerwinski?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash">Pawel Czerwinski</a> on <a href="https://unsplash.com/photos/brown-wooden-open-window-T3XUccTgw7s?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash">Unsplash</a>
---
# Renne Rocha
* Co-fundador do **Laboratório Hacker de Campinas** (https://lhc.net.br)
* Desenvolvedor Python 15+ anos
* Mantenedor do **Querido Diário** (https://queridodiario.ok.org.br/)
* <a href="https://go.rocha.social/@renne/">@rocha@rocha.social</a> 🐘 (Fediverso)
* @rennerocha (outras redes sociais)
* Marceneiro e Cervejeiro Caseiro (quando dá tempo)
* Slides em https://git.rocha.dev.br/rennerocha/talk-cryptorave-2025
---
layout: center
class: text-center
---
> Psicólogos sociais e policiais tendem a concordar que **se uma janela de um prédio for quebrada e deixada
> sem reparo, todo o resto das janelas logo estará quebrado**. Isto é tão verdadeiro em bairros agradáveis como em bairros degradados.
> A quebra de janelas não ocorre necessariamente em grande escala porque algumas áreas são habitadas por
> determinados quebradores de janelas, enquanto outros são habitados por amantes de janelas; em vez
> disso, **uma janela quebrada não reparada é um
> sinal de que ninguém se importa e, portanto, quebrar mais janelas não custa nada**.
**Broken Windows**
*por James Q. Wilson e George L. Kelling*
https://www.theatlantic.com/magazine/archive/1982/03/broken-windows/304465/
<img src="qr-code-atlantic.png" width="150px" />
<!--
Artigo publicado em 1982 na revista The Atlantic Monthly
-->
---
layout: image-right
image: /broken-window.jpg
---
# Entropia
* **Desordem** em um sistema
* De acordo com as leis da termodinâmica, ela sempre tende a **aumentar**
---
layout: center
background: './desorganizada.jpeg'
class: 'text-white'
---
![Local Image](/desorganizada.jpeg)
---
layout: center
background: './organizada.jpg'
class: 'text-white'
---
![Local Image](/organizada.jpg)
---
layout: center
background: './desorganizada-de-novo.jpeg'
class: 'text-white'
---
![Local Image](/desorganizada-de-novo.jpeg)
---
layout: image-left
image: /broken-window.jpg
---
# Débito Técnico (ou Dívida Técnica)
* **Desordem** em um projeto que no longo prazo dificulta a sua evolução e manutenção
* Surge de decisões incorretas e/ou incompletas tomadas devido aos mais diferentes fatores como:
* Pressões por prazo
* Problemas em produção
* Inexperiência da equipe
* É uma dívida que **provavelmente** não será paga
* Termo comum em projetos de software
---
# O que são janelas quebradas em software?
- Falta de visibilidade das tarefas
- Arquiteturas inadequadas
- Código sem testes
- Código mal escrito
- Falta de documentação
---
layout: image-right
image: /question-mark.jpg
---
# Uma comunidade também tem suas "janelas" quebradas?
---
layout: image-right
image: /question-mark.jpg
---
# Comunidades
- Um hackerspace
- Um projeto de código livre
- Organização de um evento
- Um canal em uma rede social
- ...
---
layout: image-right
image: /question-mark.jpg
---
# Uma comunidade também tem suas "janelas" quebradas?
- Dificuldade de decisões
- Uso de ferramentas inadequadas
- Falta de comprometimento
- Falta de continuidade
- Pessoas agindo de maneira inadequada
---
layout: center
class: text-center
---
# Como não quebrar mais janelas?
---
layout: image-right
image: /sopa-pedra.jpg
---
# Sopa de Pedra
---
# Seja um catalisador de mudanças
- Pequenos passos, não tente corrigir tudo de uma vez
- Comece com o que você pode mudar sem pedir permissão
- **Pessoas preferem apoiar algo que já esteja funcionando com sucesso**
<br/><br/>
<hr/>
>É mais fácil pedir perdão do que pedir permissão
*Grace Hopper*
---
# Lembre-se do quadro geral
- A maioria dos desastre começam muito pequeno para se notar
- Revise constantemente o que está acontecendo ao seu redor
- **Consciência situacional**
---
layout: center
class: text-center
---
# Como começar?
---
# Documentação
- Inexistente
- Desatualizada
- Incompleta
- A comunidade precisa ter registro de suas regras, processos, decisões
- Não importa a ferramenta, comece a escrever, e dê pequenos passos para ir melhorando
- As pessoas precisam de tempo para se acostumar a ler e escrever. É necessário resiliência até se tornar algo cultural na comunidade
---
<img src="discourse.png" width="70%" />
https://discourse.lhc.net.br/
---
# Organização do Espaço (físico)
- Meu contexto principal de comunidade é em um espaço físico (hackerspace)
- Pequenas atitudes aos poucos vão alterando e melhorando o local
- Colocar *uma* coisa no lugar toda vez que estiver no espaço
- Não precisa querer organizar/limpar tudo de uma vez (mas as vezes é necessário fazer grandes organizações de uma vez)
- Um espaço organizado faz com que as pessoas queiram frequentá-lo
---
layout: image-left
image: /acampamento.jpg
---
# Regra do Escoteiro
>Deixe o seu local de acampamento melhor do que quando o encontrou
---
<img src="sala-lhc-arrumada.jpeg" width="65%" />
---
# Código de Conduta
- Documento que estabelece comportamentos esperados das pessoas em sua comunidade/projeto
- Não era comum a alguns anos atrás, agora é mais fácil
- Importante não se tornar um documento que ninguém lê, nem aplica
- Definir processo para tomar atitudes em caso de quebra
- Revisões frequentes
- *Aqui não fazemos isso desta maneira*
---
layout: image-left
image: /bicycle.jpg
---
# Tomada de decisões
- Discussões intermináveis
- O "não-padrão" do bicicletário
- Não é sempre que o consenso é a melhor maneira para se tomar uma decisão
<img src="design-patterns.png" width="100px" />
Padrões de Projeto de Hackerspaces
---
# Plataformas abertas
- Plataformas abertas como cidadãs de primeira classe
- As vezes, você é o único que pensa em usar esta plataforma. Crie a conta, use! Insista!
<img src="email-cryptorave.png" width="200px" />
- **POSSE** dos nossos dados
---
<img src="agenda-lhc.png" width="60%" />
https://eventos.lhc.net.br
---
<img src="mastodon.png" width="45%" />
https://mastodon.com.br/@lhc
---
<img src="peertube.png" width="70%" />
https://peertube.lhc.net.br
---
# Pequenos passos
<img src="tdd.png" width="400px" />
(mas não esqueça onde você quer chegar)
---
layout: image-right
image: /capybara.jpg
---
# Obrigado!

BIN
slides.pdf Normal file

Binary file not shown.

7
vercel.json Normal file
View file

@ -0,0 +1,7 @@
{
"rewrites": [
{ "source": "/(.*)", "destination": "/index.html" }
],
"buildCommand": "npm run build",
"outputDirectory": "dist"
}