Skip Navigation

Hexbear Code-Op

Where to find the Code-Op

Wow, thanks for the stickies! Love all the activity in this thread. I love our coding comrades!


Hey fellow Hexbearions! I have no idea what I'm doing! However, born out of the conversations in the comments of this little thing I posted the other day, I have created an org on GitHub that I think we can use to share, highlight, and collaborate on code and projects from comrades here and abroad.

  • I know we have several bots that float around this instance, and I've always wondered who maintains them and where their code is hosted. It would be cool to keep a fork of those bots in this org, for example.
  • I've already added a fork of @[email protected]'s Emoji repo as another example.
  • The projects don't need to be Hexbear or Lemmy related, either. I've moved my aPC-Json repo into the org just as an example, and intend to use the code written by @[email protected] to play around with adding ICS files to the repo.
  • We have numerous comrades looking at mainlining some flavor of Linux and bailing on windows, maybe we could create some collaborative documentation that helps onboard the Linux-curious.
  • I've been thinking a lot recently about leftist communication online and building community spaces, which will ultimately intersect with self-hosting. Documenting various tools and providing Docker Compose files to easily get people off and running could be useful.

I don't know a lot about GitHub Orgs, so I should get on that, I guess. That said, I'm open to all suggestions and input on how best to use this space I've created.

Also, I made (what I think is) a neat emblem for the whole thing:

Todos

  • Mirror repos to both GitHub and Codeberg
  • Create process for adding new repos to the mirror process
  • Create a more detailed profile README on GitHub.

Done

