Programming

20363 readers
137 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
1
 
 

Hi all, I'm relatively new to this instance but reading through the instance docs I found:

Donations are currently made using snowe’s github sponsors page. If you get another place to donate that is not this it is fake and should be reported to us.

Going to the sponsor page we see the following goal:

@snowe2010's goal is to earn $200 per month

pay for our 📫 SendGrid Account: $20 a month 💻 Vultr VPS for prod and beta sites: Prod is $115-130 a month, beta is $6-10 a month 👩🏼 Paying our admins and devops any amount ◀️ Upgrade tailscale membership: $6-? dollars a month (depends on number of users) Add in better server infrastructure including paid account for Pulsetic and Graphana. Add in better server backups, and be able to expand the team so that it's not so small.

Currently only 30% of the goal to break-even is being met. Please consider setting up a sponsorship, even if it just $1. Decentralized platforms are great but they still have real costs behind the scenes.

Note: I'm not affiliated with the admin team, just sharing something I noticed.

2
3
 
 

cross-posted from: https://programming.dev/post/31210046

Firefox 139.0 released yesterday, with support for the Temporal JavaScript API.

I explored the API, writing down the most relevant interfaces into a reference or cheat sheet.

It's certainly and finally a thorough API for handling temporal information. Working with zoned datetime across time offsets and time zones can get very confusing, though.

I love how you can work with them though, especially with durations.

console.log(Temporal.PlainDateTime.from('2025-02-05T08:00:00'))

console.log(Temporal.Now.plainDateTimeISO("Europe/Berlin"))

console.log(Temporal.Now.plainDateTimeISO().add('PT2M0.2S').subtract('PT0.5S').since(Temporal.Now.plainDateTimeISO()))

console.log(Temporal.ZonedDateTime.from('2025-02-05T13:57:35.777888[Europe/Berlin]').withTimeZone('Europe/London'))
4
 
 

I learned about Appwrite from the entry in the selfh.st newsletter. It looks like an open source (BSD-3 Clause license) alternative to Google's Firebase and other BaaS platforms:

https://appwrite.io/blog/post/open-source-firebase-alternative

I haven't tried it, but it looks neat

5
6
7
 
 

Is anyone aware of any FOSS browser replacement projects? Being a "full stack dev" (feels like a false skill set most of the time) I'm at this point where there are easily enough of us who have struggled with implementing web apps in the various frameworks and tools that essentially all boil down to JavaScript, HTML and CSS.

There's nothing wrong with them individually, but with modern languages and hardware we should be able to make something better. At least in a way to encourage adoption of something better, and I want to contribute to it.

8
 
 

Marketers promote AI-assisted developer tools as workhorses that are essential for today’s software engineer. Developer platform GitLab, for instance, claims its Duo chatbot can “instantly generate a to-do list” that eliminates the burden of “wading through weeks of commits.” What these companies don’t say is that these tools are, by temperament if not default, easily tricked by malicious actors into performing hostile actions against their users.

Researchers from security firm Legit on Thursday demonstrated an attack that induced Duo into inserting malicious code into a script it had been instructed to write. The attack could also leak private code and confidential issue data, such as zero-day vulnerability details. All that’s required is for the user to instruct the chatbot to interact with a merge request or similar content from an outside source.

9
10
 
 

The comment does well in providing context and arguments.

Lets go back to the closest thing we have for requirements for this editor..Default CLI Editor - Feature Exploration!. This discussion was based on the current state of windows and was not concerned with UNIX.

Being a simple text editor, it should not hallucinate, it should not add text one did not type, it should not change the text that was typed. If the user typed a tab character, it was because the user wanted a tab character. If you want four spaces then type four spaces.

edit should by default work like the original namesake and not hallucinate or add characters that were not typed or make assumptions.

Where do you draw the line on "smart" features? Tab should not add indent spaces? Encoding or newline mechanisms? Determining EOF newline?

11
 
 

Title really, but some comments ...

I'm likely to move to Codeberg, and I like the idea of a CI system that I can run locally, without tie-in to a particular code hosting vendor. But why this over e.g. Jenkins, or whatever other systems there are these days? I'm new to Woodpecker.

12
13
14
 
 

I'm trying to figure out what has changed between the previous version of the user agreement and the current one, and the big missing thing is lack of the fallback version definitions and rules. Does this mean Jetbrains no longer offers them?

15
16
 
 
17
 
 

I came across Nepenthes today in the comments under a post about AI mazes. It has an option to purposefully generate not just an endless pit of links and pages, but also to deterministically generate random, human-like text for those pages to poison the LLM scrapers as they sink into the tarpit.

After reading that, I thought, could you do something similar to poison image scrapers too?

Like if you have an art hosting site, as long as you can get an AI to fall into the tarpit, you could replace all the art it thinks should be there with distorted images from a dataset.

