• 1 Post
  • 7 Comments
Joined 1 year ago
cake
Cake day: June 15th, 2023

help-circle
  • Some tips:

    • Unless the code is very small, or your feature is very big, try to put blinders on, and focus only on the code you absolutely need to to get your feature built. Use search tools to comb through the code to find the relevant methods while reading as little surrounding code as possible, tweak those methods to be different, and call that a first draft. If the maintainer wants the code refactored or differently arranged, they can help with that as part of the review process
    • Being unable to build sucks, it really does. But if the software is released for your platform, it means someone out there is able to build it. And these days that someone is often an automated build tool that runs per release. See if you can figure out how this tool works. What build steps it uses, what environment it runs in, etc. If you can’t figure that out, try contacting the person who releases the builds
    • If the software is in apt (if you’re on a Debian-based system), you can use apt build-dep, apt source, and debuild to try and recreate the native apt build process. These tools will give you the source that built the system package, and its dependencies, and allow you to build a deb yourself out of it. Test the build to make sure it’s working as-is. If it is, and if the software’s dependencies haven’t changed too much, you can even use apt to fetch the old version that’s in the repos, update the code to reflect the upstream release, and then test the build there to see if it still builds. If so, now you have something you can start working off.
    • If you aren’t on an apt system, but do have a package manager, I assume there’s an equivalent to the workflow mentioned above
    • If your change is subtle enough that you think it’s pretty low-risk, you could just edit the code even though you can’t build it. This might be sufficient for bug-fixes where you just need to check something is greater than zero, or features where you pass a true instead of a false in certain conditions or something. You should probably mention this in your PR / MR / Patch so the reviewer knows to test building it before merging.
    • This one is a bit wild, but let’s say you’re on a Mac or Windows machine, and the build instructions only work for Linux. You can just run a virtual machine that’s got Ubuntu or something running on it, and use it as your build environment. These days you can probably be in a simpler situation with Docker or something more lightweight, but as a worst-case scenario, a full virtual machine is there for you if you need it
    • And finally, if the tool isn’t a crazy popular or busy tool, it’s possible the maintainer or other people in the community are more approachable than you think. If they are looking for contributions, then getting a willing contributor’s build environment setup is a benefit to the project. Improving their build docs helps not just you, but potential future contributors as well. A project will usually be more helpful towards someone who says “I’m trying to build this feature, but I’m running into trouble” compared to someone saying “why doesn’t your tool do X”. You may need to be a bit patient, they’re probably doing this on volunteer hours, but they might be happy to help you get your stuff sorted out

    Good luck out there, and try not to be discouraged!








  • I have two criticisms of this view.

    The first is the distinction between “replacing humans” and “making humans more productive”. I feel like there’s a misunderstanding on why companies hire people. I don’t hire 15 people to do one job because 15 is a magic number of people I have to hit. I hire 15 people because 14 people weren’t keeping up and it was worth more to my business to hire another expensive human to get more work done. So if suddenly 5 people could do the work of 15, because people became 3x more efficient, I’d probably fire 10 people. I no longer need them, because these 5 get the job done. I made the humans more effective, but given that humans are a replacement for humans, I now don’t need as many of those because I’ve replaced them with superhumans instead.

    If I’m lucky as a company I could possibly keep the same number of people and do 3x as much business overall, but this assumes all parts of my business, or at least the core part, increases at the same time. If my accounting department becomes 3x as efficient but I still have the same amount of work for them to do because accounting isn’t the purpose of my business, then I’m probably going to let go some accountants because they’re all sitting around idle most of the time.

    It used to be that a gang of 20 people would dig up a hold in the road, but now it’s one dude with an excavator.

    The second thing is the assumption that AI art is being evaluated as art. We have this notion in our culture that artists all produce only the best novels and screenplays, and all art hangs in a gallery and people look at it and think about what the artist could have meant by this expression, etc. But that’s virtually no one in the grand scheme of things. The fact that most people know the names of a handful of “the most famous artists of all time”, and it’s like 30 people on the whole earth and some of them are dead should mean something.

    Most writers write stuff like the text on an ad in a fishing magazine. Or fully internal corporate documents that are only seen by employees of that one company. Most visual artists draw icons for apps that never launch. Or the swoopy background for an article. Or did the book jacket for a book that sells 8 copies at a local tradeshow. If there’s a commercial for chips, someone had to write it, someone had to direct it, someone had to storyboard it. And no one put it in a museum and pondered its expression of the human experience. Some people make their whole living on those terrible stock photographs of a diverse set of people all laughing and putting their hands into the middle to show they’re a team.

    Even if every artist with a name that anyone knows is unaffected by this, that can still represent a massive loss of work for basically all creative professionals.

    You touched on some of these things but I think glossed over them too much. AI art may not replace “Art”, but virtually no one makes money from “Art”, and so it doesn’t have to replace it for people to have no job left.