home.social

Search

1000 results for “OL_Plus”

  1. Ökonomen rechnen damit, dass steigende Öl- und Gaspreise die Inflation im Euroraum deutlich anheizen. An den Märkten steigt bereits die Wette auf eine Zinserhöhung im Jahr 2026.#Inflation #EZB
    Wie stark könnte die Teuerung in Europa bei Iran-Krieg steigen?
  2. Geben steigende Öl- und Gaspreise der Inflation neuen Schub?

    Der Iran-Krieg lässt die Energiepreise steigen. Das weckt Erinnerungen an den Preisschock 2022. Ökonomen warnen vor einem Inflationsschub in Europa. Die EZB dürfte dann schnell reagieren. Von Angela Göpfert.

    ➡️ tagesschau.de/wirtschaft/konju

    #Inflation #Ölpreis #Gaspreis #IranKrieg #EZB #Energie

  3. Marktbericht: Warten auf die Friedensverhandlungen

    Der DAX hat eine stürmische Woche wenig verändert beendet. Im Vorfeld der Friedensgespräche in Pakistan am Wochenende wagten sich die Anleger nur kurzzeitig aus der Deckung.

    ➡️ tagesschau.de/wirtschaft/finan

    #Marktbericht #Dow #DAX #Öl #Friedensverhandlungen

  4. Marktbericht: Verhaltener DAX-Start

    Vor den am Samstag startenden Verhandlungen zwischen Iran und den USA wagen sich deutsche Anleger vorerst kaum aus der Deckung. Dazu bremsen aktuelle Inflationsdaten den Optimismus.

    ➡️ tagesschau.de/wirtschaft/finan

    #Marktbericht #Dow #DAX #Öl #Friedensverhandlungen

  5. Marktbericht: Die Kurse steigen, die Öl-Angst bleibt

    An den Finanzmärkten setzen die Akteure auf die morgen startenden Verhandlungen zwischen Iran und den USA. Sie hoffen darauf, dass es in dem Krieg zu einer tragfähigen und dauerhaften Lösung kommt.

    ➡️ tagesschau.de/wirtschaft/finan

    #Marktbericht #Dow #DAX #Öl #Friedensverhandlungen

  6. 🚀🤡 Oh, look at #Palantir, the tech company with delusions of grandeur, now yearning for the good ol’ days of mandatory #conscription. Because, obviously, nothing says "innovative" like dragging unwilling recruits into the 21st-century #battlefield. 👨‍💻🔫
    reason.com/2026/04/20/this-big #TechInnovation #MandatoryDraft #HackerNews #ngated

  7. Mijn kat vind dit ook een fascinerende video. Als het maar beweegt en kleurtjes heeft :-)

    Grieg, Morgenstemming en Anitra's Dance uit de Peer Gynt Suite.

    Concertgebouworkest o.l.v. Jean Fournet

    youtube.com/watch?v=NGjMw-5-Aw

    #grieg #peergynt #classical #klassik #classique #orchestra #concertgebouw #concertgebouworkest #klassiek #klasiekemuziek #vinyl #vinyllover #45rpm

  8. Some of you may know that I'm a huge Kingdom Hearts nerd.

    Some of you may also know that I used to operate the largest KH fansite circa 2003 (and still own the domain).

    Well, a couple years ago someone contacted me about it and asked to interview me. I grabbed some friends from the good ol' days. We did a thing.

    The video has finally been edited and released. This was an absolute trip.

    If you're a KH fan, it's definitely worth a watch. It covers some really important history for the fandom.

    Origins of the Kingdom Hearts Community: What Happened to The Ansem Report?

    youtube.com/watch?v=X_1b8OuBgQ0

    #kingdomhearts #videogames #community #communitymanagement #fandom #fansite #OriginStory #KH

  9. Refreshing Airplane Tracking Software With and Without AI

    A bit like last time this post is about a bit of programmer hubris, a bit of AI, a bit of failure… Though I also took away more lessons this time about software engineering, with or without fancy tools. This is about rabbit-holing myself into an old software project that I had very little knowhow to go on…

    The story starts with me rediscovering a DVB-T receiver USB stick, that I had for probably close to decade. It’s been “barnacled” by time spent in the Taiwanese climate, so I wasn’t sure if it still works, but it’s such a versatile tool, that it was worth trying to revive it.

    When these receivers function, they can receive digital TV (that’s the DVB-T), but also FM radio, DAB, and also they can act as software defined radio (SDR). This last thing makes them able to receive all kinds of transitions that are immediately quite high on the fun level, in particular airplane (ADS-B transmission) and ship (AIS) tracking. Naturally, there are websites to do both if you just want to see it (for example Flightradar24 and MarineTraffic, respectively, are popular aggregators for that data but there are tons), but doing your own data collection opens doors to all kinds of other use cases.

    So on I go, trying to find, what software tools people use these days to use these receivers. Mine is a pretty simple one (find out everything about it by following the “RTL-SDR” keywords wherever you like to do that :) and so I remembered there were many tools. However also time passed, I forgot most that I knew, and also there were new projects coming and going.

    ADSBox

    While I was searching, I found the adsbox project, that was interesting both kinda working straight out of box for me, while it was also last updated some 9 years ago, so it’s an old code base that tickles my “let’s maintain all the things!” drive…

    The tool is written mostly in C, while it also hosts its own server for a web interface, for listing flights, and (back in the day) supporting things like Google Maps and Google Earth.

    The adsbox plane listing interface.

    Both the Google Maps and Earth parts seem completely: Maps has changed a lot since, as I also had to update my Taiwan WWII Map Overlays project over time too (the requirement of using API keys to even load the map, changes to the JavaScript API…). Earth I haven’t tried, but I’m thinking that went the way of the dodo on the the desktop?

    So in the supur of the this-is-the-weekend-and-I-have-energy-to-code moment, I started to think of the options:

    • could fix up the map, either with the Google Maps changes, or bring in some other map?
    • the project has barely any readme, and I mainly managed to make it work by looking at old articles from the time when adsbox waas new, could fix those up?
    • during the compilation, loads of warnings happened, that seem to call for some “better quality” coding, let’s fix stuff until -Werror (making all warnings errors) passes too! This would be a learning experience
    • I’m sure I can find other tasks to do as well, like an error message here, a strange behaviour there…

    Here’s the kicker though: I don’t really know C. I spend most of my time in Python-land, and haven’t done a C project in anger yet. Is it worth trying to dig in, while there are other ADS-B projects that a) work better, b) are in languages that I’m more looking to learn, such as Rust?

    There was an additional drive of curiosity, just like in my last post: can I use Large Language Models (LLMs) to complement me on things I lack, such as knowledge of the exact programming language at hand?

    With this I thought let’s dig in, and let’s dig into the C code: that seemed immediately tractable, more limited in scope, and thus would help build up (hopefully) some successes and I’ll learn my way around the codebase better.

    On the LLM side I have GitHub Copilot – though it seems somewhat crippled in my open source Code Server installation of VS Code, rather than the official VS Code, in particular the context menus and Copilot Chat seems missing, and thus it was only communicating with me through TAB-completions and me adding comments to guide or suggest. That’s not very practical, so didn’t push it too far for the relevant tasks of explanation and exploration of options that I wanted to do.

    I also have Claude that I can chat with. If I wasn’t working on my 13 year old Lenovo ThinkPad X201, I’d probably set up Ollama, but that’s just excruciating with even the smallest models on this machine (until I upgrade something newer, or run the questions on my work M1 MacBook). So Claude it is for now.

    Hello Fixes

    I guess it’s one sign of hubris (or unlimited optimism), to jump into fixing compilation warnings, without knowing anything much of the codebase yet. This started in areas where the airplane tracking interacts with SQLite, for example had warnings about casting pointers to integers of different size while shuffling around SQLite query results:

    int * t = (int *) sqlite3_value_int(argv[0]);

    This was also part of a larger code section (formatting integers into hexadecimal or octal strings, for example for the ICAO codes…), and thus had to play around how much context to give to Claude to actually have something useful.

    A segment from a discussion with Claude.

    A bit of mocking around there seemed to have worked, and while I should have asked more software architecture & best practices questions, probably knew about it enough to be dangerous, and left it as it was so far.

    Having said that, after this change it turned out that some part of the interface now displaying stuff differently: the 24-bit ICAO airplane registration codes had useless leading zeros for 8 hex digits, rather than the expected 6 digits – since the fix was done without this context. Here we go, manual adaptation on this regression.

    Now there were cases when “sprintf may write a terminating nul past the end of the destination“, as the code seems to have written its data back into the same place as this:

    sprintf(data->avr_data, "*%s", data->avr_data + 13);

    This ended up being again about a much bigger context (interative reading, processing, and passing on of recorded ADS-B packets), where based on the Claude’s suggestions I couldn’t really get to anything useful. The real point was always one step further:

    • instead of the line look at the nearby lines
    • instead of the near by lines, look at the whole funciton
    • instead of the whole function, look at the wider codebase with its configuration

    These are of course no-brainers. However Claude with its chat interface cannot really do that, while Copilot without its chat interface also cannot do this digging. Catch-22? Since in the end I admitted myself (for the nth time) that I need to understand the purpose of the code better before “fixing” it. Then due to the lack of comments in the codebase + lack of natural intuition of the built in C functions’ behaviour, I’ve just left them as they were for now, since they do work.

    From here I turned to other parts. The webserver was not serving some files with the correct MIME type, due to its hand-rolled file extension extraction (splitting filenames at the first . rather than the last), this was easy to fix – with a bit of StackOverflow this time, rather than asking Claude.

    Then there was an issue with the tool apparently not playing back the recorded packet data, which I fixed with a combo of regular ol’ debug printouts, StackOverflow, and just thinking about how it could work (it’s the issue of explicitly filling in daylight saving data in the relevant tm struct – tm_isdst – and thus IMHO it’s doing a regular “undefined” behaviour: in this case jumped the first timestamp’s time ahead by an hour, and thus would have needed to wait an hour to pass as the playback (following the real timingof the packets) catch up and start actually replaying. Still weird, why only the first packet’s data was shifted, and could I do a more solid fix than setting it once as the code never seem to overwrite it? These are the questions that are more addressing C-knowledge or potential best practice of the code’s structure overall…

    Finally I’ve started on replacing Google Maps with OpenFreeMap and got as far as displaying the map (which is the easy step:). The whole replacement would likely be a lot more, also given the amount of barely documented JavaScript code in the project – but hopefully I have more working knowledge of JS than C.

    Lessons Learned

    First lesson is that I likely have a “saviour complex”, trying to fix up every code I see being imperferct in some way, whether or not I am capable of doing it or not. This is something to meditate further on for sure.

    When using LLMs for code work, they are just as useful as another mid-level coder without much context – almost not at all. The context of code is always relevant, so either the LLM would have to get it itself, or the person pairing with the LLM would have to provide it. Thus the work is always there, just not always possible.

    It’s very nice that I can do things in programming languages that I don’t really understand, but that’s only the case if I either spend much-much time actually getting to know things so I can start to judge whether the changes even have a chance to be correct or not; or I don’t care whether they are correct or not (but is this really an option?)

    Overall the LLMs need the same things as humans to do a good job, and cannot pretend that they really can do work without these (even if they might appear being able to do without these for some time):

    • good comment in the code so the intention can be ascertained as well
    • tests that show what the correct behaviour should be, and catch regressions or unintentional breakages
    • have domain knowledge to form better mental models about what should happen

    The first two wasn’t true in this project. The last point is likely where LLMs are ahead in cases like this (having been trained on “all the Internet’s data”), though wouldn’t be the same for some niche, or work internal projects.

    The LLMs suggestions are still ver much localised, thus they cannot really fix up the structure of the code too much – or maybe I’m not using the right tools, of course. And this is where my future big ask would lie: don’t just tell me how to fix this line, rather tell me that the entire block is no longer needed / could be merged with another part of the code / could be broken out to its own module that would help over there… Of course, this is moving the goal post a bit of what LLM programmers’ look like, though I also think that the current “fix this line” is something I most definitely want to have enough practice with that I don’t really need to ask (though it could suggest if there are good practices I haven’t picked up yet).

    Where do I go from here?

    This adsbox project is mostly obsolete, as I’ve found a bunch of other tools that are better, and better supported now (adsb_deku, tar1090), but surprising it still have stuff that are better here and in other tools (the plane’s status icons, some data displayed here that is not in others, showing what sort of packets (what Downlink Format or DF numbers) were received for the aircraft, etc… So there might be still value in using it occasionally, so there might be value.

    Even if I could get a kick out of it, it’s likely useful to keep things time-boxed or constrained to some topics: change the map; add comments as I find them; fix issues if they arise; package it up for ArchLinux. That’s about it, but these should be generally useful (e.g. using OpenFreeMap for other projets in the future or rewriting the aforementioned Taiwan WWII Map project to use that).

    My current fixes live in my fork in GitHub imrehg/adsbox, with no guarantees. Since the project also doesn’t have a license (just a note of “free for non-commercial use”, which doesn’t cover modifications), I’m probably keeping it simple for now.

    I also got the hang of software defined radio again, and there’s just so much fun to have…

    What’s the most useful is seeing in practice, what does software need to be maintainable almost a decade later, and what’s missing in most projects: explanatory comments to understand what is being done and why, and tests to know whether things are running correctly or not. And maube then both my future self, my colleagues, and any potential AI pair programmer would have a better chance of succeeding at “maintain all the things!”

    #ADSB #DVBT #SDR

  10. Refreshing Airplane Tracking Software With and Without AI

    A bit like last time this post is about a bit of programmer hubris, a bit of AI, a bit of failure… Though I also took away more lessons this time about software engineering, with or without fancy tools. This is about rabbit-holing myself into an old software project that I had very little knowhow to go on…

    The story starts with me rediscovering a DVB-T receiver USB stick, that I had for probably close to decade. It’s been “barnacled” by time spent in the Taiwanese climate, so I wasn’t sure if it still works, but it’s such a versatile tool, that it was worth trying to revive it.

    When these receivers function, they can receive digital TV (that’s the DVB-T), but also FM radio, DAB, and also they can act as software defined radio (SDR). This last thing makes them able to receive all kinds of transitions that are immediately quite high on the fun level, in particular airplane (ADS-B transmission) and ship (AIS) tracking. Naturally, there are websites to do both if you just want to see it (for example Flightradar24 and MarineTraffic, respectively, are popular aggregators for that data but there are tons), but doing your own data collection opens doors to all kinds of other use cases.

    So on I go, trying to find, what software tools people use these days to use these receivers. Mine is a pretty simple one (find out everything about it by following the “RTL-SDR” keywords wherever you like to do that :) and so I remembered there were many tools. However also time passed, I forgot most that I knew, and also there were new projects coming and going.

    ADSBox

    While I was searching, I found the adsbox project, that was interesting both kinda working straight out of box for me, while it was also last updated some 9 years ago, so it’s an old code base that tickles my “let’s maintain all the things!” drive…

    The tool is written mostly in C, while it also hosts its own server for a web interface, for listing flights, and (back in the day) supporting things like Google Maps and Google Earth.

    The adsbox plane listing interface.

    Both the Google Maps and Earth parts seem completely: Maps has changed a lot since, as I also had to update my Taiwan WWII Map Overlays project over time too (the requirement of using API keys to even load the map, changes to the JavaScript API…). Earth I haven’t tried, but I’m thinking that went the way of the dodo on the the desktop?

    So in the supur of the this-is-the-weekend-and-I-have-energy-to-code moment, I started to think of the options:

    • could fix up the map, either with the Google Maps changes, or bring in some other map?
    • the project has barely any readme, and I mainly managed to make it work by looking at old articles from the time when adsbox waas new, could fix those up?
    • during the compilation, loads of warnings happened, that seem to call for some “better quality” coding, let’s fix stuff until -Werror (making all warnings errors) passes too! This would be a learning experience
    • I’m sure I can find other tasks to do as well, like an error message here, a strange behaviour there…

    Here’s the kicker though: I don’t really know C. I spend most of my time in Python-land, and haven’t done a C project in anger yet. Is it worth trying to dig in, while there are other ADS-B projects that a) work better, b) are in languages that I’m more looking to learn, such as Rust?

    There was an additional drive of curiosity, just like in my last post: can I use Large Language Models (LLMs) to complement me on things I lack, such as knowledge of the exact programming language at hand?

    With this I thought let’s dig in, and let’s dig into the C code: that seemed immediately tractable, more limited in scope, and thus would help build up (hopefully) some successes and I’ll learn my way around the codebase better.

    On the LLM side I have GitHub Copilot – though it seems somewhat crippled in my open source Code Server installation of VS Code, rather than the official VS Code, in particular the context menus and Copilot Chat seems missing, and thus it was only communicating with me through TAB-completions and me adding comments to guide or suggest. That’s not very practical, so didn’t push it too far for the relevant tasks of explanation and exploration of options that I wanted to do.

    I also have Claude that I can chat with. If I wasn’t working on my 13 year old Lenovo ThinkPad X201, I’d probably set up Ollama, but that’s just excruciating with even the smallest models on this machine (until I upgrade something newer, or run the questions on my work M1 MacBook). So Claude it is for now.

    Hello Fixes

    I guess it’s one sign of hubris (or unlimited optimism), to jump into fixing compilation warnings, without knowing anything much of the codebase yet. This started in areas where the airplane tracking interacts with SQLite, for example had warnings about casting pointers to integers of different size while shuffling around SQLite query results:

    int * t = (int *) sqlite3_value_int(argv[0]);

    This was also part of a larger code section (formatting integers into hexadecimal or octal strings, for example for the ICAO codes…), and thus had to play around how much context to give to Claude to actually have something useful.

    A segment from a discussion with Claude.

    A bit of mocking around there seemed to have worked, and while I should have asked more software architecture & best practices questions, probably knew about it enough to be dangerous, and left it as it was so far.

    Having said that, after this change it turned out that some part of the interface now displaying stuff differently: the 24-bit ICAO airplane registration codes had useless leading zeros for 8 hex digits, rather than the expected 6 digits – since the fix was done without this context. Here we go, manual adaptation on this regression.

    Now there were cases when “sprintf may write a terminating nul past the end of the destination“, as the code seems to have written its data back into the same place as this:

    sprintf(data->avr_data, "*%s", data->avr_data + 13);

    This ended up being again about a much bigger context (interative reading, processing, and passing on of recorded ADS-B packets), where based on the Claude’s suggestions I couldn’t really get to anything useful. The real point was always one step further:

    • instead of the line look at the nearby lines
    • instead of the near by lines, look at the whole funciton
    • instead of the whole function, look at the wider codebase with its configuration

    These are of course no-brainers. However Claude with its chat interface cannot really do that, while Copilot without its chat interface also cannot do this digging. Catch-22? Since in the end I admitted myself (for the nth time) that I need to understand the purpose of the code better before “fixing” it. Then due to the lack of comments in the codebase + lack of natural intuition of the built in C functions’ behaviour, I’ve just left them as they were for now, since they do work.

    From here I turned to other parts. The webserver was not serving some files with the correct MIME type, due to its hand-rolled file extension extraction (splitting filenames at the first . rather than the last), this was easy to fix – with a bit of StackOverflow this time, rather than asking Claude.

    Then there was an issue with the tool apparently not playing back the recorded packet data, which I fixed with a combo of regular ol’ debug printouts, StackOverflow, and just thinking about how it could work (it’s the issue of explicitly filling in daylight saving data in the relevant tm struct – tm_isdst – and thus IMHO it’s doing a regular “undefined” behaviour: in this case jumped the first timestamp’s time ahead by an hour, and thus would have needed to wait an hour to pass as the playback (following the real timingof the packets) catch up and start actually replaying. Still weird, why only the first packet’s data was shifted, and could I do a more solid fix than setting it once as the code never seem to overwrite it? These are the questions that are more addressing C-knowledge or potential best practice of the code’s structure overall…

    Finally I’ve started on replacing Google Maps with OpenFreeMap and got as far as displaying the map (which is the easy step:). The whole replacement would likely be a lot more, also given the amount of barely documented JavaScript code in the project – but hopefully I have more working knowledge of JS than C.

    Lessons Learned

    First lesson is that I likely have a “saviour complex”, trying to fix up every code I see being imperferct in some way, whether or not I am capable of doing it or not. This is something to meditate further on for sure.

    When using LLMs for code work, they are just as useful as another mid-level coder without much context – almost not at all. The context of code is always relevant, so either the LLM would have to get it itself, or the person pairing with the LLM would have to provide it. Thus the work is always there, just not always possible.

    It’s very nice that I can do things in programming languages that I don’t really understand, but that’s only the case if I either spend much-much time actually getting to know things so I can start to judge whether the changes even have a chance to be correct or not; or I don’t care whether they are correct or not (but is this really an option?)

    Overall the LLMs need the same things as humans to do a good job, and cannot pretend that they really can do work without these (even if they might appear being able to do without these for some time):

    • good comment in the code so the intention can be ascertained as well
    • tests that show what the correct behaviour should be, and catch regressions or unintentional breakages
    • have domain knowledge to form better mental models about what should happen

    The first two wasn’t true in this project. The last point is likely where LLMs are ahead in cases like this (having been trained on “all the Internet’s data”), though wouldn’t be the same for some niche, or work internal projects.

    The LLMs suggestions are still ver much localised, thus they cannot really fix up the structure of the code too much – or maybe I’m not using the right tools, of course. And this is where my future big ask would lie: don’t just tell me how to fix this line, rather tell me that the entire block is no longer needed / could be merged with another part of the code / could be broken out to its own module that would help over there… Of course, this is moving the goal post a bit of what LLM programmers’ look like, though I also think that the current “fix this line” is something I most definitely want to have enough practice with that I don’t really need to ask (though it could suggest if there are good practices I haven’t picked up yet).

    Where do I go from here?

    This adsbox project is mostly obsolete, as I’ve found a bunch of other tools that are better, and better supported now (adsb_deku, tar1090), but surprising it still have stuff that are better here and in other tools (the plane’s status icons, some data displayed here that is not in others, showing what sort of packets (what Downlink Format or DF numbers) were received for the aircraft, etc… So there might be still value in using it occasionally, so there might be value.

    Even if I could get a kick out of it, it’s likely useful to keep things time-boxed or constrained to some topics: change the map; add comments as I find them; fix issues if they arise; package it up for ArchLinux. That’s about it, but these should be generally useful (e.g. using OpenFreeMap for other projets in the future or rewriting the aforementioned Taiwan WWII Map project to use that).

    My current fixes live in my fork in GitHub imrehg/adsbox, with no guarantees. Since the project also doesn’t have a license (just a note of “free for non-commercial use”, which doesn’t cover modifications), I’m probably keeping it simple for now.

    I also got the hang of software defined radio again, and there’s just so much fun to have…

    What’s the most useful is seeing in practice, what does software need to be maintainable almost a decade later, and what’s missing in most projects: explanatory comments to understand what is being done and why, and tests to know whether things are running correctly or not. And maube then both my future self, my colleagues, and any potential AI pair programmer would have a better chance of succeeding at “maintain all the things!”

    #ADSB #DVBT #SDR

  11. #TIL: in konstanz läuft zurzeit ein projekt zur #inhaltserschließung mithilfe von #KI: "KISEFEE", "KI gestütztes Mappen und Generieren von Sacherschließung und Formalerschließung = Erschließungsbooster"
    kim.uni-konstanz.de/das-kim/ue #GND #RVK #Haussystematiken #uam

  12. #TIL: in konstanz läuft zurzeit ein projekt zur #inhaltserschließung mithilfe von #KI: "KISEFEE", "KI gestütztes Mappen und Generieren von Sacherschließung und Formalerschließung = Erschließungsbooster"
    kim.uni-konstanz.de/das-kim/ue #GND #RVK #Haussystematiken #uam

  13. #TIL: in konstanz läuft zurzeit ein projekt zur #inhaltserschließung mithilfe von #KI: "KISEFEE", "KI gestütztes Mappen und Generieren von Sacherschließung und Formalerschließung = Erschließungsbooster"
    kim.uni-konstanz.de/das-kim/ue #GND #RVK #Haussystematiken #uam

  14. #TIL: in konstanz läuft zurzeit ein projekt zur #inhaltserschließung mithilfe von #KI: "KISEFEE", "KI gestütztes Mappen und Generieren von Sacherschließung und Formalerschließung = Erschließungsbooster"
    kim.uni-konstanz.de/das-kim/ue #GND #RVK #Haussystematiken #uam

  15. #TIL: in konstanz läuft zurzeit ein projekt zur #inhaltserschließung mithilfe von #KI: "KISEFEE", "KI gestütztes Mappen und Generieren von Sacherschließung und Formalerschließung = Erschließungsbooster"
    kim.uni-konstanz.de/das-kim/ue #GND #RVK #Haussystematiken #uam

  16. A Tractor in Common and the Case of the Crazy Parrot

    I. The Geneaology of the Tamale.

    To the Searching Mothers, with admiration and respect.

    I should tell you that I never thought I would see this in my lifetime. This combination of knowledge and practices rooted in traditions from many decades ago, with applied science and technology. Yes, in the countryside. Yes, in the struggle for life.

    Subcomandante Insurgente Moisés has explained the process to me:

    First, you choose the land. The flatter, the better. Next comes what is called “tumbar y rozar”—that is, using a machete and, sometimes, an axe, you cut down large, medium, and small trees. If it is already land that was once a cornfield, then it is acahual (small trees and plants). If it was pastureland, then there are no trees. You have to wait for it to dry out well, and then comes the “quema,” which consists, as the name implies, of setting the land on fire so that the soil is fertilized with the ash. Next comes clearing, that is, removing stones, logs, branches, and roots. Then comes planting, which is done with a coa (a straight stick, sometimes with an iron tip). The person planting carries the seeds in a small backpack, moving forward little by little, poking the ground with the coa and placing the seed in the soil. Then it’s a matter of waiting for rain. Of course, if the dry season (the hot season), with its strong winds, hasn’t carried the fire beyond the “firebreak,” then we have to organize collectively to go put it out before the fire spreads and reaches the forest… or the villages.

    If it rains, that’s good. If it doesn’t rain, that’s bad. And then you have to set off firecrackers in the sky to wake up the clouds and make them pour down onto the earth, where the seed awaits the life that every drop of water carries.

    Then after? Wait, and keep an eye on the weather. If all goes well, in about three months there will be corn on the cob, and then dried corn. Then comes the harvest: gathering the ears and piling them in a small shed they call a “troje.” From there, whenever needed, a few ears are brought home, and the whole family (grandparents, parents, and the kids) sits down to shell them. Next comes cooking the corn, with some lime extracted from stones. The lime comes from a special white stone. In some places they call it Poj’ton. It’s heated with firewood and then ground until it becomes a fine powder. If you can’t find it, you can make it from the shell of a river snail. And if you don’t have Poj’ton or a snail, well tough luck, you just have to earn the money to buy the lime.

    A compañera explains to me: “Not just anyone can mix the lime with the corn. You need, as they say, the moms. Your mom tells you how much lime to put in the pot with the corn in water. If it’s not just right, it won’t work. And if you add too much, it stings. So you have to calculate it, just as your mom teaches you. Once you grow up, well, you know how to calculate. But it’s not like you measure with centiliters, milliliters, and all that math stuff. It’s that you measure just as your mom teaches you. And you have to mix it well by hand, so there are no little lumps, but just right.

    If you don’t learn to do things right, word gets around town fast and people look down on you. And it’s even worse for the mother—people talk behind her back, saying she doesn’t teach her children about corn, that is, about life. So the children have to learn well. As they say, moms need their kids. I think that’s why they scold us so much when we’re little, so we’ll learn. And that’s why moms are always thinking about their kids, and if they’re not around, they look for them. If we didn’t have moms, I think we’d all die on the spot.

    -*-

    Next, once the corn is cooked, keep grinding it by hand using an old mechanical grinder. If you don’t have one, use a metate and a grinding stone. Then you’ll have the dough ready for tortillas… or tamales. If it’s a celebration, then maybe with cuche (pork), chicken, or turkey. And the recado, of course, which is like the seasoning you put on the meat. If there’s no meat, then beans… or vegetables (yucky). You can also make it with green or red chili peppers, and with sugar. After all that, and if you’re lucky enough that the cook doesn’t leave the tamale undercooked, then you’ll be able to eat tamales. And if it’s undercooked, well, too bad—you still have to eat it because that’s all there is. Of course, you’d better make sure there’s a outhouse nearby.

    If it’s a party, there’s dancing. Yes, cumbias. Although later there’s also rock, ska, banda, and that kind of music that makes the young men and women jump around as if they were on top of an anthill. But love—and, of course, heartbreak—tend to blossom and bear fruit with the cumbias. There, the hips promise fevers… and sleepless nights… and rains… and hardships.

    -*-

    And then? Well, back to where we started. And so on and on, forever and ever. Humanity exists because the earth exists. In other words, you might say that the earth is the mother of humanity. Just imagine if there were no earth—where would you get all the junk food you eat? Without the earth, there is no food, no animals, no air, no rain. There is nothing. That is why we say that land is life.

    The peoples and communities of the National Indigenous Congress taught us to say “territory.” In other words, it’s not just the earth itself, but also the water, the forests, the wild animals, the rain, the wind, the sun. Everything. When we say “land,” we mean all of that; but in the cities, they understand land as a piece of land and not as a whole. That’s why the CNI taught us to say “territory.”

    -*-

    Today’s wars, by the way, are fought to conquer territory. That is why it doesn’t matter how many people are killed or how many buildings, hospitals, schools (with girls inside), and entire neighborhoods are destroyed. Because that is what capitalist war is all about: destroying in order to rebuild later; and depopulating in order to later reorganize the conquered territory. And that is why there are, within humanity, what are called “Guardians” of the earth, that is, of the territory. In other words, they are the offspring of Mother Earth, the Resistance, and Rebellion. And that is why they murder, disappear, and imprison the defenders of the forests. And that is why the problem is not Netanyahu or Trump. Or at least, not only them.

    Because with or without them, the Boss Man—the capitalist system, that is—wants to murder people and destroy entire populations. Because it is in those populations and in the hearts of those people, that life lives.

    That is how the system was born: by killing and destroying. That is how it grew. And that is how it sustains itself, even as its methods and justifications change. The capitalist system is death. Not just for humanity. But for the entire planet as well. That is why we say that the struggle against capitalism is the struggle for life. And vice versa.

    Who understands this best and most deeply? Well, those who live in a territory—that is, on the land. But they do not fight for ownership of the territory; rather, they fight to defend it. And that is why capitalism attacks them, because they stand in the way of its plan.

    -*-

    I asked SubMoy, “So there’s no more burning?”

    “No, we’re showing them—teaching our compañeros and the partisan brothers—that by using this technique, burning is no longer necessary, so the fire doesn’t spread and endanger animals, trees, and people. Plus, there’s no more smoke. And you don’t have to wait for rain or waste fireworks. So, without stopping work on the land, you can take care of it and improve it.”

    “And where did the tractor come from?”

    “Ah, they’d had it sitting in a shed for years, but they weren’t using it and it was just sitting there falling apart. Then the Commons came to the rescue. The drivers went, fixed it up, washed it, made it look sharp, and moved it to this land that belongs to the Common—which belongs to everyone and to no one.”

    “But maybe the day after, there won’t be any fuel for the tractor… or even a tractor.”

    “Oh, sure. But we’re learning from our great-great-grandparents and grandparents, who made do with what they had and used their wits. The point is always to take care of Mother Earth.”

    A compañero is someone who teaches and has students, mainly Tzotzil and Cho’ol. That compañero is from Puy de Roberto Barrios, and he comes with his group to put what they learn into practice. Because if you don’t apply what you know, it’s all for nothing. In other words, he wants practice. The place where he teaches could well be called “Center for Zapatista Rebel Research, Analysis, and Teaching on Rural Work and the Defense and Care of Mother Earth, Combining the Knowledge of Our Ancestors with Knowledge of the Sciences, Techniques, Arts, and Whatever Comes to Mind and We Invent Based on What We See in Practice” (CIAERZTCDCMTCCNACCTALVAOISVP, for its Spanish acronym).

    Nah, it’s not really called that. But they’re going to give it some name. Maybe just as long or even longer—I don’t know.

    The thing is, just like with cumbias, what really counts is putting that knowledge into practice. Because you could certainly write books on cumbia theory, explaining hip rotation and the rhythm of the feet and hands using ellipses and parables, differential equations, and asymptotes. But, man, if you don’t practice it, it’ll look like your pants are made of cardboard or that you’ve got a cramp.

    -*-

    When I saw that the sprinklers were already running and they were planting, I thought, “Now I can die in peace.” I think I said it out loud, because Verónica, who was butting in as usual, said, “Again?!” And, looking at me disapprovingly, she added, “People are getting sick of you dying all the time. Even the women in the villages have already complained to SubMoy that they’re praying for nothing every time they go by.”

    “So they’re praying for me?”

    “No way! They’re praying for the poor devil who’s going to suffer when you get to hell and start up your mischief.”

    Well, but that’s not the point…

    -*-

    All over the world, stories of resistance and defiance are blossoming. Yesterday, they were called Venezuela. Today, they are called Iran and Cuba. They are always called Palestine. Because there will always be those who refuse to give up, sell out, or back down.

    (To be continued…)

    The Captain
    April-May 2026

    souce: Schools for Chiapas

    abolitionmedia.noblogs.org/?p= #chiapas #ezln #mexico #northAmerica #zapatista
  17. A Tractor in Common and the Case of the Crazy Parrot

    I. The Geneaology of the Tamale.

    To the Searching Mothers, with admiration and respect.

    I should tell you that I never thought I would see this in my lifetime. This combination of knowledge and practices rooted in traditions from many decades ago, with applied science and technology. Yes, in the countryside. Yes, in the struggle for life.

    Subcomandante Insurgente Moisés has explained the process to me:

    First, you choose the land. The flatter, the better. Next comes what is called “tumbar y rozar”—that is, using a machete and, sometimes, an axe, you cut down large, medium, and small trees. If it is already land that was once a cornfield, then it is acahual (small trees and plants). If it was pastureland, then there are no trees. You have to wait for it to dry out well, and then comes the “quema,” which consists, as the name implies, of setting the land on fire so that the soil is fertilized with the ash. Next comes clearing, that is, removing stones, logs, branches, and roots. Then comes planting, which is done with a coa (a straight stick, sometimes with an iron tip). The person planting carries the seeds in a small backpack, moving forward little by little, poking the ground with the coa and placing the seed in the soil. Then it’s a matter of waiting for rain. Of course, if the dry season (the hot season), with its strong winds, hasn’t carried the fire beyond the “firebreak,” then we have to organize collectively to go put it out before the fire spreads and reaches the forest… or the villages.

    If it rains, that’s good. If it doesn’t rain, that’s bad. And then you have to set off firecrackers in the sky to wake up the clouds and make them pour down onto the earth, where the seed awaits the life that every drop of water carries.

    Then after? Wait, and keep an eye on the weather. If all goes well, in about three months there will be corn on the cob, and then dried corn. Then comes the harvest: gathering the ears and piling them in a small shed they call a “troje.” From there, whenever needed, a few ears are brought home, and the whole family (grandparents, parents, and the kids) sits down to shell them. Next comes cooking the corn, with some lime extracted from stones. The lime comes from a special white stone. In some places they call it Poj’ton. It’s heated with firewood and then ground until it becomes a fine powder. If you can’t find it, you can make it from the shell of a river snail. And if you don’t have Poj’ton or a snail, well tough luck, you just have to earn the money to buy the lime.

    A compañera explains to me: “Not just anyone can mix the lime with the corn. You need, as they say, the moms. Your mom tells you how much lime to put in the pot with the corn in water. If it’s not just right, it won’t work. And if you add too much, it stings. So you have to calculate it, just as your mom teaches you. Once you grow up, well, you know how to calculate. But it’s not like you measure with centiliters, milliliters, and all that math stuff. It’s that you measure just as your mom teaches you. And you have to mix it well by hand, so there are no little lumps, but just right.

    If you don’t learn to do things right, word gets around town fast and people look down on you. And it’s even worse for the mother—people talk behind her back, saying she doesn’t teach her children about corn, that is, about life. So the children have to learn well. As they say, moms need their kids. I think that’s why they scold us so much when we’re little, so we’ll learn. And that’s why moms are always thinking about their kids, and if they’re not around, they look for them. If we didn’t have moms, I think we’d all die on the spot.

    -*-

    Next, once the corn is cooked, keep grinding it by hand using an old mechanical grinder. If you don’t have one, use a metate and a grinding stone. Then you’ll have the dough ready for tortillas… or tamales. If it’s a celebration, then maybe with cuche (pork), chicken, or turkey. And the recado, of course, which is like the seasoning you put on the meat. If there’s no meat, then beans… or vegetables (yucky). You can also make it with green or red chili peppers, and with sugar. After all that, and if you’re lucky enough that the cook doesn’t leave the tamale undercooked, then you’ll be able to eat tamales. And if it’s undercooked, well, too bad—you still have to eat it because that’s all there is. Of course, you’d better make sure there’s a outhouse nearby.

    If it’s a party, there’s dancing. Yes, cumbias. Although later there’s also rock, ska, banda, and that kind of music that makes the young men and women jump around as if they were on top of an anthill. But love—and, of course, heartbreak—tend to blossom and bear fruit with the cumbias. There, the hips promise fevers… and sleepless nights… and rains… and hardships.

    -*-

    And then? Well, back to where we started. And so on and on, forever and ever. Humanity exists because the earth exists. In other words, you might say that the earth is the mother of humanity. Just imagine if there were no earth—where would you get all the junk food you eat? Without the earth, there is no food, no animals, no air, no rain. There is nothing. That is why we say that land is life.

    The peoples and communities of the National Indigenous Congress taught us to say “territory.” In other words, it’s not just the earth itself, but also the water, the forests, the wild animals, the rain, the wind, the sun. Everything. When we say “land,” we mean all of that; but in the cities, they understand land as a piece of land and not as a whole. That’s why the CNI taught us to say “territory.”

    -*-

    Today’s wars, by the way, are fought to conquer territory. That is why it doesn’t matter how many people are killed or how many buildings, hospitals, schools (with girls inside), and entire neighborhoods are destroyed. Because that is what capitalist war is all about: destroying in order to rebuild later; and depopulating in order to later reorganize the conquered territory. And that is why there are, within humanity, what are called “Guardians” of the earth, that is, of the territory. In other words, they are the offspring of Mother Earth, the Resistance, and Rebellion. And that is why they murder, disappear, and imprison the defenders of the forests. And that is why the problem is not Netanyahu or Trump. Or at least, not only them.

    Because with or without them, the Boss Man—the capitalist system, that is—wants to murder people and destroy entire populations. Because it is in those populations and in the hearts of those people, that life lives.

    That is how the system was born: by killing and destroying. That is how it grew. And that is how it sustains itself, even as its methods and justifications change. The capitalist system is death. Not just for humanity. But for the entire planet as well. That is why we say that the struggle against capitalism is the struggle for life. And vice versa.

    Who understands this best and most deeply? Well, those who live in a territory—that is, on the land. But they do not fight for ownership of the territory; rather, they fight to defend it. And that is why capitalism attacks them, because they stand in the way of its plan.

    -*-

    I asked SubMoy, “So there’s no more burning?”

    “No, we’re showing them—teaching our compañeros and the partisan brothers—that by using this technique, burning is no longer necessary, so the fire doesn’t spread and endanger animals, trees, and people. Plus, there’s no more smoke. And you don’t have to wait for rain or waste fireworks. So, without stopping work on the land, you can take care of it and improve it.”

    “And where did the tractor come from?”

    “Ah, they’d had it sitting in a shed for years, but they weren’t using it and it was just sitting there falling apart. Then the Commons came to the rescue. The drivers went, fixed it up, washed it, made it look sharp, and moved it to this land that belongs to the Common—which belongs to everyone and to no one.”

    “But maybe the day after, there won’t be any fuel for the tractor… or even a tractor.”

    “Oh, sure. But we’re learning from our great-great-grandparents and grandparents, who made do with what they had and used their wits. The point is always to take care of Mother Earth.”

    A compañero is someone who teaches and has students, mainly Tzotzil and Cho’ol. That compañero is from Puy de Roberto Barrios, and he comes with his group to put what they learn into practice. Because if you don’t apply what you know, it’s all for nothing. In other words, he wants practice. The place where he teaches could well be called “Center for Zapatista Rebel Research, Analysis, and Teaching on Rural Work and the Defense and Care of Mother Earth, Combining the Knowledge of Our Ancestors with Knowledge of the Sciences, Techniques, Arts, and Whatever Comes to Mind and We Invent Based on What We See in Practice” (CIAERZTCDCMTCCNACCTALVAOISVP, for its Spanish acronym).

    Nah, it’s not really called that. But they’re going to give it some name. Maybe just as long or even longer—I don’t know.

    The thing is, just like with cumbias, what really counts is putting that knowledge into practice. Because you could certainly write books on cumbia theory, explaining hip rotation and the rhythm of the feet and hands using ellipses and parables, differential equations, and asymptotes. But, man, if you don’t practice it, it’ll look like your pants are made of cardboard or that you’ve got a cramp.

    -*-

    When I saw that the sprinklers were already running and they were planting, I thought, “Now I can die in peace.” I think I said it out loud, because Verónica, who was butting in as usual, said, “Again?!” And, looking at me disapprovingly, she added, “People are getting sick of you dying all the time. Even the women in the villages have already complained to SubMoy that they’re praying for nothing every time they go by.”

    “So they’re praying for me?”

    “No way! They’re praying for the poor devil who’s going to suffer when you get to hell and start up your mischief.”

    Well, but that’s not the point…

    -*-

    All over the world, stories of resistance and defiance are blossoming. Yesterday, they were called Venezuela. Today, they are called Iran and Cuba. They are always called Palestine. Because there will always be those who refuse to give up, sell out, or back down.

    (To be continued…)

    The Captain
    April-May 2026

    souce: Schools for Chiapas

    abolitionmedia.noblogs.org/?p= #chiapas #ezln #mexico #northAmerica #zapatista
  18. FYI: IAS opens beta for tool that blocks low-quality AI content near ads: IAS launched an open beta on April 2 for Low-Quality GenAI Avoidance, letting advertisers block AI slop via Context Control before and after the bid. ppc.land/ias-opens-beta-for-to #DigitalMarketing #AI #Advertising #ContentQuality #ProgrammaticAds

  19. ICYMI: IAS opens beta for tool that blocks low-quality AI content near ads: IAS launched an open beta on April 2 for Low-Quality GenAI Avoidance, letting advertisers block AI slop via Context Control before and after the bid. ppc.land/ias-opens-beta-for-to #DigitalMarketing #Advertising #AIContent #QualityControl #MarketingTech

  20. @scottwilson Not dissing the article, nor the (newer) term #CTEM, however isn't real time, prioritized, validated and continual improvement what we have wanted for many years?
    Such as understanding actual exposure (the environmental metric in CVSS) etc.

    (Might just be grumpy ol' me) <3

  21. Critical SandboxJS Escape Vulnerability Enables Host Takeover

    Nyariv's SandboxJS library contains a critical vulnerability (CVE-2026-43898) that allows unauthenticated attackers to escape the sandbox and execute arbitrary code on the host system.

    **If you use the @nyariv/sandboxjs library in your applications, update immediately to version 0.9.6. If you can't update right away, stop processing any untrusted JavaScript through the library until the patch is applied.**
    #cybersecurity #infosec #advisory #vulnerability
    beyondmachines.net/event_detai

  22. Välkommen på ölkväll!
    31 okt 16:00 - 18:30

    OSA: aterstallvatmarker.se/registre

    Är du intresserad av att veta mer om vilka Återställ våtmarker är? Är du ny och vill lära känna fler eller är du gammal i gemet och bara vill ha ett gött häng? Då passar detta utmärkt för dig!

    Kom som du är eller ta med en kompis, sonen eller varför inte farmor!

    Ses på Rex!

    Nobelvägen 107
    Malmö

    #återställvåtmarker #förbjudtorvbrytning #malmö #rex #öl #ölkväll

  23. Pictures of Ol' One Toof, the Ork Nob, and a regular Ork Boy.

    Should give you an idea of the bulking up he's had.

    #Warhammer40k #WarhammerCommunity #MiniaturePainting #Ork #Nob #OrkNob #Blood

  24. Ol' one toof.

    For this Nob I wanted to create an ork that was the least "comic relief" I could.

    In addition to a slight re-posing and modifications to the weapons, I also bulked up the body with some epoxy putty: add a blob to each existing muscle and smooth it in.

    I also opened the jaw wider. This left only one tooth and a lip ring. Ol' one toof was born.
    The boss pole also reflects this.

    Then add a touch of blood from the last person that laughed.

    #Warhammer40k #Ork #Nob #Blood

  25. Dill-Pancake-Türmchen + Gemüse mit Senfcreme
    #vegetarisch

    Mehl Backpulver Milch Eigelb verrühren, #Eischnee #Dill + geriebenem #Käse unterheben.
    #Erbsen #Gurke #Artischocke #Karotten schneiden, Karotten dünsten.
    #Schalotte #Knoblauch #Senf #Sahne #Olivenöl #Chili #Curry #Ahornsirup SalzPfeffer zu einer glatten Creme pürieren. Unter das Gemüse mischen.
    Dill + Öl pürieren, durch ein Sieb gießen.
    Aus dem Teig #Pancakes braten, je 3 mit Gemüse dazwischen auftürmen, mit dem Dill-Öl beträufeln.

  26. Dill-Pancake-Türmchen + Gemüse mit Senfcreme
    #vegetarisch

    Mehl Backpulver Milch Eigelb verrühren, #Eischnee #Dill + geriebenem #Käse unterheben.
    #Erbsen #Gurke #Artischocke #Karotten schneiden, Karotten dünsten.
    #Schalotte #Knoblauch #Senf #Sahne #Olivenöl #Chili #Curry #Ahornsirup SalzPfeffer zu einer glatten Creme pürieren. Unter das Gemüse mischen.
    Dill + Öl pürieren, durch ein Sieb gießen.
    Aus dem Teig #Pancakes braten, je 3 mit Gemüse dazwischen auftürmen, mit dem Dill-Öl beträufeln.

  27. Dill-Pancake-Türmchen + Gemüse mit Senfcreme
    #vegetarisch

    Mehl Backpulver Milch Eigelb verrühren, #Eischnee #Dill + geriebenem #Käse unterheben.
    #Erbsen #Gurke #Artischocke #Karotten schneiden, Karotten dünsten.
    #Schalotte #Knoblauch #Senf #Sahne #Olivenöl #Chili #Curry #Ahornsirup SalzPfeffer zu einer glatten Creme pürieren. Unter das Gemüse mischen.
    Dill + Öl pürieren, durch ein Sieb gießen.
    Aus dem Teig #Pancakes braten, je 3 mit Gemüse dazwischen auftürmen, mit dem Dill-Öl beträufeln.

  28. Dill-Pancake-Türmchen + Gemüse mit Senfcreme
    #vegetarisch

    Mehl Backpulver Milch Eigelb verrühren, #Eischnee #Dill + geriebenem #Käse unterheben.
    #Erbsen #Gurke #Artischocke #Karotten schneiden, Karotten dünsten.
    #Schalotte #Knoblauch #Senf #Sahne #Olivenöl #Chili #Curry #Ahornsirup SalzPfeffer zu einer glatten Creme pürieren. Unter das Gemüse mischen.
    Dill + Öl pürieren, durch ein Sieb gießen.
    Aus dem Teig #Pancakes braten, je 3 mit Gemüse dazwischen auftürmen, mit dem Dill-Öl beträufeln.