Skip Navigation

Posts
2
Comments
91
Joined
2 yr. ago

  • oh, i was not aware that there is a head first just about desgin patterns, thanks for the heads up.

    And Archicture is something that gets more and more important for devs, because it's likely that the code we write is just a part of a complex system of which we don't control every part and understanding communication channels and the reasoning behind the setup of the system allows us to write our part in a way that it works well in the bigger thing and not something others (or worse, we) have to work around later.

    • Refactoring by Martin Fowler, having patterns to help identify parts of code that could be changed for the better helps a lot.
    • Test-Driven Development with Python, because testing is important and you should atleast have tests in mind when writing you code, even if you dont write them first. I like this one, because it's very hands-on.
    • Head first java by Sierra and Bates, good introduction to programming with languages that offer object orientation and not as dry as the gang of four book, but definitely aimed at beginners
    • Fundamentals of Software Architecture by Richards and Ford, working as a programmer often means talking with big picture people or being one yourself, and they have their own strange language.
    • Domain Driven Design by Evans, for a similiar reason as Fundamentals of Software Architecture.
    • Neuromancer by William Gibson, because fun is important ;)
  • https://github.com/j6t/kdbg might be to your liking, but it is still a gdb frontend.

    depending on the language you use there might be an IDE with a good debugger for it, if so i'd have a look at that.

  • have a look at venv for your future projects :) there is also some tooling to help with all the warts around python and packaging.

    last bigger python project i was part of used poetry, but it's been ages, so there is probably a new cool thing i am not aware of.

  • Racist

    Jump
  • Pike strikes me as more highbrow than that.

  • A virtual machine with Linux might be an option or Remote Desktop to a linux machine.

    If its just about virtual desktops:

    Windows 11 has that, i think win+ctrl+d creates a new one and win+ctrl+left arrow/right arrow scrolls through the desktops.

    with that Docker and WSL(because powershell confuses me, and iam to lazy to learn it) i work pretty much the same as i would on a linux machine with a non-tiling window manager.

  • does authentik offer an option to preview a jwt for a given user? might be as simple as that the claim is not named "ocisAdmin" or is not a toplevel entry in the jwt.

  • not an authentik user, but after skimming their docs i think you have to:

    1. create a role "ocisAdmin" via authentiks admin interface
    2. give this role to a group in the admin interface or create one.
    3. assign a user thats supposed to be an owncloud admin to the group

    it might be that you also have to define somekind of mapper to include this in the informations owncloud receives from authentik, but as i said i only skimmed the docs and would personally just try it without the mapper.

  • oh, thats good to know, forgejo seems way nicer for self hosting than the limited gitlab open source core.

  • https://distribution.github.io/distribution/

    is an opensource implementation of a registry.

    you could also self host something like gitlab, which bundles this or sonatype nexus which can serve as a repository for several kinds of artifacts including container images.

  • multiple other objects might be holding a reference to the object you want to change, so you'd either have to recreate those too or mutate them to let them point to the new object.

    however if you can do what you want to do in a side effect free way i suggest doing that, as it is indeed easier to reason about what happens this way.

  • mainly java dev here:

    if i only have few classes i want to serialize/deserilize i implement the logic for that in the class, if they need special logic for that, and implement the serilizable interface. writing objects to somewhere or reading them from somewhere belongs in a different class.

    if i have a lot of classes or use a framework like spring i'll employ whatever they offer for serilization and deserilization or more likely a databinding library like jackson.

    other languages with classes or structs offer simmiliar options(pythons pickling and unpickling or the json package in their standardlib for example) so my approach would stay mostly the same.

  • that this does not make us fools is exactly what i wrote.

    i am just tired of that "joke" that developers don't understand their own work. its neither funny nor does it help anyone.

  • i hate this joke.

    yes, trial and error is part of the process, but that does not mean we are bumbling fools that don't know how or why things work. trial and error is part of any complex endeavour or learning new things.

    when i started programming i struggled with getting stuff to compile, because i didn't know the language i was using well, i later struggled with getting my code to work on other machines because i didn't understood how to package it.

    we absolutely get more competent, but we use complex tools to do complex stuff and we seldom have to produce the exact same thing twice, so of course we often find ourselves in somewhat uncharted territory.

  • oh, i use krita on android but only because i've got one of these fancy foldables. (do not recommend, most app dont use the bigger screen well, so its mainly an expensive ebook reader and a phone)

  • i use gimp or krita for stuff like that.

    way overkill, but whatever.

  • no, i don't think there is a big difference in 'difficulty' between both languages.

    there is just more material for java, and as i said the languages are very similar, so learing to program in java wont be a waste of time if you plan to only use c# after that, because the concepts you learned a long the way will easily carry over.

  • learn java, way more material for that, but conceptionally very similar to c#. I suggest a book like "Head first Java".

    after that c# will be much easier to grasp.

  • i mean: provide a link to the repo in your posts body, do not just link to your blog ;)