Or just send it to a kind of “parallel” version of the site that replaces (or heavily distorts) all the images but leaves the text descriptions and tags the same.

I realize there’s probably some sort of filter for any automated image scraper that attempts to sort out low quality images, but if one used similar images to the expected content, that might be enough to get through the filter.

I guess if someone really wanted to poison a model, generating AI replacement images would probably be the most effective way to speed up model decay, but that has much higher energy and processing power overhead.

Anyway, I’m definitely not skilled/knowledgeable enough to make this a thing myself even just as an experiment. But I thought you all might know if someone’s already done it, or you might find the idea fascinating.

What do you think? Any better ideas / suggestions for poisoning art scraping AI?

18
 
 

Game Development Tutorials

Intro to Game Development

  1. Lukky - Making a Game from Start to Finish (Tutorial)
  2. Brackeys - How to make a Video Game - Godot Beginner Tutorial
  3. Brackeys - How to program in Godot - GDScript Tutorial

Basic Game Development

  1. LegionGame - Juiced Up First Person Character Controller Tutorial - Godot 3D FPS
  2. Lukky - Godot 4.0 Third Person Controller Tutorial (2023)
  3. Quilled - Import Animations in Godot 4 with Animation Retargeting
  4. LegionGame - Design 3D Game Levels From Scratch - Godot 4 Tutorial

Advanced Game Development

  1. Chap C. Creates - The First Skill GODOT Beginners Should Learn - State Machine Game Showcase
  2. The Shaggy Dev - Starter state machines in Godot 4
  3. The Shaggy Dev - Advanced state machine techniques in Godot 4

Basic Game Development (continued)

  1. LegionGames - 3D Enemies With Pathfinding and Animations - Godot 4 FPS Tutorial
  2. LegionGames - Complete 3D Shooting Mechanics - Godot 4 FPS Tutorial
  3. LegionGames - Hitscan Guns, Weapon Switching and Crosshairs - 3D Godot 4 FPS Tutorial
  4. LegionGames - Fully Destructible 3D Environments - Godot 4 FPS Tutorial
  5. Coco Code - Godot UI QUICKSTART (Ex-Unity friendly guide)
  6. DevWom - How to Create a INVENTORY in Godot 4 (step by step)

Game Feel

  1. Game Maker's Toolkits - What Makes a Good Combat System?
  2. Extra Credits - Open World Design - How to Build Open World Games
  3. Razbuten - How Small Open-World Games Feel Big
  4. Game Maker's Toolkit - What Makes Good AI?
  5. Game Maker's Toolkit - How to Keep Players Engaged (Without Being Evil)
  6. Game Maker's Toolkit - Secrets of Game Feel and Juice
  7. Game Maker's Toolkit - The mistake every new game developer makes (Developing 2)
19
20
21
 
 

I need to create a website that holds some events data as well as other content, it will also maybe need to grab some data from APIs.

Since I'm skilled with Hugo (static site generator) I thought I could use that but it's turning out it's a total mess actually.

In Hugo I can have contacts (like events organizers) as taxonomy, but that is a different format (yaml) than CSV or vcard, and it's also static, meaning that if I edit a contact it will only change in Hugo. So I found myself having to manage contacts in 4 different places, in 4 different ways: Hugo yaml, Thunderbird, google contacts, CSV (from earlier days)... And I will add mailchimp once I'll also add a newsletter. This ensures my contacts are kinda becoming a mess.

Same goes with events, it's okay if I generate events in Hugo, but if I grab events from APIs and then the API content changes I will have to modify it on Hugo as well.

Everything it's turning out to be a total mess essentially and I think I tried to use something simple to build something quite complex, I realized the complexity later.

Now ideally I would like to be able to have my contacts, my newsletter, my content in one single place ato have everything nicely synced and not having to deal with 30 different lists or formats.

What should I do?

I know about the jamstack and headless CMS like ghosts and I was wondering if they could be a good solution, or if I should opt for a full CMS. Obvious solution would be WordPress but I wouldn't really want to mess with all the plugins.

Also I spent quite a but of time in building my templates for the Hugo website and throwing everything away would feel awful, if there's a way to reuse them (?).

I know some JavaScript basics but I would avoid it if possible.

22
23
24
25
 
 

I'm writing to follow up on the QP tool here- because I posted before, and it was incredibly helpful. Thanks to those who helped out with all the directions.

RECAP:

Been building a tiny tool to share structured thoughts fast- no tabs, just type and share.

It’s called Quickpoint → https://quickpoint.me/

Curious what people think it's for. Some use it like a notepad, some for demos or quick specs.

If you gave it 30 seconds:

**- What’s your gut sense of what this is?

  • Would you actually use it for anything?
  • What would stop you from using it twice?**

Thanks — Trying to see who might use this and for what and adapt accordingly.

Really appreciate any feedback that you can give.

view more: next ›