• 0 Posts
  • 173 Comments
Joined 2 years ago
cake
Cake day: June 12th, 2023

help-circle





  • Set up wireguard in a docker container and then forward the port to wireguard, the default container on docker hub is fairly straightforward and you can always ask me for help if you need :).

    However, If you are using ipv4, you need to make sure that you’re not behind a CG-NAT (If you think you might be, call your ISP and tell them you have security cameras that need to get out or something like that).

    You could also try tailscale which is built using wireguard with nat-busting features and a bit easier to configure (I dont personally use it as wireguard is sufficient for me).

    After that Caddy + DNSMasq will simply allow you to map different URLs to IP addresses

    • dnsmasq
      • will let you map, E.g. my_computer -> 192.168.1.64
    • Caddy (Or nginx, but caddy is simpler)
      • will let you map to ports so e.g.:
        • with DNS (DNSMasq as above)
          • http://dokuwiki.my_computer -> http://my_computer:8080
        • Without DNS
          • http://dokuwiki.192.168.1.64 -> http://192.168.1.64:8080/

    Caddy and DNSmasq are superfluous, if you’ve got a good memory or bookmarks, you don’t really need them.

    VPN back into home is a lot more important. You definitely do not want to be forwarding ports to services you are running, because if you don’t know what you’re doing this could pose a network security risk.

    Use the VPN as the entry point, as it’s secure. I also recommend running the VPN in a docker / podman container on an old laptop dedicated just to that, simply to keep it as isolated as you can.

    Down the line you could also look into VLan If your router supports that.

    I personally would not bother with SSL If you’re just going to be providing access to trusted users who already have access to your home network.

    If you are looking to host things, just pay for a digital droplet for $7 a month, It’s much simpler, You still get to configure everything but you don’t expose your network to a security risk.



  • It’s fairly well documented and the up to date packages are very convenient.

    It can also be pretty confusing installing debian and having to find how to install packages that aren’t out of date.

    Imo take a few hours to power through the wiki installation guide and it’s really not too bad + you’re equipped to fix issues as they arise. It’s not Gentoo. When Ubuntu breaks for a new user, it’s a nightmare too.

    So I think I disagree, it’s been easier to use than Fedora, Mint, Debian, Ubuntu, Elementary in my experience. I use Gentoo too but that is indeed simple in the challenging sense.

    Arch is a nice middle ground between Ubuntu and Gentoo.

    Plus, with EndeavourOS users can have their cake and eat it too.





  • Well Ive ad a great time using LLMs to sandbox a dozen implementations and then investigate the shortcoming and advantages of different implementations.

    Mistakes happen a lot but they can be managed on a small MWE with a couple of tests.

    It’s how the tool is used more than any given tool being bad.

    I understand your point and you’re not wrong. However, I’m not wrong either and you should take a second look at how you might use these tools in a way that makes your life easier and addresses the valid limitations you’ve described.


  • I disagree, it’s just a tool. It’s a fantastic way to template applications very quickly, particularly for those who are not already familiar with technologies and may not have the time or opportunity to play around with things otherwise.

    Llm is not a search engine and it can produce awful code. This is not production code, it’s for tinkering. As a sandbox tool, LLMs are fantastic.

    On the ethical side of things, yeah openAI sucks, Qwen2.5 would be up to this task, one can run that locally.


  • Its because the comments he made are inconsistent with common conventions in data engineering.

    1. It is very common not to deduplicate data and instead just append rows, The current value is the most recent and all the old ones are simply historical. That way you don’t risk losing data and you have an entire history.
      • whilst you could do some trickery to deduplicate the data it does create more complexity. There’s an old saying with ZFS: “Friends don’t let friends dedupe” And it’s much the same here.
      • compression is usually good enough. It will catch duplicated data and deal with it in a fairly efficient way, not as efficient as deduplication but it’s probably fine and it’s definitely a lot simpler
    2. Claiming the government does not use SQL
      • It’s possible they have rolled their own solution or they are using MongoDB Or something but this would be unlikely and wouldn’t really refute the initial claim
      • I believe many other commenters noted that it probably is MySQL anyway.

    Basically what he said is incoherent inconsistent with typical practices among data engineers to anybody who has worked with larger data.

    In terms of using SQL, it’s basically just a more reliable and better Excel that doesn’t come with a default GUI.

    If you need to store data, It’s almost always best throw it into a SQLite database Because it keeps it structured. It’s standardised and it can be used from any programming language.

    However, many people use excel because they don’t have experience with programming languages.

    Get chatGpt to help you write a PyQT GUI for a SQLite database and I think you would develop a high level understanding for how the pieces fit together

    Edit: @zalgotext made a good point.



  • A lot of mathematical languages start from 1: R, Julia, Mathematica (and also Lua and Fish).

    I don’t know why, but in, e.g. R, it doesn’t bother me, I get caught by it in Lua all the time.

    I suppose it’s a function of how far the array is abstracted from being pointers to an address that makes it easier to mentally switch.




  • Common laws is dynamic, subject to interpretation and serves often to fill gaps in legislation.

    Common Law is simply a principle that similar judicial findings are binding for future cases. Whilst US, UK, South Africa, Canada etc. Are all common law countries, the application and interpretation of common law is by no means consistend and the US has diverged the furthest from the English tradition.

    So whilst a traditional common law principle may be alive in law, it may also have been modified by a combination of contemporary judicial findings and legislative intervention.


  • With Arch pacman -Syu will do it for you. Generally you are encouraged to stick with the version in the repositories.

    You can install things from source by downloading the source code, building it (eg. gcc code.c or cargo build) and then copying the binary somewhere.

    Typically if you were going to install things from Source, you would write a pkgbuild for it and that would integrate it with pacman so you have a centralised manager of everything that you have installed to simplify updates and removal and conflicts etc.

    Doing this for small packages is pretty trivial and sometimes necessary. For a large package like KDE plasma It is a very large undertaking and you would never do it in practise.

    The maintainers package the desktop environment with a pkgbuild, test it, And then upload it so that you can use it.

    Also note that when the arch maintainers do package that software they compile it into a binary so you just have to download it. You don’t also have to build it.