Searching txt.sour.is

Twts matching #Python:
Sort by: Newest, Oldest, Most Relevant

@kiwu@twtxt.net Assembly is usually the most low-level programming language that you can get. Typical programming languages like Python or Go are a thick layer of abstraction over what the CPU actually does, but with Assembler you get to see it all and you get full control. (With lots of caveats and footnotes. 😅)

I’m interested in the boot process, i.e. what exactly happens when you turn on your computer. In that area, using Assembler is a must, because you really need that fine-grained control here.

⤋ Read More

#Processing & #py5 tip:
Remember the shapes you put on draw() will be redrawn over and over, and if they don’t move (leaving a trail) you might want to either clean each frame with background(...), or stop the draw loop (noLoop() in Processing or no_loop() in py5), otherwise you kill the anti-aliasing of the lines :D

”`python
import py5

def setup():

py5.size(200, 200)
py5.stroke_weight(2)
# a line that will drawn once only
py5.line(10, 10, 190, 90)  

def draw():

# you could clean the frame here with background(200)
# this other line will be redrawn many times
py5.line(10, 110, 190, 190) 

def key_pressed():

py5.save('out.png')

py5.run_sketch()

”`

Image

⤋ Read More

#Processing & #py5 tip:
Remember the shapes you put on draw() will be redrawn over and over, and if they don’t move (leaving a trail) you might want to either clean each frame with background(...), or stop the draw loop (noLoop() in Processing or no_loop() in py5), otherwise you kill the anti-aliasing of the lines/strokes/edges!

I’m posting this tip because even using these tools for years and knowing this, today I briefly thought something was odd/broken because my lines were ugly with no “smoothing” :D

”`python
import py5

def setup():

py5.size(200, 200)
py5.stroke_weight(2)
# a line that will drawn once only
py5.line(10, 10, 190, 90)  

def draw():

# you could clean the frame here with background(200)
# this other line will be redrawn many times
py5.line(10, 110, 190, 190) 

def key_pressed():

py5.save('out.png')

py5.run_sketch()

”`

Image

⤋ Read More
In-reply-to » Come back from my trip, run my AoC 2025 Day 1 solution in my own language (mu) and find it didn't run correctly 🤣 Ooops!

Ahh that’s because I forgot to call main() at the end of the source file. mu is a bit of a dynamic programming language, mix of Go(ish) and Python(ish).

$ ./bin/mu examples/aoc2025/day1.mu 
Execution failed: undefined variable readline

⤋ Read More

Using #Python’s #pathlib to compare two repos and get back some missing files from a “recovered” version of a repo (mostly stuff in .gitignore that is handy not to discard right now).

from pathlib import Path

a = Path('sketch-a-day')
b = Path('sketch-a-day_broken')

files_a =  {p.relative_to(a) for p in a.rglob('*')
    if '.git' not in str(p)
    if 'cache' not in str(p)
    if 'checkpoint' not in str(p)
}
files_b =  {p.relative_to(b) for p in b.rglob('*')
    if '.git' not in str(p)
    if 'cache' not in str(p)
    if 'checkpoint' not in str(p)
}
missing = files_b - files_a

for p in missing:
    (b / p).rename((a / p))

⤋ Read More
In-reply-to » Advent of Code 2025 starts tomorrow. 🥳🎄

Alright, Advent of Code is over:

https://www.uninformativ.de/blog/postings/2025-12-12/0/POSTING-en.html

It’s been quite the time sink, especially with the DOS games on top, but it was fun. 🥳

In case you’re wondering: All puzzles (except for part 2 of day 10) were doable in Python 1 on SuSE Linux 6.4 and ran in a finite time on the Pentium 133. Puzzle 10/2 might have been doable as well if I had better education. 🤣

⤋ Read More

It was though year. I finished my PhD, yay! Now, I’m on vacation from my main job, as educator at Sesc, and yesterday I wound down some last freelance work obligations. I really need a break.

I want to rest, make some “prints” of my drawings for friends, go to my local museums and have coffee/tea with friends, and that’s it!

Today we celebrate 18 years of our local #Python users group, #GruPySP, and I’m going to meet friends from #GaroaHackerClube, that’s a great start :)