127 comments
  • i always think i'm a good programmer and then i see some open-sourced code some folks did in their spare time that blows my mind and I realise i still know nothing a decade into coding lmao

    this looks really cool, i might see what i can do to help out/if there's anything worth adding to the repo at some point :))

    • 3 years of coding in college that was basically all about math, puzzle solving, and applying data structures, only to then go and actually work on a real web project as a full stack dev: oh it's all API calls and database crap isn't it

      edit: or if you do systems programming then it's all about combobulating 5 different antediluvean libraries together and memory management (Rust stays on top)

  • Spent all morning writing a form for a website and came to hexbear to get away from code and then you dump this on me.

    I'm interested. I have a github account but I'm hesitant to link it because it has my business site on there with identifiable info(real name and city). But I just checked and I currently have 560 commits this last year and 49 repos. I know a bit but I mostly fumble when I need to do merges and shit. Idk anything about gh orgs tho.

    I do web dev mostly but have experience with React/React Native. I've been using Linux full time for about a decade and dual-booted for like 3 years before that. Mostly Ubuntu derivatives but I used Arch for school back in 2015 or so.

  • I'm planning on starting a project for an emote picker android app or Firefox extension that caches and consolidates emotes for any Lemmy instance, but if someone wants to steal this idea, go for it because it's gonna be months before I decide to actually do anything

  • Yoooo

    I have a silly idea for a project I've been wanting to do for a while: if anyone here has played Minecraft with the ComputerCraft mod, how cool would it be to have a system that takes in a bunch of crafting recipes, then uses them to set up supply chains and automatically manage logistics for a bunch of factories? Like project CyberSyn? When I tried this last year I got stuck on a general design for train stations and code for a train station controller that could manage any number of inputs and outputs, but if some other people could suggest ideas and work on it, it might end up being cool.

    • Man I played a lot of ComputerCraft back in the day. Sounds fun, but I do not have the time these days lol. Maybe someone else will though!

    • It's been a long time since I played Minecraft but there was (is?) a mod called Applied Energistics that does this.

      • Yeah it does, that's what I used on my last playthrough, but I feel like it takes a lot of the fun away because you just end up putting a bunch of machines in a line with ME interfaces connected to them and the ME system handles it all. If you use nothing but Applied Energistics there isn't really any point in trains or airships that other mods add. What I wanted to do was to integrate Create trains into the system and have lots of different factories that would import and export materials via rail.

        edit: another thing, AE2 is great for the usecase you usually need in modded Minecraft which is making one-time crafting orders. If you need 5 pistons to build a machine you use AE2 to get those pistons crafted and available in your inventory as fast as possible. That's great, but it's not perfect for everything, and it's actually not very good for the opposite usecase: constant processes that require continuously supplying materials and produce their outputs over time. If you play Minecraft like Factorio you probably will run into a scenario where a mod like AE2 is very tricky to use because it likes to think of everything as sequential orders that are processed step by step, but you'd rather organize production to happen concurrently and find a way to balance the inputs and outputs of all your production lines.

    • This isn't close to what you are working on except for the procedural part but she lets out some ideas out often on how she solves problems.

      • Pretty cool, gave me some ideas for how to manage trains. Granted, in her game she can just pop the trams in and out of existence arbitrarily, and it looks like she doesn't have a system for handling collisions by dividing the rail network in blocks and using signals to ensure each block is only occupied by one train at a time.

    • Your idea reminds me of my own little project I've worked on in making decentralized production nodes that solve the problems of how to make supply equal demand and also testing different systems of distribution like a market or beyond.

      I am already familiar with input-output tables and how one can use them to solve for the total demand of an economic system given a vector of required final products as input. That is just linear algebra (and is along the lines of how economists like Sraffa, Pasinetti, etc. approach economics) but I wanted to make a system where the decentralized nodes in a network figure it out.

      The network is essentially a multilayer network where you can have one layer representing physical flows between factorie, stations, etc., another for monetary transactions (if they exist), and another layer for communication. I haven't looked into the algorithms in Towards a New Socialism though. But I've wanted to read it and see it can be added with the lenses of Input output and network theory. The project you mentioned sounds fun and similar to ideas I had thought about. So I'd be open to bouncing ideas around.

      • I haven't looked into the algorithms in Towards a New Socialism though

        Essentially what you said, input output tables where you solve the system by doing gaussian reduction. IIRC the idea for scaling the system up to a whole economy is that since most of the entries in the table only use a handful of inputs, you can change the data structure and use a sparse matrix instead of a regular 2D array, and there are some tricks that take it from a O(N^2) problem to a O(N) problem for N items.

        I think the part of the project for coming up with the production quotas shouldn't be super hard to implement, although making it very automatic can maybe take a while. I wonder if it might be possible to make it so you can just tell the computer, 'add this item to your quota' and have it automatically figure out which crafting recipe to use out of the ingredients it has available in the network, then add a row and column to the table.

        In any case, I think the logistics part of the project might be a little bit more involved because it has to work with a lot of different computers as a distributed system. You'd need to coordinate several different factories to import and export materials on the right trains, accounting for everything that is loaded or unloaded from the trains. Computercraft has a horrible thing where computers lose everything about their state when they are unloaded or when the game closes, which means you have to find a way to get the logistics programs to be fully crash-recoverable without ever losing track of where the cargo has gone. To make it even more complicated, you have to figure out a way to handle the train schedules too, unless you want to have trains that are always making the rounds across different factories for no particular reason. IMO the best way to handle the whole rail network is to organize it in loops of a handful of factories that feed a warehouse via a group of trains that picks up exports from those factories and delivers items they ordered from the warehouse, then have a system of trains that goes from warehouse to warehouse completing the middle leg of each order.

  • Nice idea, but I don't see why even bother using Microsoft Github when there are very serviceable alternatives e.g. Codeberg.

    • Codeberg is great generally, but it might not be a perfect fit for Hexbear due to the fact that it is incorporated in Germany and likely vulnerable to Zionist censorship campaigns (this is purely hypothetical though. I have not heard about actions like this being taken).

      • Well as it's based on Forgejo (fork of Gitea, which is itself a fork of Gogs) there isn't technically any reason there couldn't be a git.hexbear.net, either. My only point is Microsoft is harmful. And Codeberg people are cool, and prove that in their own public statements https://blog.codeberg.org/we-stay-strong-against-hate-and-hatred.html

        Don't be fooled if right-wing forces promise to "promote open source" in their political agenda. This has nothing to do with the values of our movement! This is about national patriotism and protectionism, and they will happily accept splitting our community on their way.

        We all know that the free/libre software ecosystem won't work this way. Every human is an integral and equally important part of it, and targetting some of our community members threatens the ecosystem as a whole.

        ...

        If you ever considered supporting the fight against right-wing forces, for example by joining political movements and parties, organizing protests or getting involved in online communities with this goal - now might be the best time to move ahead.

      • OTOH

        https://docs.github.com/en/site-policy/other-site-policies/github-and-trade-controls

        On which countries and territories are U.S. government sanctions applied?

        Crimea, the separatist areas of Donetsk and Luhansk, Cuba, Iran, North Korea, and Syria. With respect to Iran, however, GitHub now has a license from the U.S. Treasury Department's Office of Foreign Assets Control (OFAC) to provide cloud services to developers located or otherwise resident in that country. GitHub cloud services, both free and paid, are also generally available to developers located in Cuba.

    • Yeah that's fair! People have their code all over. I think this is going to be more like a mirror / hub to find peoples work. Some people will find it on github, some will find it on Codeberg, several people host their own instances or host it else where. I plan on attempting to mirror stuff to various places to meet people where they are.

127 comments