Skip to content

Piero Bosio Social Web Site Personale Logo Fediverso

Social Forum federato con il resto del mondo. Non contano le istanze, contano le persone

Something in #VSCode just wrote a #JupyterNotebook in my name, seemingly based on the name I gave to the #Python project.

Uncategorized
1 1 9
  • Something in just wrote a in my name, seemingly based on the name I gave to the project. When I saw that the file existed, I assumed it was just some “Hello, world” like thing.

    Eventually I looked at it.
    It was extensive had lots of sentences like, “I haven't yet decided how to represent digits larger than 9”, which either are not true or non-sensical for my project.

    I am pleased that I could this before that ever made it to a public repository. And I am extremely annoyed that I could have published some AI generated text in my name.

    I’m not in principle opposed to using AI to assist in development. After all, linters are AI as far as I am concerned. But something that writes crap in my name without explicitly drawing my attention to the fact that it is doing so is not the kind of thing that will win me over to AI.

  • oblomov@sociale.networkundefined oblomov@sociale.network shared this topic on

Gli ultimi otto messaggi ricevuti dalla Federazione
Post suggeriti
  • 0 Votes
    1 Posts
    3 Views
    Nearing my end of day 3 of the #7dfps #gamejam. Got the core gameplay mechanics going. The weapon has two chambers, load one of two colors in each, only hurtful to the same colored enemy. I had a similar #mechanics in an older game of mine but it works better here. Started experimenting with gl lines for #explosions. Its getting to that point where I'm playing the game more than I'm coding it, which is exactly where I want to be. #gamedev #screenshotsaturday #indiegame #panda3d #python
  • 0 Votes
    1 Posts
    7 Views
    Under the hood update!I’ve finally retired the old cron + sh setup for the weather bots. It served us well, but it had a major flaw: if I rebooted the server while it was posting, the job just died halfway. If the server was down during a scheduled slot, the forecast was lost forever.So, I wrote a custom Python daemon to run inside the FreeBSD Jails.It’s stateful now. If a crash happens at city 15 of 50, it resumes exactly there on reboot.If the server naps/is rebooting during a scheduled run, the bot realizes it missed a slot and runs immediately upon waking up.#FediMeteo #SysAdmin #Python #FreeBSD #Coding #SelfHosted #OwnYourData #StayTuned
  • 0 Votes
    2 Posts
    8 Views
    @sgued USB and NTSC are clearly missing.
  • 0 Votes
    1 Posts
    16 Views
    cross-posted from: https://lemmy.dbzer0.com/post/55501944 Hey, I’ve been kicking around an idea for a bot: it would look for fanfiction links shared in a server and keep track of which ones get shared the most. The concept: Track sites like AO3, FanFiction.net, ScribbleHub, etc. Count how often each link gets posted Commands to see the “top” links or which domains are tracked It’s just a rough idea, I haven’t built it yet. Curious if anyone thinks this would actually be useful or has tips for implementing it without overcomplicating things. import re import json import discord from collections import Counter from discord.ext import commands TOKEN = "YOUR_BOT_TOKEN" intents = discord.Intents.default() intents.message_content = True bot = commands.Bot(command_prefix="!", intents=intents) # Domain list you want to track (lower-case) TRACK_DOMAINS = { "archiveofourown.org", "fanfiction.net", "forum.questionablequesting.com", "forums.spacebattles.com", "forums.sufficientvelocity.com", "webnovel.com", "hentai-foundry.com", "scribblehub.com", } link_pattern = re.compile(r'https?://\S+') link_counter = Counter() def domain_of_url(url: str) -> str | None: try: # Extract domain part from urllib.parse import urlparse parsed = urlparse(url) domain = parsed.netloc.lower() # remove leading “www.” if domain.startswith("www."): domain = domain[4:] return domain except Exception: return None def save_links(): with open("links.json", "w") as f: # convert counts to dict json.dump(dict(link_counter), f) def load_links(): try: with open("links.json") as f: data = json.load(f) for link, cnt in data.items(): link_counter[link] = cnt except FileNotFoundError: pass @bot.event async def on_ready(): load_links() print(f"Bot is ready. Logged in as {bot.user}") @bot.event async def on_message(message): if message.author.bot: return links = link_pattern.findall(message.content) for link in links: dom = domain_of_url(link) if dom in TRACK_DOMAINS: link_counter[link] += 1 await bot.process_commands(message) @bot.command(name="links") async def links(ctx, top: int = 10): if not link_counter: await ctx.send("No links recorded.") return sorted_links = sorted(link_counter.items(), key=lambda x: x[1], reverse=True) display = sorted_links[:top] lines = [f"{link} — {count}" for link, count in display] await ctx.send("**Top links:**\n" + "\n".join(lines)) @bot.command(name="domains") async def domains(ctx): """Show which domains are tracked.""" await ctx.send("Tracked domains: " + ", ".join(sorted(TRACK_DOMAINS))) @bot.command(name="dump") async def dump(ctx): """For admin: dump full counts (might be large).""" if not link_counter: await ctx.send("No data.") return lines = [f"{link} — {cnt}" for link, cnt in sorted(link_counter.items(), key=lambda x: x[1], reverse=True)] chunk = "\n".join(lines) # Discord message length limit; you may need to split await ctx.send(f"All counts:\n{chunk}") @bot.event async def on_disconnect(): save_links() bot.run(TOKEN)