⤋ Read More
In-reply-to » Advent of Code 2025 starts tomorrow. 🥳🎄

FWIW, day 03 and day 04 where solved on SuSE Linux 6.4:

https://movq.de/v/faaa3c9567/day03.jpg

https://movq.de/v/faaa3c9567/day04%2Dv3.jpg

Performance really is an issue. Anything is fast on a modern machine with modern Python. But that old stuff, oof, it takes a while … 😅

Should have used C or Java. 🤪 Well, maybe I do have to fall back on that for later puzzles. We’ll see.

⤋ Read More
In-reply-to » Advent of Code 2025 starts tomorrow. 🥳🎄

Day 2 was pretty tough on my old hardware. Part 1 originally took 16 minutes, then I got it down to 9 seconds – only to realize later that my solution abused some properties of my particular input. A correct solution will probably take about 30 seconds. 🫤

Part 2 took 29 minutes this morning. I wrote an optimized version but haven’t tested it yet. I hope it’ll be under a minute.

Python 1 feels really slow, even compared to Java 1. And these first puzzles weren’t even computationally intensive. We’ll see how far I’ll make it …

https://movq.de/v/f831d98103/day02.jpg

⤋ Read More

Thinking about doing Advent of Code in my own tiny language mu this year.

mu is:

  • Dynamically typed
  • Lexically scoped with closures
  • Has a Go-like curly-brace syntax
  • Built around lists, maps, and first-class functions

Key syntax:

  • Functions use fn and braces:
fn add(a, b) {
    return a + b
}
  • Variables use := for declaration and = for assignment:
x := 10
x = x + 1
  • Control flow includes if / else and while:
if x > 5 {
    println("big")
} else {
    println("small")
}
while x < 10 {
    x = x + 1
}
  • Lists and maps:
nums := [1, 2, 3]
nums[1] = 42
ages := {"alice": 30, "bob": 25}
ages["bob"] = ages["bob"] + 1

Supported types:

  • int
  • bool
  • string
  • list
  • map
  • fn
  • nil

mu feels like a tiny little Go-ish, Python-ish language — curious to see how far I can get with it for Advent of Code this year. 🎄

⤋ Read More

Advent of Code 2025 starts tomorrow. 🥳🎄

This year, I’m going to use Python 1 on SuSE Linux 6.4, writing the code on my trusty old Pentium 133 with its 64 MB of RAM. No idea if that old version of Python will be fast enough for later puzzles. We’ll see.

Image

⤋ Read More

All my newly added test cases failed, that movq thankfully provided in https://git.mills.io/yarnsocial/twtxt.dev/pulls/28#issuecomment-20801 for the draft of the twt hash v2 extension. The first error was easy to see in the diff. The hashes were way too long. You’ve already guessed it, I had cut the hash from the twelfth character towards the end instead of taking the first twelve characters: hash[12:] instead of hash[:12].

After fixing this rookie mistake, the tests still all failed. Hmmm. Did I still cut the wrong twelve characters? :-? I even checked the Go reference implementation in the document itself. But it read basically the same as mine. Strange, what the heck is going on here?

Turns out that my vim replacements to transform the Python code into Go code butchered all the URLs. ;-) The order of operations matters. I first replaced the equals with colons for the subtest struct fields and then wanted to transform the RFC 3339 timestamp strings to time.Date(…) calls. So, I replaced the colons in the time with commas and spaces. Hence, my URLs then also all read https, //example.com/twtxt.txt.

But that was it. All test green. \o/

⤋ Read More
In-reply-to » FTR, I see one (two) issues with PyQt6, sadly:

@movq@www.uninformativ.de I think I now remember having similar problems back then. I’m pretty sure I typically consulted the Qt C++ documentation and only very rarely looked at the Python one. It was easy enough to translate the C++ code to Python.

Yeah, the GIL can be problematic at times. I’m glad it wasn’t an issue for my application.

⤋ Read More
In-reply-to » There are no really good GUI toolkits for Linux, are there?

