Programming

15472 readers
1 users here now

All things programming and coding related. Subcommunity of Technology.


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 3 years ago
MODERATORS
1
 
 

cross-posted from: https://infosec.pub/post/48245849

Hello everyone, you may remember I dropped by a while back concerning my cooperative management project.

The idea has evolved to building an open-source Enterprise Resource Planning application specifically for worker's cooperatives. While most ERP software focuses on driving top-down directives, the goal of this project is to enable the cooperatives to work, make decisions, and resolve disputes more efficiently than basically any other type of company.

Current tech stack: Docker, postgres, nginx, SQLAlchemy, gunicorn, jinja2, Flask, Alembic, and Redis.

Please check out the repository documentation if this sounds like something you may be interested in. The docs include the foundational philosophy document called "Hierarchy by Consent" and there is also a template for an Articles of Incorporation that I intend to include as the first default document template in the software.

I'm still pretty early in the process but most of the tables are set up and I've made notes in the the classes explaining the requirements and workflows.

I've also got some issues started on Codeberg, mostly related to the front-end, which is where I need the most help at the moment. I will certainly be glad for help elsewhere as well.

It's an open-source project so there is no immediate financial incentive. Part time contributors are certainly welcome.

There's a discussion room on Matrix and here is the Repository.

Thanks folks

2
 
 

cross-posted from: https://lemmy.zip/post/66082776

I never see in public git projects something like a declaration of scope. There's also no convention, unlike a README.md (which rarely contains some sort of scope definition) or LICENSE file.

Is this unusual in open source projects, that you first define what you want and not want in your project and how you want to do it, to combat scope creep and sabotaging yourself?

I'm in a postition in live (short of a burnout) where it's actively a pain to just start things and then wing it; i even add a scope comment to larger shell scripts.
Maybe it's experience, because i already know that i'm then not satisfied afterward or (in case of shell scripts) just create a unfinished mess. Nobody else?

3
 
 

Hello lemmings, I made a program to ping every IPv4 address and collect data on respondents. I am almost done, but I want feedback on things I should change or how I can improve my current record of 5,000 pings / second.

I am currently aware that I need to properly parse the data I receive on the receive socket, since it's possible the TTL router messages might be confused as replies. ICMP is used on networks to inform other machines of network problems.

One issue I'm aware of is the tuning that has to go into maximizing throughput while also avoiding a total system freeze. My code seems to spend too much time opening sockets that it leaves no room for the actual OS. My only fix currently is limiting the CPU time to the ping timeout I used.

The overall program works like this: It keeps a linked list / pool of task objects. All objects are initially in the "free list" and then when they become associated with a socket, they move to the "active list". The program first checks for updated sockets with epoll which results in like 5% of sockets giving a response. It then closes any tasks that have timed out via linked list in O(1) each. The slow part is when it creates new sockets, since it doesn't really know when to stop, besides when the non-blocking socket informs it that it would block. I implemented a time limit on sending that is currently the maximum of the ping timeout. To increase throughput it seems like I need to streamline how I send ICMP packets.

https://github.com/bneils/PingStorm

4
5
12
submitted 1 month ago* (last edited 1 month ago) by RougeEric@lemmy.zip to c/programming@beehaw.org
 
 

I recently decided to ditch my ancient WordPress portfolio and build a new site from scratch.

Because I wanted to show off a little bit, I decided I wanted to make it into a 2D side-scroller using Little.js. The issue was figuring out how I could keep the site accessible.

I just wrote the first blog post in a series on how I am making that very site.
The site is still a work in progress; but I felt this could interest people here. And it gives me a chance to test out the blog feature I just coded in.

6
 
 

I wrote a blog post about me getting in to FSharp web application development, but am having issues deciding how I want the data access to look. I'm very much open to feedback!

7
 
 

wares was inspired by Obtainium and pkgit.

wares is available on GitHub. Looking for anyone willing to test, provide feedback, or even contribute

8
 
 
9
10
11
12
 
 

You may have noticed that activity on the public Log4cxx, Log4j, and Log4net repositories has slowed since December 2025. I want to reassure you that the projects are still being actively monitored...

13
 
 

Companies are replacing entry-level coding positions with AI tools, creating a dangerous gap in the talent pipeline. If no one trains the next generation of developers, who will maintain and build the systems of the future?

14
15
 
 

TL;DR: The big tech AI company LLMs have gobbled up all of our data, but the damage they have done to open source and free culture communities are particularly insidious. By taking advantage of those who share freely, they destroy the bargain that made free software spread like wildfire.

16
 
 

cross-posted from: https://feddit.nl/post/45839000

When publishing a package for use by programmers, automated changelog generation is very beneficial. In this blog post, I explore how to do it in a simple way that works everywhere.

17
 
 

cross-posted from: https://lemmy.zip/post/52108691

Hi, this is a post for you to rant on your sore points on technology

See I am trying to think of a good project idea one that people actually want solved, is there an app you wished existed, a site u wanted, put it down here and hey what do you know you may just see an ad in some while that now it exists

18
19
20
21
22
 
 

What are some general recommendations to maintain a set of patches on top of a library distributed as a source tarball? Until now I've been adding the versions to a git repository by deleting previous files and adding the new files in a "upstream" branch, then merging that branch into the main branch which contains my patches. This turned into more work than I expected because they started moving files around and renaming in new releases.

I should probably be rebasing instead of merging, but are there any other recommendations for this type of situation?

23
 
 

cross-posted from: https://leminal.space/post/24911246

I'll be self-hosting a service with user submissions soon, so I'm worried about the https://howto.geoblockthe.uk/ situation.

Based on this I've wondered, are there any community maintained geo block lists that might be useful? All database options I found are either 1. an on-demand online service which seems questionable for privacy reasons, or 2. IPv4 only, or 3. have weird terms of use with a gag clause regarding the entire company making it and other weird stuff.

I'm not a fan of geo blocking in general, but the situation is what it is.

PS: Please don't discuss the Online Safety Act itself too much in the comments, or whether somebody should be using a geo ip to handle this. While I might appreciate useful input on that, I'm hoping this post can remain a resource for those who are looking for such a database for other reasons as well.

24
25
 
 

TypeScript does not throw an error at compile time for accessing an out-of-bounds index. Instead, it assumes that the value could be one of the types defined in the array (in this case, 1 or 2) or undefined.

TypeScript automatically infers the type of a value accessed from an array, even if that access is out of bounds. It assumes that the value could be one of the defined types or undefined, which can lead to confusion if you expect stricter enforcement of valid indices.

I just spent the last 2 hours trying to understand why I was getting a valid type from something that shouldn't have been valid.

I think that the hate that JavaScript receives is well deserved, at least coming from Rust this is an absolute nightmare.

view more: next ›