• 2 Posts
  • 16 Comments
Joined 1 年前
cake
Cake day: 2023年6月24日

help-circle


  • Red Hat saying that argument in-particular shows they’ve pivoted their philosophy significantly, it’s a seemingly subtle change but is huge - presumably due to the IBM acquisition, but maybe due to the pressures in the market right now.

    It’s the classic argument against FOSS, which Red Hat themselves have argued against for decades and as an organisation proved that you can build a viable business on the back of FOSS whilst also contributing to it, and that there was indirect value in having others use your work. Only time will tell, but the stage is set for Red Hat to cultivate a different relationship with FOSS and move more into proprietary code.




  • I personally found Fedora to be rock solid, and along with Ubuntu provided the best hardware support out of the box on all my computers - though it’s been a couple of years since I used it. I did end up on Ubuntu non-LTS in the end as I now run Ubuntu LTS on my servers and find having the same systems to be beneficial (from a knowledge perspective).



  • Containers can be based on operating systems that are different to your computer.

    Containers utilise the host’s kernel - which is why there needs to be some hoops to run Linux container on Windows (VM/WSL).

    That’s one of the most key differences between VMs and containers. VMs virtualise all the hardware, so you can have a totally different guest and host operating systems; whereas because a container is using the host kernel, it must use the same kind of operating system and accesses the host’s hardware through the kernel.

    The big advantage of that approach, over VMs, is that containers are much more lightweight and performant because they don’t have a virtual kernel/hardware/etc. I find its best to think of them as a process wrapper, kind of like chroot for a specific application - you’re just giving the application you’re running a box to run in - but the host OS is still doing the heavy lifting.



  • I was recently helping someone working on a mini-project to do a bit of parsing of docker compose files, when I discovered that the docker compose spec is published as JSON Schema here.

    I converted that into TypeScript types using JSON Schema to TypeScript. So I can create docker compose config in code and then just export it as yaml - I have a build/deploy script that does this at the end.

    But now the great thing is that I can export/import that config, share it between projects, extend configs, mix-in, and so on. I’ve just started doing it and it’s been really nice so far, when I get a chance and it’s stabilised a bit I’m going to tidy it up and share it. But there’s not much I’ve added beyond the above at the moment (just some bits to mix-in arrays, which was what set me off on this whole thing!)



  • Yes, I love it! Really it’s the MacOS-like “Expose” feature that I find to be essential.

    I would advise against using workspaces though, I find those actually sort of go against the core idea of it IMO. There are a few things I’d really like added to it, but for the most-part when you get into it it’s great.

    My main desktop I have 4 monitors (I know, but once you start a monitor habit it’s really hard to not push it to the limit - this is only the beginning!) It roughly breaks down into:

    1. Primary work (usually a full-screen editor)
    2. Terminals (different windows, some for the project, some monitoring)
    3. Browsers - documentation, various services, my own code output
    4. Communication - signal, discord, what’s app (ugh), etc.

    The key, literally, is you just press the Super key and boom, you can see everything and if you want to interact with something it’s all available in just one click or a few of key presses away.

    On my laptop with just one screen, I find it equally invaluable, and is actually where I started to use it the most - once again, just one press of Super and I can see all the applications I have open and quickly select one or launch something.

    It’s replaced Alt + Tab for me - and I know they’ve made that better, and added Super + Tab, but none of them are as good as just pressing Super.

    The things I’d really love added to it are:

    • Better tiling (including quarter tiling). It’s a sad state of affairs when Windows has far better tiling than Gnome.
    • Super then Search, I’d like it to filter the windows it’s showing and shrink/hide the others, along with a simple way to choose one using the keyboard.
    • Rather than having an icon for each window, I also want the tooltip information to always be shown (e.g. vs code project) and for standard apps to expose better information for that (e.g. Gnome Terminal to expose its prompt/pwd) and/or have a specific mechanism by which apps could communicate.
    • Adding Quicksilver-like functionality to the launcher/search would be amazing. e.g.
      • Super
      • Sp… (auto-populates Spotify)
      • Tab
      • P… (auto-populates Play/Pause)
      • Return
    • Session restoration - it just doesn’t work at the moment for some reason. Some apps do, some don’t. Some go to their correct position/size, some don’t.




  • vampatori@feddit.uktoSelfhosted@lemmy.worldDefeated by NGINX
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    1 年前

    Assume nothing! Test every little assumption and you’ll find the problem. Some things to get you started:

    • Does the “app” domain resolve to the app container’s IP from within the nginx container?
    • Can you proxy_pass to the host:port directly rather than using an upstream definition? If not, what about IP:port?
    • Can you connect to the app container from outside (if exposed)? What about from inside the nginx container? What about inside the app container?
    • Is the http(s) connection to the server (demo.example.com) actually going to your nginx instance? Shut it down and see if it changes.
    • If it works locally on 80, can you get it to work on the VPS on 80?
    • Are you using the exact same docker-compose.yaml file for this as locally? If not, what’s different?
    • Are you building the image? If so, are you incrementing the version number of the build so it gets updated?
    • Is there a firewall running on the host OS? If so, is it somehow interfering? Disable it and see.

    While not a direct solution to your problem, I no longer manually configure my reverse proxies at all now and use auto-configuring ones instead. The nginx-proxy image is great, along with it’s ACME companion image for automatic SSL cert generation with certbot - you’ll be up and running in under 30 mins. I used that for a long time and it was great.

    I’ve since moved to using Traefik as it’s more flexible and offers more features, but it’s a bit more involved to configure (simple, but the additional flexibility means everything requires more config).

    That way you just bring up your container and the reverse proxy pulls meta-data from it (e.g. host to map/certbot email) and off it goes.


  • It does feel like there’s been a shift, especially in organisations that use the work of others for their own benefit (e.g. open source, community produced content, etc). It seems like there’s been a real move to have their cake and eat it.

    Oracle has just made an aggressive move with regards to Java licensing too, they’re now charging as much as $15/month/employee to use their Java runtime on the desktop/server. Their FAQ even points you to OpenJDK if you don’t want to pay, which is strange - it makes me think the relationship between Oracle and the OpenJDK will be ending sometime in the not-so-distant future. There are several Java projects I’ve done where that would just become non-viable as it was a project for a single department in a large company.

    Software developers are one of the most altruistic groups of people - it’s amazing just how much time and effort they put into things that they get no financial return on, only the love of actually doing it. And people that dedicate their time and effort to online communities, education, and so on are equally amazing.

    But I think it’s time to stop being so naive and realise that many large corporate entities are abusing this relationship for their own gain.