FTR, I see one (two) issues with PyQt6, sadly:

  1. The PyQt6 docs appear to be mostly auto-generated from the C++ docs. And they contain many errors or broken examples (due to the auto-conversion). I found this relatively unpleasent to work with.
  2. (Until Python finally gets rid of the Global Interpreter Lock properly, it’s not really suited for GUI programs anyway – in my opinion. You can’t offload anything to a second thread, because the whole program is still single-threaded. This would have made my fractal rendering program impossible, for example.)

⤋ Read More

I’m still looking for people, podcasts, events talking about #Python without assuming everyone is a software developer or a “data scientist”.

Why are data journalists, type designers (Guido’s brother!), Blender wizards, FreeCAD hackers, hobbyist game makers, casual automation buffs, robot tweakers, MicroPython enthusiasts, creative coders, educators, biologists, astronomers and other scientists, consistently ignored?

Are we f*ing invisible? One of Python Brasil keynoters kind of just did that. My heart sank. Other talks, like the Art&FLOSS one, by Jim Schmitz, lessened my pain.

Where is the follow up for that 2017 keynote by Jake VanderPlas?

⤋ Read More

I’m still looking for people, podcasts, events, talking about #Python without assuming everyone is a software developer or a “data scientist”.

Why are data journalists, type designers (Guido’s brother!), Blender wizards, FreeCAD hackers, hobbyist game makers, casual automation buffs, robot tweakers, MicroPython enthusiasts, creative coders, educators, biologists, astronomers and other scientists, consistently ignored?

Are we invisible? One of Python Brasil keynoters kind of just did that. My heart sank. Other talks, like the Art&FLOSS one, by Jim Schmitz, lessened my pain.

Where is the follow up for that 2017 keynote by Jake VanderPlas?

⤋ Read More

Se vocês quiserem presentear alguém com uma coisa diferente… Andei fazendo umas camisetas e canecas com uns desenhos meus:

https://villares-shop.fourthwall.com/ (internacional)
https://umapenca.com/villares/ (Brasil)

Tem coisa sobre as bibliotecas de #Python para computação científica e geometria que eu uso na #ProgramaçãoCriativa e tem também aviãozinho colorido, plantas fractais e uns outros desenhos abstratos, tudo feito usando programação. #shapely #trimesh #numpy #py5 #processing

⤋ Read More
In-reply-to » There are no really good GUI toolkits for Linux, are there?

@movq@www.uninformativ.de Yeah, give it a shot. At worst you know that you have to continue your quest. :-)

Fun fact, during a semester break I was actually a little bored, so I just started reading the Qt documentation. I didn’t plan on using Qt for anything, though. I only looked at the docs because they were on my bucket list for some reason. Qt was probably recommended to me and coming from KDE myself, that was motivation enough to look at the docs just for fun.

The more I read, the more hooked I got. The documentation was extremely well written, something I’ve never seen before. The structure was very well thought out and I got the impression that I understood what the people thought when they actually designed Qt.

A few days in I decided to actually give it a real try. Having never done anything in C++ before, I quickly realized that this endeavor won’t succeed. I simply couldn’t get it going. But I found the Qt bindings for Python, so that was a new boost. And quickly after, I discovered that there were even KDE bindings for Python in my package manager, so I immediately switched to them as that integrated into my KDE desktop even nicer.

I used the Python KDE bindings for one larger project, a planning software for a summer camp that we used several years. It’s main feature was to see who is available to do an activity. In the past, that was done on a large sheet of paper, but people got assigned two activities at the same time or weren’t assigned at all. So, by showing people in yellow (free), green (one activity assigned) and red (overbooked), this sped up and improved the planning process.

Another core feature was to generate personalized time tables (just like back in school) and a dedicated view for the morning meeting on site.

It was extended over the years with all sorts of stuff. E.g. I then implemented a warning if all the custodians of an activitiy with kids were underage to satisfy new the guidelines that there should be somebody of age.

Just before the pandemic I started to even add support for personalized live views on phones or tablets during the planning process (with web sockets, though). This way, people could see their own schedule or independently check at which day an activity takes place etc. For these side quests, they don’t have to check the large matrix on the projector. But the project died there.

Here’s a screenshot from one of the main views: https://lyse.isobeef.org/tmp/k3man.png

This Python+Qt rewrite replaced and improved the Java+Swing predecessor.

⤋ Read More
In-reply-to » There are no really good GUI toolkits for Linux, are there?

