I love using #ThonnyIDE, and, on Linux, I can use !pip install, !jupyter lab, and !py5-live-coding mysketch.py on the interactive shell console, I wish this would work on Windows too :(
@bender@twtxt.net gemini-cli, something something https://github.com/google-gemini/gemini-cli/issues/16723
https://github.com/unix-v4-commentary/unix-v4-source-commentary
A comprehensive, line-by-line commentary on the UNIX Fourth Edition source code (released November 1973; tape recovered from June 1974 distribution).
./bin/mu -B -o ... -p muos/amd64 ... target.
@prologic@twtxt.net Iād love to take a look at the code. š
Iām kind of curious to know how much Assembly I need vs. How much of a microkernel can I build purely in Mu (µ)? š¤
Canāt really answer that, because I only made a working kernel for 16-bit real mode yet. That is 99% C, though, only syscall entry points are Assembly. (The OpenWatcom compiler provides C wrappers for triggering software interrupts, which makes things easier.)
But in long mode? No idea yet. š At least changing the page tables will require a tiny little bit of Assembly.
Took me nearly all week (in my spare time), but Mu (µ) finally officially support linux/amd64 š„³ I completely refactored the native code backend and borrowed a lot of the structure from another project called wazero (the zero dependency Go WASM runtime/compiler). This is amazing stuff because now Mu (µ) runs in more places natively, as well as running everywhere Go runs via the bytecode VM interpreter š¤
tcell.Key constants and typing different key combinations in the terminal to see the generated tcell.EventKeys in the debug log. Until I pressed Ctrl+Alt+Backspace⦠:-D Yep, suddenly there went my Xā¦
And tcell seems to support my urxvt in general: https://github.com/gdamore/tcell/blob/v2/terminfo/r/rxvt/term.go#L144
Iām trying to implement configurable key bindings in tt. Boy, is parsing the key names into tcell.EventKeys a horrible thing. This type consists of three information:
- maybe a predefined compound key sequence, like Ctrl+A
- maybe some modifiers, such as Shift, Ctrl, etc.
- maybe a rune if neither modifiers are present nor a predefined compound key exists
Itās hardcoded usage results in code like this:
func (t *TreeView[T]) InputHandler() func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
return t.WrapInputHandler(func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
switch event.Key() {
case tcell.KeyUp:
t.moveUp()
case tcell.KeyDown:
t.moveDown()
case tcell.KeyHome:
t.moveTop()
case tcell.KeyEnd:
t.moveBottom()
case tcell.KeyCtrlE:
t.moveScrollOffsetDown()
case tcell.KeyCtrlY:
t.moveScrollOffsetUp()
case tcell.KeyTab, tcell.KeyBacktab:
if t.finished != nil {
t.finished(event.Key())
}
case tcell.KeyRune:
if event.Modifiers() == tcell.ModNone {
switch event.Rune() {
case 'k':
t.moveUp()
case 'j':
t.moveDown()
case 'g':
t.moveTop()
case 'G':
t.moveBottom()
}
}
}
})
}
This data structure is just awful to handle and especially initialize in my opinion. Some compound tcell.Keys are mapped to human-readable names in tcell.KeyNames. However, these names always use - to join modifiers, e.g. resulting in Ctrl-A, whereas tcell.EventKey.Name() produces +-delimited strings, e.g. Ctrl+A. Gnaarf, why this asymmetry!? O_o
I just checked k9s and theyāre extending tcell.KeyNames with their own tcell.Key definitions like crazy: https://github.com/derailed/k9s/blob/master/internal/ui/key.go Then, they convert an original tcell.EventKey to tcell.Key: https://github.com/derailed/k9s/blob/b53f3091ca2d9ab963913b0d5e59376aea3f3e51/internal/ui/app.go#L287 This must be used when actually handling keyboard input: https://github.com/derailed/k9s/blob/e55083ba271eed6fc4014674890f70c5ed6c70e0/internal/ui/tree.go#L101
This seems to be much nicer to use. However, I fear this will break eventually. And itās more fragile in general, because itās rather easy to forget the conversion or one can get confused whether a certain key at hand is now an original tcell.Key coming from the library or an āextendedā one.
I will see if I can find some other programs that provide configurable tcell key bindings.
@movq@www.uninformativ.de Sorry, I meant the builtin module:
$ python3 -m pep8 file.py
/usr/lib/python3/dist-packages/pep8.py:2123: UserWarning:
pep8 has been renamed to pycodestyle (GitHub issue #466)
Use of the pep8 tool will be removed in a future release.
Please install and use `pycodestyle` instead.
$ pip install pycodestyle
$ pycodestyle ...
I canāt seem to remember the name pycodestyle for the life of me. Maybe thatās why I almost never use it.
@lyse@lyse.isobeef.org Itās not super comfortable, thatās right.
But these mouse events come with a caveat anyway:
ncurses uses the XM terminfo entry to enable mouse events, but it looks like this entry does not enable motion events for most terminal emulators. Reporting motion events is supported by, say, XTerm, xiate, st, or urxvt, it just isnāt activated by XM. This makes all this dragging stuff useless.
For the moment, I edited the terminfo entry for my terminal to include motion events. That canāt be a proper solution. Iām not sure yet if Iām supposed to send the appropriate sequence manually ā¦
And the terminfo entries for tmux or screen donāt include XM at all. tmux itself supports the mouse, but Iām not sure yet how to make it pass on the events to the programs running inside of it (maybe thatās just not supported).
To make things worse, on the Linux VT (outside of X11 or Wayland), the whole thing works differently: You have to use good old gpm to get mouse events (gpm has been around forever, I already used this on SuSE Linux). ncurses does support this, but this is a build flag and Arch Linux doesnāt set this flag. So, at the moment, Iām running a custom build of ncurses as a quick hack. š And this doesnāt report motion events either! Just clicks. (I donāt know if gpm itself can report motion events, I never used the library directly.)
tl;dr: The whole thing will probably be ākeyboard firstā and then the mouse stuff is a gimmick on top. As much as Iād like to, this isnāt going to be like TUI applications on DOS. Iāll use āWindowsā for popups or a multi-window view (with the āWindowManagerā being a tiny little tiling WM).
Hey folks! We have recently had a wonderful new release of #py5, read about the new 3D trimesh integration feature and the matplotlib TextPath integration.
That release was quickly followed by a release to fix some small issues that surfaced this last week. Please check out py5 0.10.9a1 and join us at https://github.com/py5coding/py5generator/discussions to share your experiences!
#CreativeCoding #Processing #Python #genuary (sorry for the hashtag spamming, I couldnāt resist!)
httpd now sends the Last-Modified with UTC instead of GMT. Current example:
@lyse@lyse.isobeef.org Itās already fixed:
https://github.com/openbsd/src/commit/668f1f05e71c5e979d278f1ad4568956226715ea
Question is when that fix will land. š
On my way to having windows and mouse support:
https://movq.de/v/95bbbbd3e8/basic-windows.mp4
It would be cool to have something like Turbo Vision eventually.
(I considered just using Turbo Vision, but itās a C++ library and thatās not quite what Iām looking for. But itās not yet completely off the table.)
Well, you girls and guys are making cool things, and I have some progress to show as well. š
https://movq.de/v/c0408a80b1/movwin.mp4
Scrolling widgets appears to work now. This is (mostly) Unicode-aware: Note how emojis like āš ā are double-width ācharactersā and the widget system knows this. It doesnāt try to place a āš ā in a location where thereās only one cell available.
Same goes for that weird āƤā thingie, which is actually āaā followed by U+0308 (a combining diacritic). Python itself thinks of this as two ācharactersā, but they only occupy one cell on the screen. (Assuming your terminal supports this ā¦)
This library does the heavy Unicode lifting: https://github.com/jquast/wcwidth (Take a look at its implementation to learn how horrible Unicode and human languages are.)
The program itself looks like this, itās a proper widget hierarchy:
https://movq.de/v/1d155106e2/s.png
(There is no input handling yet, hence some things are hardwired for the moment.)
$HOME is not specified it tries to resolve the user's home directory by user.Current().HomeDir. Maybe that's overkill, I have to check the XDG spec.
Ok, the standard library implementation is wonky at best, at least in regards to XDG, because it really doesnāt implement it properly. https://github.com/golang/go/issues/62382 I stick to my own code then. It doesnāt properly support anything else than Linux or Unixes that use XDG, but personally, I donāt care about them anyway. And the cross-platform situation is a giant mess. Unsurprisingly.
If your very popular project with lots of stars on GitHub is over 10 years old, and youāre still at a pre-1.0 version because youāre using SemVer and a 1.0 would mean making some kind of commitment and thatās somehow not desirable for you, then I think youāre doing something wrong. š¤
Got a nice conspiracy theory for you:
https://mastodon.social/@mcc/115670290552252848
Actually wait I just thought about this and realized that the precise timing of the ACTUAL GitHub seed bank, by which I mean the Arctic Code Vault, on 2020-02-02, makes it more or less a perfect snapshot of pre-Copilot GitHub. Also precisely timed before we all got brain damage from COVID. This is the only remaining archive of source code by people with a fully working sense of smell
(Bonus points because the Arctic World Archive is located in Svaldbard and thatās the name of the AI in Stacey Kadeās āCold Eternityā.)
H⦠Ho⦠How have I not heard about vim-tagbar before? š³
@shinyoukai@neko.laidback.moe is that https://github.com/owncloud/ocis (Go based, instead of PHP š¤®)?
So, is there anyone here doing stuff with #InventFramework?
@aelaraji@aelaraji.com I think Iāll just end up using the Official CrowdSec Go library š¤
@movq@www.uninformativ.de unison seems pretty fast for me, and quite nice looking on my macOS desktop. Itās bsed on GLFW, but it seems to work quite well š¤
Rolando hoje o segundo dia do evento #Compoetica2025 online e presencial Ć tarde no @garoa@garoa em SĆ£o Paulo.
Programação completa em https://compoetica.github.com
Transmissão em https://www.youtube.com/@compoetica
#ProgramaçãoCriativa #py5 #p5js #ML5 #Processing #SDL #Algorave #hackerspace #Brasil #SãoPaulo
** ā¦but I can do that with regex? **
The other day a co-worker showed me a project that seemed genuinely useful, but I didnāt love some bits of how complicated and resource intensive its architecture were, so, I made my own version of it! Check out diff heatmap.
Your browser does not support the video tag. You are rad as hell.
As an aside, I put this one on github which I donāt generally choose to use for personal projects, but Iād love to see folks contribute rules to this projec ⦠ā Read more
#CompoƩtica #CompoƩtica2025
Encontro Brasileiro de #ProgramaçãoCriativa
Vai ser agora sƔbado e domingo, 1 e 2 de novembro:
https://compoetica.github.io/hotsite/?evento=EV_2025
Domingo tem atividades no
#GaroaHackerClube #Algorave
#CompoƩtica #CompoƩtica2025
Encontro Brasileiro de #ProgramaçãoCriativa
Vai ser agora sƔbado e domingo, 1 e 2 de novembro:
https://compoetica.github.io/hotsite/?evento=EV_2025
Domingo tem atividades no
#GaroaHackerClube #Algorave
XMPP Interop Testing: Putting NTA 7532 to the Test (Literally)
You might have seen the XMPP Standards Foundationās open letter to NEN about NTA 7532, the Dutch effort to standardise secure healthcare chat. Itās a good read, and, as it happens, right up our street.
If youāre building a chat system that has to actually talk to someone elseās chat system (and keep doctors happy while doing it), youāll kno ⦠ā Read more
man and it calls home to see if I'm allowed to do that.
Because OP twtxt seems to be a cross-post from the Fediverse, I am bringing some context here. It refers to this GitHub issue. This comment explains why the issue described is happening:
This is usually due to notarization checks. E.g. the binaries are checked by the notarization service (āXProtectā) which phones home to Apple. Depending on your network environment, this can take a long time. Once the executable has been run the results are usually cached, so any subsequent startup should be fast.
OP network must be running on 1,200 Baud modem, or less. š¤ I have never, ever, experienced any distinguishable delays.
Microsoft Adding AI Facial Recognition, āYou can only turn off 3 times a year.ā
Al Notepad, Al Paint, Al Excel, Al Word, Al GitHub⦠ā Read more
DebDroid - Debian on Android (v1.1)
Hello guys! Iām happy to share DebDroid, a free and open-source project that aims to bring a real Debian environment to Android devices. It is not Termux-based, nor a simple proot-based wrapper, but a real, near-native chroot environment running on top of the Android kernel.
The project is built around a heavily modified version of the Kali Nethunterās script Iāve developed 3 years ago. This new version (DebDroid) brings greatly improved security, isolation and additional compatibility patch ⦠ā Read more
lavandula: A fast, lightweight web framework in C for building modern web applications
Comments ā Read more
How to Add MCP Servers to Claude Code with Docker MCP Toolkit
AI coding assistants have evolved from simple autocomplete tools into full development partners. Yet even the best of them, like Claude Code, canāt act directly on your environment. Claude Code can suggest a database query, but canāt run it. It can draft a GitHub issue, but canāt create it. It can write a Slack message,⦠ā Read more
How GitHub Copilot enabled accessibility governance process improvements in record time
See how we turned weekly accessibility grade signals into an automated, accountable remediation workflowāpowered by GitHub Copilot and crossāfunctional collaboration.
The post [How GitHub Copilot enabled accessibility governance process improvements in record time](https://github.blog/ai-and-ml/github-copilot/how-we-automated-accessibility-compliance-in-five-h ⦠ā Read more
How a top bug bounty researcher got their start in security
For this yearās Cybersecurity Awareness Month, the GitHub Bug Bounty team is excited to feature another spotlight on a talented security researcher ā @xiridium!
The post How a top bug bounty researcher got their start in security appeared first on The GitHub Blog. ā Read more
[$] Highlights from systemd v258: part two
Systemd\āØv258 was released on SeptemberĀ 17 after more than nine months
of development. LWN has already covered some of the
features and changes being readied for v258 before it was final. Now
that the release is out, it is time to look at more of what came in
v258, including a sandbox shell, new boot options, service-level disk
quotas, and enhancements to systemd-resolved. ā Read more
The developer role is evolving. Hereās how to stay ahead.
AI is changing how software gets built. Explore the skills you need to keep up and stand out.
The post The developer role is evolving. Hereās how to stay ahead. appeared first on The GitHub Blog. ā Read more
cargo-subspace: Make rust-analyzer work better with very large cargo workspaces
Let me preface all of this by saying that rust-analyzer is an amazing project, and I am eternally grateful for the many people who contribute to it! It makes developing rust code a breeze, and it has surely significantly contributed to Rustās widespread adoption.
If youāve ever worked with a very large cargo workspace (think hundreds of crates), you know that rust-analyzer eagerly builds compile time dependencies (e.g. proc macros) and index ⦠ā Read more
I know good people who work at Microsoft (like Guido van Rossum and Pamela Fox) but I donāt trust MS a iota. Making Processing work on VS Code⦠I donāt know if I like it. It leads people to a tool too much under MS control. I guess VS Code is too big to fail now?
I know about VS Codium⦠also, Iām struggling to move my stuff out of GitHub.
url metadata field unequivocally treated as the canon feed url when calculating hashes, or are they ignored if they're not at least proper urls? do you just tolerate it if they're impersonating someone else's feed, or pointing to something that isn't even a feed at all?
(#abcdefghijkl https://example.com/tw.txt#:~:text=2025-10-01T10:28:00Z), because it can be simply hacked in to clients currently on hashv1 and provides an off-ramp to location-based addressing
I like that property (an off-ramp to location-based addressing), so I think I could live with that approach. ā
(Iām not sure why weāre using text fragments, though. Wouldnāt that link to the first occurence of 2025-10-01T10:28:00Z? Thatās not necessarily correct. And, to be proper URLs that Firefox and Chromium understand, it would also need to be written as 2025%2D10%2D01T10:28:00Z. The dash carries meaning, sadly. I think all this just creates needless complication. How about we just go with https://example.com/tw.txt#2025-10-01T10:28:00Z?)
What is ācom.github.squirrelā on the Mac?
If youāre a Mac user who watches system resource use by keeping an eye on Activity Monitor, htop, top, or any other monitor of deeper system processes, you may have seen a process called ācom.github.squirrelā and wondered what it is, and perhaps even wondered if itās bad. Is it dangerous or malware? github.squirrel has a ⦠Read More ā Read more
Spec-driven development: Using Markdown as a programming language when building with AI
I coded my latest app entirely in Markdown and let GitHub Copilot compile it into Go. This resulted in cleaner specs, faster iteration, and no more context loss. āØ
The post [Spec-driven development: Using Markdown as a programming language when building with AI](https://github.blog/ai-and-ml/generative-ai/spec-driven-development-using-markdown-as-a-p ⦠ā Read more
[$] Linting Rust code in the kernel
Klint is a Rust compiler extension
developed by Gary Guo to run some
kernel-specific lint rules, which may also be useful for embedded system
development. He spoke about his
recent work on the project at
Kangrejos 2025. The next day, Alejandra GonzƔlez
led a discussion about Rustās normal linter,
Clippy. The two tools ⦠ā Read more
CodeQL zero to hero part 5: Debugging queries
Learn to debug and fix your CodeQL queries.
The post CodeQL zero to hero part 5: Debugging queries appeared first on The GitHub Blog. ā Read more
Hi everyone, hereās a little introduction of my twtxt client (still WIP).
The client Iām developing is a single tenant project that runs entirely in the browser (it might use an optional backend).
Itās entirely based on native web-components and vanilla JS, it is designed to act closer to a toolkit than a full-fledged client, allowing users to āDIYā their own interface with pure html or plain javascript functions.
Users can also build their own engines by including a global javascript object that implement the defined internal API (TBD).
Iām planning to build a system that is easy enough to build and use with any skill level, using only pure html (with a homebrew minimal template engine) or via plain JS (Iāll be also providing some pre-made templates too).
Everything can be self-hosted on any static hosting provider, this allows to spread twtxt within communities like Neocities and similarly hosted websites (basically any Indieweb/Smallweb/Digital garden website and any of the common GitHub/Lab/Berg/lify Pages).
It will be probably named something like TxtCraft or craf.txt but Iām not really sure yet⦠š¤ (Maybe some suggestions could help)
Iām still in the experimental phase, so thereās no decent source-code to share yet, but it will soon enough!
XMPP Interop Testing: Two New Features for Clearer Testing
Weāve just released version 1.7.1 of all of our test runners. This release adds two improvements to make interop testing
both stricter and easier to set up!
Some tests canāt be executed if the server lacks required features. Previously, these āimpossibleā tests were skipped,
which could make a run look fully successful when it wasnāt. Now you can configure the suite to treat impossible t ⦠ā Read more
How GitHub protects developers from copyright enforcement overreach
Why the U.S. Supreme Court case Cox v. Sony matters for developers and sharing updates to our Transparency Center and Acceptable Use Policies.
The post How GitHub protects developers from copyright enforcement overreach appeared first on [The Gi ⦠ā Read more
Kicking off Cybersecurity Awareness Month 2025: Researcher spotlights and enhanced incentives
For this yearās Cybersecurity Awareness Month, GitHubās Bug Bounty team is excited to offer some additional incentives to security researchers!
The post [Kicking off Cybersecurity Awareness Month 2025: Researcher spotlights and enhanced incentives](https://github.blog/security/vulnerability-research/kicking-off-cybersecurity-aware ⦠ā Read more
Building beyond the browser: Keeley Hammond on Electron, open source, and the future of maintainership
Learn what it really takes to sustain one of the webās most widely used frameworks on this episode of the GitHub Podcast.
The post [Building beyond the browser: Keeley Hammond on Electron, open source, and the future of maintainership](https://github.blog/open-source/maintainers/building-beyond-the-browser-keeley-hammond-o ⦠ā Read more
GitHub Copilot gets smarter at finding your code: Inside our new embedding modelĀ
Learn about a new Copilot embedding model that makes code search in VS Code faster, lighter on memory, and far more accurate.
The post GitHub Copilot gets smarter at finding your code: Inside our new embedding model appeared first on The GitHub Blog. ā Read more
Using AI to map hope for refugees with UNHCR, the UN Refugee Agency
With the help of GitHub, UNHCR turned drone imagery into maps ā helping refugees in Kakuma and Kalobeyei build sustainable, powered communities.
The post Using AI to map hope for refugees with UNHCR, the UN Refugee Agency appeared first on [The GitHub Blog](https://github. ⦠ā Read more
A step-by-step guide to modernizing Java projects with GitHub Copilot agent mode
Learn how to use GitHub Copilot agent mode to modernize legacy Java projects with guided upgrades, automated fixes, and cloud-ready migrations.
The post A step-by-step guide to modernizing Java projects with GitHub Copilot agent mode ⦠ā Read more
Our plan for a more secure npm supply chain
Addressing a surge in package registry attacks, GitHub is strengthening npmās security with stricter authentication, granular tokens, and enhanced trusted publishing to restore trust in the open source ecosystem.
The post Our plan for a more secure npm supply chain appeared first on The GitHub Blog. ā Read more
Gartner positions GitHub as a Leader in the 2025 Magic Quadrant for AI Code Assistants for the second year in a row
Our commitment is to empower every developer and stay true to our north star by building an open, secure, and AI-powered platform that defines the future of software development.
The post [Gartner positions GitHub as a Leader in the 2025 Magic Quadrant for AI Code Assistants for the second yea ⦠ā Read more
nicks? i remember reading somewhere whitespace should not be allowed, but i don't see it in the spec on twtxt.dev ā in fact, are there any other resources on twtxt extensions outside of twtxt.dev?
@zvava@twtxt.net @movq@www.uninformativ.de Iām not entirely sure about the spaces, but maybe they were omitted to simplify parsing of mentions in the form of @<nick url>. If the next token after the @<nick does not look like a URL, itās not a mention but regular text. This is just wild guessing, though.
Looking at the regex and tests in the original twtxt reference implementation seems to confirm that theory in the sense as it relies on whitespace as the delimiter:
https://lyse.isobeef.org/tmp/screenshot-2025-09-17-21-30-25.png
Another thing about nicks is that the original twtxt reference implementation converts nicks to all lowercase:
https://lyse.isobeef.org/tmp/screenshot-2025-09-17-21-20-39.png
You probably know this already, the original twtxt file format specification can be found here: https://twtxt.readthedocs.io/en/latest/user/twtxtfile.html
As for extensions, I donāt know of anything outside of twtxt.dev that has actually been (partially) implemented. However, there is also the issue tracker of the official reference implementation. You might wanna dig through that. For example, there is an alternative suggestions of multiline messages: https://github.com/buckket/twtxt/issues/157
@kat@yarn.girlonthemoon.xyz, this one, regarding āAnubisā (which I believe you use, right?): https://github.com/eternal-flame-AD/pow-buster
@kat@yarn.girlonthemoon.xyz, see this one, regarding āAnubisā (which I believe you use, right?): https://github.com/eternal-flame-AD/pow-buster
Ignite Realtime Blog: Openfire 5.0.2 release!
The IgniteRealtime community is happy to announce a new release of its open source, real-time communications server server Openfire! Version 5.0.2 brings a number of stability improvements and bug fixes.
Notably, it addresses a recently identified security vulnerability, identifies as CVE-2025-59154. The issue allows for potential identity spoofing via unsafe Common Nam ⦠ā Read more
I ācreated two issuesā today on #Processing, no I didnāt introduce new bugs I just wrote two bug reports :)
https://github.com/processing/processing4/issues/1243
XMPP Interop Testing: Lots More Options
Since the last update, weāve added a lot more options on how to run your tests. Weāve added a slew of new CI systems, this time focussing on freedom-respecting, open source CI systems for your open source projects.
Recent additions include Jenkins, Drone, Harness and Woodpecker.
This brings our total number of CI systems in which you can run XMPP interop tests up to a whopping ELEVEN, plus anywhere else you can run containers!
Whether youāre building ⦠ā Read more
@lyse@lyse.isobeef.org You might enjoy this one: https://github.com/TheMozg/awk-raycaster
Wooaahh, my goodness, this is completely crazy! :-D https://gist.github.com/Keith-S-Thompson/6920347
Thereās always something more urgent: Iāve been known for a long time that sooner or later Iād feel prompted to switch from #github to somewhere else (since 2018 at least!), but Iāve been postponing and only very slowly flirting with the idea⦠That didnāt work too bad for me: if I had rushed into it I would have probably migrated to #gitlab, before knowing about the more objectionable sides to it. In the end, 2025 was the year I finally acted upon the urge to move. I did not do a very thorough analysis of the alternative hosts - what I have been reading about them along the years felt enough, and I easily decided to choose #codeberg. Being hasty like that, alas, was a mistake: I just now found - during this slow and time-consuming process of deciding what and how to migrate - that there is a low repository limit on codeberg: āThe owner has already reached the limit of 100 repositories.ā Iām not complaining, mind you, and those ālucky 100ā that are already there will stay - at least as a sort of backup. But this means that codeberg is not for me - and so this time I turn to you, the #mastodon community.
What github alternative, not self-hosted, should I move my >100 projects into?
#Pyxel is a retro inspired #GameEngine for #Python, itās very impressive!
Itās not hard to generate a static HTML page that loads your game to run on the browser with #pyodide (WASM). And it comes with an assets editor and a #chiptune making tool.
@prologic@twtxt.net Hereās one: https://github.com/vmykh/printer_labs/blob/master/escp2ref.pdf
In order to publish my personal projects/pages (and most of my teaching materials, hundreds of pages) on #Codeberg, I need to convert #markdown files into #HTML and sprinkle some CSS & JS from a layout template, like #GitHubās Pages #Jekyll does, but I dread the complexity of installing and tending to Jekyll or Hugo or other static site generators, and I canāt even imagine going near Forejo Actions or any sort of CI intergration.
Should I be brave and do the Jekyll /static generator thing? Any other ideas for poor, overworked, stressed out, clumsy people? :(
Help needed⦠can the #CodebergPages of #codeberg repos become subdirs of the āmainā custom domain?
htts://villares.lugaralgum.com is published from a pages repo on codeberg.org /villares/pages
Can my /villares/other_repo/ page (from a pages branch I suppose) be published at villares.lugaralgum.com/other_repo ?
(this is how GitHub Pages work by default, can it be replicated on Codeberg?)
Help needed⦠can the #CodebergPages of #codeberg repos become subdirs of the āmainā custom domain?
Currently https://villares.lugaralgum.com is published from a pages repo on https://codeberg.org/villares/pages
Can my /villares/other_repo/ page (from a pages branch I suppose) be published at villares.lugaralgum.com/other_repo ?
(this is how GitHub Pages work by default, can it be replicated on Codeberg?)
A library to help use the #Beholder system of webcam detected markers with #p5js
A library to help use the #Beholder system of webcam detected markers with #p5js (made by https://enric.llagostera.com.br/)
Updating my #Processing + #Python tools table:
After some years, things changed and my opinions changed a bit too:
#py5 is going supper strong and the ānew snake_case namesā are not an issue for me anymore. I used to worry a lot about all the Processing Python mode examples and teaching materials out there, and some of my own, with āCamelCase Processing namesā Iām not worried at all about it anymore!
For the record, Processing Python mode is just a legacy thing, no one should start anything with it.
The great pure Python Processing implementation project #p5py seems stalled, latest release in Dec. 2023 :((( Advancing it was always going to be an uphill battleā¦
The unrelated Brython based site
p5py.comseems to be gone, so I removed it from the table.I added a link to my own #pyp5js hack py5pjs/py5mode because this is what Iām using most nowadays.
Updating my #Processing + #Python tools table:
After some years, things changed and my opinions changed a bit too:
#py5 is going super strong and the ānew snake_case namesā are not an issue for me anymore. I used to worry a lot about all the Processing Python mode examples and teaching materials out there, and some of my own, with āCamelCase Processing namesā Iām not worried at all about it anymore!
For the record, Processing Python mode is just a legacy thing, no one should start anything with it.
The great pure Python Processing implementation project #p5py seems stalled, latest release in Dec. 2023 :((( Advancing it was always going to be an uphill battleā¦
The unrelated Brython based site
p5py.comseems to be gone, so I removed it from the table.I added a link to my own #pyp5js hack py5pjs/py5mode because this is what Iām using most nowadays.
Updating my #Processing + #Python tools table:
After some years, things changed and my opinions changed a bit too:
#py5 is going super strong and the ānew snake_case namesā are not an issue for me anymore. I used to worry a lot about all the Processing Python mode examples and teaching materials out there, and some of my own, with āCamelCase Processing namesā Iām not worried at all about it anymore!
For the record, Processing Python mode is just a legacy thing, no one should start anything with it.
The great āpure Pythonā (no Java required) Processing implementation project #p5py seems stalled, latest release in Dec. 2023 :((( Advancing it was always going to be an uphill battleā¦
The unrelated Brython based site
p5py.comseems to be gone, so I removed it from the table.I added a link to my own #pyp5js hack py5pjs/py5mode because this is what Iām using most nowadays.
Updating my #Processing + #Python tools table:
After some years, things changed and my opinions changed a bit too:
#py5 is going super strong and the ānew snake_case namesā are not an issue for me anymore. I used to worry a lot about all the Processing Python mode examples and teaching materials out there, and some of my own, with āCamelCase Processing namesā Iām not worried at all about it anymore!
For the record, Processing Python mode is just a legacy thing, no one should start anything new with it.
The great āpure Pythonā (no Java required) Processing implementation project #p5py seems stalled, latest release in Dec. 2023 :((( Advancing it was always going to be an uphill battleā¦
The unrelated #Brython based site
p5py.comseems to be gone, so I removed it from the table.I added a link to my own #pyp5js hack py5pjs/py5mode because this is the version of pyp5js Iām using most nowadays.
#GitHub is becoming unusable! Images on discussions no longer load for me most of the time, posts keep loading infinitely and it breaks the reply feature⦠Iām really pissed by this. Is it just me? Does it think Iām a bloody AI scraper bot or something? What the hell.
DeprecationWarning: 'mode' parameter is deprecated and will be removed in Pillow 13 (2026-10-15)
img1 = PIL.Image.fromarray(my_array, mode="RGB")
So I went to see the documentation:
https://hugovk-pillow.readthedocs.io/en/latest/reference/Image.html#PIL.Image.fromarray
And came out empty handed, that is, couldnāt understand what to do instead :(
And the plot thickens:
https://github.com/python-pillow/Pillow/pull/9063
(@py5coding I guess youāll want to check this out at some point. py5_tools.animated_gif uses this)
DeprecationWarning: 'mode' parameter is deprecated and will be removed in Pillow 13 (2026-10-15)
img1 = PIL.Image.fromarray(my_array, mode="RGB")
So I went to see the documentation:
https://hugovk-pillow.readthedocs.io/en/latest/reference/Image.html#PIL.Image.fromarray
And came out empty handed, that is, couldnāt understand what to do instead :(
And the plot thickens (this affects many projects, there are some workarounds, but some argument about ārevertingā this change allowing some āmodeā on import):
https://github.com/python-pillow/Pillow/pull/9063
(@py5coding@py5coding I guess youāll want to check this out at some point. py5_tools.animated_gif uses mode=āRGBā)
#Pillow #PIL #Python
On Image.fromarray():
DeprecationWarning: 'mode' parameter is deprecated and will be removed in Pillow 13 (2026-10-15)
img1 = PIL.Image.fromarray(my_array, mode="RGB")
So I went to see the documentation:
https://hugovk-pillow.readthedocs.io/en/latest/reference/Image.html#PIL.Image.fromarray
And came out empty handed, that is, couldnāt understand what to do instead :(
And the plot thickens (this affects many projects, there are some workarounds, but some argument about ārevertingā this change allowing some āmodeā on import):
https://github.com/python-pillow/Pillow/pull/9063
(@py5coding@py5coding I guess youāll want to check this out at some point. py5_tools.animated_gif uses mode=āRGBā)
@lyse@lyse.isobeef.org we NEED syntax highlighting in our man pages!!!! (FWIW i think bat can do that lol)
#GitHub #GitHubPages #fail This is driving me madā¦
Images randomly deciding not to load on all my pages.
Is it just me? Is it my browserās fault? Is it just in Brazil?
I was working on this #shapely + #trimesh page⦠and I can only see the last image (the animated gif)!
https://abav.lugaralgum.com/material-aulas/Processing-Python-py5/shapely-e-trimesh.html