Browse Source

Updates

master
Julio Biason 2 months ago
parent
commit
b61510a2f3
  1. BIN
      _images/tng-deanna-troi-mosaic.jpg
  2. BIN
      _images/tng-lavelle-promotion.webp
  3. BIN
      _images/tng-q-snap.gif
  4. BIN
      _images/tng-troi-cowboy.webp
  5. 110
      nao-sou-eu.html

BIN
_images/tng-deanna-troi-mosaic.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

BIN
_images/tng-lavelle-promotion.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

BIN
_images/tng-q-snap.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
_images/tng-troi-cowboy.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 MiB

110
nao-sou-eu.html

@ -7,11 +7,12 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
<link rel="stylesheet" href="reveal.js/css/reveal.css"> <link rel="stylesheet" href="dist/reset.css">
<link rel="stylesheet" href="reveal.js/css/theme/night.css" id="theme"> <link rel="stylesheet" href="dist/reveal.css">
<link rel="stylesheet" href="dist/theme/night.css" id="theme">
<!-- Code syntax highlighting --> <!-- Code syntax highlighting -->
<link rel="stylesheet" href="reveal.js/lib/css/zenburn.css"> <link rel="stylesheet" href="dist/highlight/zenburn.css">
<!-- Printing and PDF exports --> <!-- Printing and PDF exports -->
<script> <script>
@ -160,10 +161,12 @@
</section> </section>
<section> <section>
<h4>"Vamos fazer um browser em Python!"</h4> <img src="_images/tng-deanna-troi-mosaic.jpg" class="stretch">
</section> </section>
<!-- tudo agora é script python --> <section>
<h4>"Vamos fazer um browser em Python!"</h4>
</section>
<section> <section>
<!-- simulador de hardware, pra entregar projeto antes do resto --> <!-- simulador de hardware, pra entregar projeto antes do resto -->
@ -254,6 +257,10 @@
</section> </section>
<!-- surgiu a chance de trabalhar junto de novo --> <!-- surgiu a chance de trabalhar junto de novo -->
<section>
<img src="_images/tng-lavelle-promotion.webp" class="stretch">
</section>
<!-- ... mas virou objective-c --> <!-- ... mas virou objective-c -->
<section> <section>
<img src="_images/ent-tpol.webp" class="stretch"/> <img src="_images/ent-tpol.webp" class="stretch"/>
@ -263,8 +270,15 @@
Objective-C. Objective-C.
</aside> </aside>
</section> </section>
<!-- framework em cima do flask -->
<!-- consuela --> <section>
<img src="_images/tng-q-snap.gif" class="stretch">
<aside class="notes">
E finalmente surgiu o projeto em Python, com Flask.
</aside>
</section>
<section> <section>
<img src="_images/consuela-lemon-pledge.gif" class="stretch"> <img src="_images/consuela-lemon-pledge.gif" class="stretch">
@ -277,6 +291,13 @@
</section> </section>
<!-- Django --> <!-- Django -->
<section>
<img src="_images/tng-troi-cowboy.webp" class="stretch"/>
<aside class="notes">
E em Django.
</aside>
</section>
<section> <section>
<h3>Nova Separação</h3> <h3>Nova Separação</h3>
@ -326,7 +347,7 @@
<section> <section>
<p><code> <p><code>
pip install --break-system-packages pip install <span class="fragment">--break-system-packages</span>
</code></p> </code></p>
</section> </section>
@ -374,6 +395,14 @@
</section> </section>
<section> <section>
<h3>Problema de HTTP:</h3>
<p>
Anos de surras com wget/curl/etc me ensinaram como
autenticar a requisição e como fazer pip sem
precisar que usuário se autentique.
</p>
<aside class="notes"> <aside class="notes">
Por sorte eu sei como URLs funcionam, e sei como fazer Por sorte eu sei como URLs funcionam, e sei como fazer
uma requisição HTTP autenticada que funciona em uma requisição HTTP autenticada que funciona em
@ -383,26 +412,61 @@
<section> <section>
<!-- ferramentas pra python não estão mais sendo escritas em Python (ruff, uv, Pyright) --> <!-- ferramentas pra python não estão mais sendo escritas em Python (ruff, uv, Pyright) -->
<h3>Para Python, não Python:</h3>
<ul> <ul>
<li><code>ruff</code>: Rust</li> <li><code>ruff</code>: Rust</li>
<li><code>uv</code>: Rust</li> <li><code>uv</code>: Rust</li>
<li><code>Pyright</code>: JavaScript</li> <li><code>Pyright</code>: JavaScript</li>
<li>(<code>ruff-ls</code>: Rust)</li>
</ul> </ul>
</section> </section>
<section>
<aside class="notes">
Só pra ter uma ideia: Poetry, que é o primeiro
gerenciador de pacotes pra Python a suportar
o pyproject, costuma entrar em loops e ficar
30 minutos resolvendo dependencias.
O npm é em JavaScript -- JavaScript! -- e resolve
dependencias muitíssimo mais rápido (e olha que é
JS e tudo tem 2000 dependências!)
</aside>
</section>
<!-- parece estar indo pro lado certo, mas extremamente lento (falta de interesse?) --> <!-- parece estar indo pro lado certo, mas extremamente lento (falta de interesse?) -->
<section> <section>
<h3>Algumas melhorias...</h3>
<ul> <ul>
<li>GIL-less Python</li> <li>GIL-less Python</li>
<li>JIT hook</li> <li>JIT hook</li>
</ul> </ul>
<p class="fragment">
Cadê melhor API para integração com C/C++?
</p>
<aside class="notes">
GIL-less Python pode melhorar performance,
mas a gente sabe que o que precisa de performance
está em C, e eles mesmos tem os controles
de threads do lado deles. GIL-less Python
facilita pra integração desses usos
(e não porque vai ser mais rápido em Python)
JIT... De novo, performance vem de C, e
considerando o eco-sistema, é bem difícil
de conseguir alcançar algo parecido com o
que é o Lua -- e muito menos Java, que tem
40 anos de pesquisa em como fazer um JIT.
</aside>
</section> </section>
<section> <section>
<p>Rust:</p> <h3>Rust:</h3>
<ul> <ul>
<li class="fragment">... não me deixa cruzar a rua sem olhar pros dois lados</li> <li class="fragment">... não me deixa cruzar a rua sem olhar pros dois lados</li>
<li class="fragment">... não me deixa sair de moto sem usar capacete</li> <li class="fragment">... não me deixa sair de moto sem usar capacete e protetor</li>
<li class="fragment">... não me deixa tomar banho se não tiver o tapetinho pra não escorregar no chuveiro</li> <li class="fragment">... não me deixa tomar banho se não tiver o tapetinho pra não escorregar no chuveiro</li>
</ul> </ul>
</section> </section>
@ -439,12 +503,12 @@
</div> </div>
</div> </div>
<script src="reveal.js/lib/js/head.min.js"></script> <!-- <script src="reveal.js/lib/js/head.min.js"></script> -->
<script src="reveal.js/js/reveal.js"></script> <!-- <script src="reveal.js/js/reveal.js"></script> -->
<script src="dist/reveal.js"></script>
<script src="plugin/highlight/highlight.js"></script>
<script> <script>
// Full list of configuration options available at:
// https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({ Reveal.initialize({
controls: true, controls: true,
progress: true, progress: true,
@ -455,16 +519,18 @@
transition: 'slide', // none/fade/slide/convex/concave/zoom transition: 'slide', // none/fade/slide/convex/concave/zoom
// Optional reveal.js plugins // Optional reveal.js plugins
dependencies: [ // dependencies: [
{ src: 'reveal.js/lib/js/classList.js', condition: function() { return !document.body.classList; } }, // { src: 'reveal.js/lib/js/classList.js', condition: function() { return !document.body.classList; } },
{ src: 'reveal.js/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }, // { src: 'reveal.js/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'reveal.js/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }, // { src: 'reveal.js/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }, // { src: 'reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
{ src: 'reveal.js/plugin/zoom-js/zoom.js', async: true }, // { src: 'reveal.js/plugin/zoom-js/zoom.js', async: true },
{ src: 'reveal.js/plugin/notes/notes.js', async: true } // { src: 'reveal.js/plugin/notes/notes.js', async: true }
] // ]
}); });
</script> </script>
</body> </body>
</html> </html>
<!-- vim:ts=4:sw=4:sts=4:et -->

Loading…
Cancel
Save