@movq@www.uninformativ.de Don’t you worry, this was meant as a joke. :-D

There was a time when I thought that Swing was actually really good. But having done some Qt/KDE later, I realized how much better that was. That were the late KDE 3 and early KDE 4 days, though. Not sure how it is today. But back then it felt Trolltech and the KDE folks put a hell lot more thought into their stuff. I was pleasantly surprised how natural it appeared and all the bits played together. Sure, there were the odd ends, but the overall design was a lot better in my opinion.

To be fair, I never used it from C++, always the Python bindings, which were considerably more comfortable (just alone the possibility to specify most attributes right away as kwargs in the constructor instead of calling tons of setters). And QtJambi, the Java binding, was also relatively nice. I never did a real project though, just played around with the latter.

⤋ Read More

Mathieu Pasquet: slixmpp v1.12
This version is out mostly to provide a stable version with compatibility with the newly released Python 3.14, there are nonetheless a few new things on top.

Thanks to all contributors for this release!

Fixes
  • Bug in MUC self-ping ( XEP-0410) that would create a traceback in some uses
  • Bug in SIMS ( XEP-0447) where all media would be marked as inline
  • Python 3.14 breakage
Features

⤋ Read More

Security updates for Friday
Security updates have been issued by Debian (redis and valkey), Fedora (docker-buildkit, ibus-bamboo, pgadmin4, webkitgtk, and wordpress), Mageia (kernel-linus, kmod-virtualbox & kmod-xtables-addons, and microcode), Oracle (compat-libtiff3 and udisks2), Red Hat (rsync), Slackware (python3), SUSE (chromium, cJSON, digger-cli, glow, go1.24, go1.25, go1.25-openssl, grafana, libexslt0, libruby3_4-3_4, pgadmin4, python311-python-socketio, and squid), and Ubuntu (dpdk, libhtp, v … ⌘ Read more

⤋ Read More

Ubuntu 25.10 released
Ubuntu\
25.10, “Questing Quokka”, has been released. This release includes
Linux 6.17, GNOME 49, GCC 15, Python 3.13.7,
Rust 1.85, and more. This release also features Rust-based
implementations of sudo and coreutils; LWN covered the switch to the
Rust-based tools in March. The 25.10 version of Ubuntu flavors
Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu
Kylin, Ubuntu MATE, Ubun … ⌘ Read more

⤋ Read More

Security updates for Thursday
Security updates have been issued by AlmaLinux (gnutls, kernel, kernel-rt, and open-vm-tools), Debian (chromium, python-django, and redis), Fedora (chromium, insight, mirrorlist-server, oci-seccomp-bpf-hook, rust-maxminddb, rust-prometheus, rust-prometheus_exporter, rust-protobuf, rust-protobuf-codegen, rust-protobuf-parse, rust-protobuf-support, turbo-attack, and yarnpkg), Oracle (iputils, kernel, open-vm-tools, redis, and valkey), Red Hat (perl-File-Find-Rule and perl-File-Find-Rul … ⌘ Read more

⤋ Read More

[$] LWN.net Weekly Edition for October 9, 2025
Inside this week’s LWN.net Weekly Edition:

  • Front: Kernel Rust features; systemd v258, part 2; Cauldron kernel hackers; BPF for GNU tools; 6.18 merge window, part 1; Lifetime-end pointer zapping; Robot Operating System.

  • Briefs: OpenSSH 10.1; Firefox profiles; Python 3.14; U-Boot v2025.10; FSF presidency; Quotes; …

  • Announcements: Newsletters, conferences, security upda … ⌘ Read more

⤋ Read More

Security updates for Wednesday
Security updates have been issued by Fedora (apptainer, civetweb, mod_http2, openssl, pandoc, and pandoc-cli), Oracle (kernel), Red Hat (gstreamer1-plugins-bad-free, iputils, kernel, open-vm-tools, and podman), SUSE (cairo, firefox, ghostscript, gimp, gstreamer-plugins-rs, libxslt, logback, openssl-1_0_0, openssl-1_1, python-xmltodict, and rubygem-puma), and Ubuntu (gst-plugins-base1.0, linux-aws-6.8, linux-aws-fips, linux-azure, linux-azure-nvidia, linux-gke, linux-nvidia-tegra- … ⌘ Read more

⤋ Read More

U-Boot v2025.10 released
Version 2025.10 of the U-Boot boot loader
has been released with new features, including Python tooling improvements,
cleanups for implicit header inclusions, better support for numerous Arm
platforms, support for new RISC-V platforms, better documentation, and
more. Maintainer Tom Rini also reports on some project news:

As I mentioned with the v2025.07
release, I was looking for a few people to step up and help with the
overall organization and management of the project. To that … ⌘ Read more

⤋ Read More

Random musing from a #Python creative coder:

I have this naïve cumbersome thing for dealing with collinear vertices in a polygon (like a vertex in the middle of an edge that doesn’t change the shape of the polygon, and I tried to replace it with some clever #shapely method such as .simplify(…) or .buffer(0) and failed miserably. So I’ll have to keep my home made check-area-every-three-vertices thing for now…

I’m kind of proud of my idea of representing polygons as a set of frozensets of edge vertex pairs because it eliminates all visually equivalent rotations and reverse ordered rotations (that is, if you don’t have pesky collinear vertices).

https://pynews.com.br/@villares/115325020477872857/

⤋ Read More
In-reply-to » @lyse Xfce is nice, but it’s also mostly GTK. I don’t really know the answer yet. For now, I’ll just avoid anything that uses GTK4.

@movq@www.uninformativ.de I never programmed with Tkinter myself and it’s been ages that I ran a program which used it. I always thought that it looks awful. But maybe there are nicer themes these days. I just wanted to give the demo python3 -m tkinter a try, but this module doesn’t exist. I was always under the wrong impression that Tkinter is bundled with Python.

⤋ Read More
In-reply-to » It’s time to say goodbye to the GTK world.

@lyse@lyse.isobeef.org Xfce is nice, but it’s also mostly GTK. I don’t really know the answer yet. For now, I’ll just avoid anything that uses GTK4.

For my own programs, I might have a closer look at Tkinter. I was complaining recently that I couldn’t find a good file manager, so it might be an interesting excercise to write one in Python+Tkinter. 🤔 (Or maybe that’s too much work, I don’t know yet.)

⤋ Read More

Security updates for Friday
Security updates have been issued by AlmaLinux (idm:DL1), Debian (gegl and haproxy), Fedora (ffmpeg, firefox, freeipa, python-pip, rust-astral-tokio-tar, sqlite, uv, webkitgtk, and xen), Oracle (idm:DL1, ipa, kernel, perl-JSON-XS, and python3), Red Hat (git), SUSE (curl, frr, jupyter-jupyterlab, and libsuricata8_0_1), and Ubuntu (linux-aws, linux-lts-xenial, linux-aws-fips, linux-fips, linux-gcp-fips, linux-azure, linux-azure, linux-azure-6.8, linux-fips, linux-gcp-fips, and l … ⌘ Read more

⤋ Read More

Security updates for Thursday
Security updates have been issued by AlmaLinux (perl-JSON-XS), Debian (chromium and openssl), Fedora (bird, dnsdist, firefox, mapserver, ntpd-rs, python-nh3, rust-ammonia, skopeo, sqlite, thunderbird, and xen), Oracle (perl-JSON-XS), Red Hat (kernel, kernel-rt, and libvpx), SUSE (afterburn, cairo, docker-stable, firefox, nginx, python-Django, snpguest, and warewulf4), and Ubuntu (libmspack, libxslt, linux, linux-aws, linux-aws-5.15, linux-gcp, linux-gcp-5.15, linux-gkeop, linu … ⌘ Read more

⤋ Read More

Security updates for Wednesday
Security updates have been issued by AlmaLinux (kernel, kernel-rt, mysql:8.0, and openssh), Debian (libcommons-lang-java, libcommons-lang3-java, libcpanel-json-xs-perl, libjson-xs-perl, libxml2, open-vm-tools, and u-boot), Fedora (bird, dnsdist, mapserver, ntpd-rs, python-nh3, and rust-ammonia), Oracle (kernel and mysql:8.0), Red Hat (cups, postgresql:12, and postgresql:13), SUSE (cJSON-devel, gimp, kernel-devel, kubecolor, open-vm-tools, openssl-1_1, openssl-3, and ruby3.4-ruby … ⌘ Read more

⤋ Read More

Security updates for Tuesday
Security updates have been issued by Debian (python-internetarchive and tiff), Fedora (nextcloud), Oracle (kernel, openssh, and squid), Red Hat (kernel, kernel-rt, and ncurses), SUSE (afterburn and chromium), and Ubuntu (open-vm-tools, ruby-rack, and tiff). ⌘ Read more

⤋ Read More

Amanhã no #SescAvPaulista rola o último encontro do semestre do Grupo de Estudos em #Python (https://hackmd.io/@sesc-av-paulista/estudos-em-python), se quiser participar é só chegar 14h para pegar uma senha grátis. A atividade é das 14h30 às 16h30.

Em outubro vou dar este curso quintas à tarde com 4 encontros:

https://www.sescsp.org.br/programacao/ilustracoes-vetoriais-para-grandes-formatos-com-programacao/

#SescSP #TecnologiasEArtes

Image

⤋ Read More

Salve @elmoneto@elmoneto !

Acho que quero fazer algo parecido com isso aqui, mas a minha incompetência / inexperiência me derruba…

Tenho um geodataframe com praças e parques, e um com massa de vegetação significativa (que peguei no geosampa), queria saber calcular o quanto de cada praça está coberto de vegetação significativa…

https://gis.stackexchange.com/questions/421888/getting-the-percentage-of-how-much-areas-intersects-with-another-using-geopandas

Eu soube fazer um overlay de instersecção, filtrar as com área menor que 100m2 e usar o .explore() pra colorir as massas por área, já fiquei feliz, mas queria mais rsrsrs.

#python #geopandas #geoPython #GIS

⤋ Read More

Salve @elmoneto@elmoneto !

Acho que quero fazer algo parecido com isso aqui, mas a minha incompetência / inexperiência me derruba…

Tenho um geodataframe com praças e parques, e um com massa de vegetação significativa (que peguei no geosampa), queria saber calcular em uma coluna o quanto cada praça está coberta de vegetação significativa…

https://gis.stackexchange.com/questions/421888/getting-the-percentage-of-how-much-areas-intersects-with-another-using-geopandas

Eu soube fazer um overlay de instersecção, filtrar as com área menor que 100m2 e usar o .explore() pra colorir as massas por área, já fiquei feliz, mas queria mais rsrsrs.

#python #geopandas #geoPython #GIS

⤋ Read More

«The Hudson River is flowing through the heart of Times Square this month.
Press play to hear from Marina Zurkow & James Schmitz [@hx2A@mastodon.art] the artists behind ‘The River is a Circle (Times Square Edition)’ - September’s #MidnightMoment, a visual “combination of live data and a matrix of researched information about the Hudson River ecology,” says Zurkow.»

https://www.instagram.com/reel/DO6jbXrEdBG

#CreativeCoding #Processing #Python #py5 #TimesSquare #NYC

⤋ Read More

«Welcome to the #AutomatingGIS processes course! Through interactive lessons and hands-on exercises, this course introduces you to #GeographicDataAnalysis using the #Python programming language. If you are new to Python, we recommend you first start with the Geo-Python course (geo-python.readthedocs.io) before diving into using it for GIS analyses in this course.

Geo-Python and Automating GIS Processes (‘#AutoGIS’) have been developed by the Department of Geosciences and Geography at the University of Helsinki, Finland. The course has been planned and organized by the #DigitalGeographyLab. The teaching materials are openly accessible for anyone interested in learning.»

https://autogis-site.readthedocs.io/en/latest/

#GIS #geoPython #geopandas #shapely #osmnx #networkx

⤋ Read More

«Welcome to the #AutomatingGIS processes course! Through interactive lessons and hands-on exercises, this course introduces you to #GeographicDataAnalysis using the #Python programming language. If you are new to Python, we recommend you first start with the Geo-Python course (geo-python.readthedocs.io) before diving into using it for GIS analyses in this course.

Geo-Python and Automating GIS Processes (‘#AutoGIS’) have been developed by the Department of Geosciences and Geography at the University of Helsinki, Finland. The course has been planned and organized by the #DigitalGeographyLab. The teaching materials are openly accessible for anyone interested in learning.»

https://autogis-site.readthedocs.io/en/latest/

(via Paul Walter no linkedin)

#GIS #geoPython #geopandas #shapely #osmnx #networkx

⤋ Read More

Cheers @mkennedy@mkennedy & @brianokken@brianokken , listening late to @pythonbytes@pythonbytes episode 446, great as usual!

Listening to the JetBrains survey thing I always worry about the sampling bias… All the cool scientists using Python, all the journalists doing data journalism, the urban planners and geospace people, the blender people, the people doing movie post-production pipelines, all the hobbyists… I think the survey doesn’t reach or represent a large chunk of Python users.

⤋ Read More

Adoro esse ponto reforçado pelo @lr, no Python Fluente! Sempre uso uma frase parecida com essa nas minhas aulas!

«Para entender uma atribuição em Python, leia primeiro o lado direito: é ali que o objeto é criado ou recuperado. Depois disso, a variável do lado esquerdo é vinculada ao objeto, como uma etiqueta colada a ele. Esqueça as caixas.»
LR in Python Fluente: Variáveis não são caixas

#Python #PythonFluente #VariáveisNãoSãoCaixas

Image

⤋ Read More

Folks I finally made something I wanted to make for a long time, a T-Shirt design thing.

Available at Rednubble https://www.redbubble.com/i/t-shirt/numpy-shapely-trimesh-and-py5-by-villares/173500912.7H7A9?asc=u

And also available in Brazil at Uma Penca: https://umapenca.com/villares/

You can also buy stickers and other items… soon my “Python Reading Club” and “Python is also for artists!” designs will be available. This will help support my free and open source activities. I make free and open educational resources, I teach at several places and I need to make ends meet.

#python #numpy #shapely #trimesh #py5 #creativeCoding #FLOSS

Image

⤋ Read More

Folks I finally made something I wanted to make for a long time, a T-Shirt design thing.

Available at Redbubble https://www.redbubble.com/i/t-shirt/numpy-shapely-trimesh-and-py5-by-villares/173500912.7H7A9?asc=u

And also available in Brazil at Uma Penca: https://umapenca.com/villares/

You can also buy stickers and other items… soon my “Python Reading Club” and “Python is also for artists!” designs will be available. This will help support my free and open source activities. I make free and open educational resources, I teach at several places and I need to make ends meet.

#python #numpy #shapely #trimesh #py5 #creativeCoding #FLOSS

Image

⤋ Read More

Folks, I finally made something I wanted to make for a long time, a T-Shirt design thing.

Available at Redbubble https://www.redbubble.com/i/t-shirt/numpy-shapely-trimesh-and-py5-by-villares/173500912.7H7A9?asc=u

And also available in Brazil at Uma Penca: https://umapenca.com/villares/

You can also buy stickers and other items… soon my “Python Reading Club” and “Python is also for artists!” designs will be available. This will help support my free and open source activities. I make free and open educational resources, I teach at several places and I need to make ends meet.

#python #numpy #shapely #trimesh #py5 #creativeCoding #FLOSS

Image

⤋ Read More

Interactive demo of #shapely’s centroid for the triangle :)

import py5
from shapely import Polygon, Point

def setup():
    py5.size(400, 400)
    py5.stroke_join(py5.ROUND)
    
def draw():
    py5.background(200)
    pts = ((100, 100), (300, 100),
           (py5.mouse_x, py5.mouse_y))
    xs, ys = zip(*pts)
    cx = sum(xs) / len(xs)
    cy = sum(ys) / len(ys)
    tri = Polygon(pts)
    py5.no_fill()
    py5.stroke_weight(1)
    py5.stroke(0, 200, 0)
    py5.shape(Point(cx, cy).buffer(5))
    py5.stroke(0, 0, 200)
    py5.shape(tri.envelope.buffer(2))
    py5.shape(tri.envelope.centroid.buffer(5))
    py5.stroke_weight(3)
    py5.stroke(0)
    py5.shape(tri)
    py5.fill(0)
    py5.shape(tri.centroid.buffer(2))

py5.run_sketch(block=False)

#py5 #python #creativeCoding

Video

⤋ Read More