• 0 Posts
  • 17 Comments
Joined 3 years ago
cake
Cake day: June 14th, 2023

help-circle
  • Email’s not nearly as hard to host as people make it out to be. It is intimidating, yes, and there are a few very specific gotchas that make it infeasible or impractical from most if not all home internet connections, but if you’re willing to outsource just a little bit on that one particular point so that you have a static, commercial-grade IP address somewhere that you can get reverse DNS and open up SMTP ports on, the rest of it is mostly just fighting with your usual, standard self-hosting struggles of getting it configured and working at all, then making sure it’s secure and stays secure, and making sure your data is protected. The setup might be slightly more advanced than some other services just due to the number of moving parts, but it’s not fundamentally any different than a webserver. There are some other issues that might crop up a little later in the game, managing your mail server’s reputation for not sending spam (especially if, at some point, someone DOES get access and starts sending spam, you need to figure out how to recover your reputation). But overall it’s manageable, I’ve been self-hosting my email for like 30 years. It sucks, but it’s worth it.


  • Sort of, there are some similar aspects to it. I refer to it as my “internet appliance gulag”. They can all live there in their big open-air prison and be as totally insecure as they want, spying on and hacking each other all day long and they can try to access my network or the internet all they want, none of them are getting out unless I have explicitly reviewed whatever the fuck it’s trying to do and where it’s trying to go and why.

    Do not phone home, do not pass go, do not collect $200, go directly to Gulag.


  • No they weren’t, how did you get that idea? Nowhere did they ask for a specific fix, nor did they provide the details necessary for a specific fix. The OP asked how it works, and according to my reading of both their post and their comment, they seemed quite curious about what was going on (which is a good mindset to have when attempting to solve a problem) so my intention was to answer some of that curiosity by explaining “how”. You’re the one who decided someone should just provide a fix (which, in this case, would’ve been basically impossible)

    Especially when a problem arises because of misunderstanding or ignorance (which is not a shameful thing, it’s simply the default state of understanding), an improved and better understanding of the situation often helps lead one quite quickly to the solution to the problem, and in this case, it seems like OP did solve their own problem once they had a better understanding, so… seems like a successful effort to me? Any particular reason we need to argue about this?


  • It works the same way it normally works. You generate the certificate, give it to them, tell them who you are, they verify who you are, then they sign it and give it back to you. Very routine and straightforward, except for the challenge part that they use to verify your identity.

    Think of it in terms of delivering a pizza. The signed certificate is the pizza in this analogy, and they don’t want to send it to you until they’re sure it’s going to the right place. Either the store can send it to you (you have to give them your address and have port 80 open for when they arrive) or you can go pick it up at the store (you give them your address, they verify it through DNS, no port 80 required).

    There’s never been anything preventing you from establishing a conversation with the certificate-issuer. You don’t need port 80 open for that. However, unless you have port 80 open the issuer cannot reach out to you, and that’s how they verify you are who you say you are. DNS challenges avoid them having to reach out to you directly, instead they reach out to DNS on your behalf and verify you are who you say you are that way instead.


  • It’s pretty relevant, actually. It’s nice when you have choice. Not every ISP in my country is a big-name corporate shitbag (despite the best efforts and constant lobbying of said big-name corporate shitbags), and they are allowed equal-ish access to the last mile communication networks at (arbitrarily inflated) wholesale prices. It’s still worth the price, though. We even have some internet co-ops running their own fiber. And if they don’t care about piracy, and you trust them to stay that way, then what’s the trouble? Yes it is hard to gauge who to trust, but that’s the game we have to play.


  • Hook it up to the TV and use it for big screen web/media/gaming/retro-emulation. Steam and/or Sunshine/Moonlight can be used for low-latency streaming to play games from another PC (in either direction). You can use controllers and keyboard/mouse through either streaming method or bluetooth/wireless. Also handy for occasionally streaming things that don’t have smart-TV-apps, or for services where the only functional apps are service-locked, shitty and/or “Freemium” (most IPTV apps for example). Set it up for Wake-On-LAN (or Wake-On-WiLAN if it supports it). Lots of things you can do with a PC in the living room.




  • This is good thinking, and you may still want something like this anyway, as there’s always room for additional documentation, but let me propose an alternative that takes this good way of thinking a step further:

    Infrastructure-as-code means my code is my documentation. How’s it configured? Look at the code. What’s it doing? Look at the code. Don’t understand why it’s doing that? Use more descriptive names for things and write more self-explanatory code. Is the code out of date with the current state? Stop implementing things manually and make the code run automatically instead so it’s never out of date anymore.

    I have complete confidence in my setup and life is easy now. Except when the IAC breaks. But that’s rarely a panic situation, just mildly frustrating.


  • rsync, SyncThing, or Nextcloud. I use all three, often on the same machine at the same time, for various purposes.

    rsync is great for scheduled syncs (but intentionally not TOO frequent – where blowing away one copy would almost instantly blow away the other copy could be a concern.) and outstanding for one-off syncs. With the right command line options it can even create a rough approximation of snapshots with copy-on-write rolling incremental backups. I believe this is the original documentation for that particular trick although it has spawned many genuine backup tools which operate very similarly using rsync under the hood, like rsnapshot.

    SyncThing is great for large, intensive datasets that you want to keep perfectly synchronized across multiple computers at the same time. One example is my saved games, so without relying on Steam “cloud saves” or anything, I can just save my game and hop from gaming on one computer onto my laptop and pick up right where I left off.

    Nextcloud is what I use for keeping separate copies of all my documents, photos from my phone, etc. It’s easier than SyncThing to setup and manage in my opinion, it’s simple and reliable and reasonably user-friendly in most use-cases, and seems to be more compatible with a lot of software due to its similar design to something like Dropbox. It isn’t ideal for handling huge numbers of files or very large folders in my personal opinion, but it does work if you want to try it.


  • VMProtect is technically not a “virus” it is a heuristic detection saying that the program is implemented in a highly suspicious way that makes it impossible to confidently determine what it actually does, and thus it could contain a virus (and viruses often use exactly this technique to hide themselves) since there is no reason for a legitimate program to do it. That said, a crack is also not a legitimate program, and sometimes to avoid the defenses of the cracked program it has to do things to obscure what it’s doing too, and sometimes that results in a false positive heuristic detection like this.

    That said, we really have no way of knowing which of the two situations this is, and neither do you, and neither does AppDoze.com really. I would personally not be willing to trust it, and if I had to run it, would do so on a dedicated and isolated machine with limited access and nothing of value on it, permanently, even if it seemed fine. Any program which needs to be cracked in such a serious way is software that I am highly inclined to find an alternative for if possible. It’s not worth the potential risk and headache to me.




  • No screenshots, but I had an old server with a pair of mirrored 8GB Seagates hosting a particularly specialized service on a very beefy and regularly maintained UPS and it had a server uptime of 21 years (had not been rebooted since somewhere around 1999) when I finally decommissioned it about 5 years ago, both disks would’ve been the same. It was on the public internet the whole time too, running Debian Slink with kernel 2.0.36, which had been awkwardly patched and rebuilt somehow to make the service (itself already obsolete at that time) actually work. I don’t know why I remember all this, but I do.

    I do remember monitoring the SMART status at various points and the drive bearings must’ve been pretty cooked because those two drives were always running at 50-60C and I had a big old box fan pointed at the thing with the side panel off.

    This example is also why I don’t always buy into the cult of “you must always regularly update all software immediately all the time”. Old software is not always bad software, same with old hardware. Sometimes it’s genuinely possible to have a bulletproof system. The problem is you never really know you do, until it either enters survivorship bias or becomes catastrophically proven otherwise. But you can make educated guesses, and if you’re going to naively assume that your old software must have exploitable security holes it seems equally naive to me to assume that updates must never have exploitable security holes. I think the risk calculus has to be done on a case-by-case basis.


  • I’ll try and simplify it for you, I hope you don’t mind an incoming wall of text because there’s a lot to unpack. Ollama is service you can run on your local machine that will run AI models on your GPU’s VRAM (preferably for speed) or your CPU (for any parts that are too large and won’t fit on your GPU). It has its own commandline and web UI but they’re both horribly basic, they’re enough to get a taste but ollama’s key feature is that it also provides an OpenAI-compatible API that almost any other “AI” applications can connect to and use. So it serves as like the central service for your AI models, and it’s one of the easiest to manage for a novice. You can just point any other software (OpenWebUI is a popular choice, Jan AI is a little easier to install as it’s designed to run locally) at http://localhost:11434/ when it asks and it will work with any of your local ollama models and they will run completely on your own hardware. Ollama is not technically the best, it’s got some issues and some capability gaps, but it’s the easiest way to get started and get your feet wet. Eventually you might start to understand that there are other ways to run a model more efficiently but they require a bit more knowledge of the process.

    Ollama has its own built in repository and “cloud” for larger models, it’s got the basics but I don’t really recommend it too much. You can freely download thousands of different models from huggingface.co that are quantized small enough to run on consumer hardware (GGUF is the format you should look for and Q4 is a common quantization target for models in billions or tens of billions of parameters). They even have a filter to limit it to the number of “billions” of parameters that are likely to be runnable on your hardware, and they have buttons to provide the command-line to download each model with ollama automatically. They’ll let you sort by trending models so you are actually looking at the ones the community is most interested in these days, typically Qwen-based or Gemma-based and then many of them retrained on output from Mythos/Fable. Almost all the models on there (trending or not) will typically have little to no censorship. Keywords to look for are ‘uncensored’, ‘unrestricted’, ‘abliterated’, ‘heretic’, but really in a lot of cases it has become redundant to even mention it, it’s almost assumed, and it’s also not even really needed. Even if the model does “refuse” your request, there’s nothing it can do about it to prevent you from rephrasing or retrying or insisting until it gives in, but that’s annoying so most of the time people try to remove those sorts of refusal behaviors. As long as it’s running on your own hardware through ollama, it’s not going to block your account or report you to the police, it doesn’t even have that capability.

    A model is just a text generator. It doesn’t do ANYTHING beyond that on its own. Executable commands only happen using what’s called a “harness” (claude code is the most popular commercial one, similar open source options include opencode and pi-mono and openhermes) which detect certain formats of text the model creates and decide whether to actually execute what the model’s requesting or not. There are also protocols like MCP which is supposed to “teach” the AI what commands it can use even if it wasn’t originally trained on them, which helps with more specialized tasks.

    You’ll eventually notice a few common names while browsing on huggingface.co: The big companies are all there but for legal reasons they’re not going to release even their open models without obnoxious safety guardrails. The Chinese companies (Qwen, Deepseek) are generally less restrictive. HauhauCS and huihui-ai exclusively produce uncensored models. DavidAU creates a large number of really… interesting models, also exclusively uncensored. There are uncensored coding and penetration testing models too, I think Ornith and Dolphin are some interesting ones although I don’t work much in those spheres personally.

    I’m not a big fan of “AI”, I think it’s been intentionally designed to be “convincing” instead of “right” or “good” and then wildly oversold to the many stupid or naive people it has convinced, but I think the fundamental technology is interesting to play with and the democratization of it is important. I don’t think you are too old for it, but if you are questioning and standoffish from it I think that’s healthy. It doesn’t mean it’s completely useless though, and I think there is some value worth having access to and some understanding of the technology goes a long way. I don’t think it is going to “replace” any creative process, but I think it is a tool that can be useful if you know how and when to wield it.



  • Absolutely. There are tons of open-licenced, open-weight (the equivalent of open-source for AI models) models capable of what is called “tool usage”. The key thing to understand is that they’re never quite perfect, and they don’t all “use tools” quite as effectively or in the same way as each other. This is common to LLMs and it is critical to understand that at the end of the day they are just text generators, they do not “use tools” themselves. They create specific structured text that triggers some other software, typically called a harness but could also be called a client or frontend, to call those tools on your system. Openclaw is an example of such a harness (and not a great or particularly safe one in my opinion but if you want to be a lunatic and give an AI model free reign it seems to be the best choice) You can use commercial harnesses too by configuring or tricking them into connecting to a local model instead of their commercial one, although I don’t recommend this for a variety of reasons if you really want to use claude code itself people have done it but I don’t find it works very well since all its prompts and tool calling is optimized for Claude models. Besides OpenClaw, Other popular harnesses for local models include OpenCode (as close as you’re going to get to claude for local models) or Cursor, even Ollama has their own CLI harness now. Personally I use OpenCode a lot but I am starting to lean towards pi-mono (it’s just called pi but that’s ungoogleable) it is very minimal and modular, making it intentionally easy to customize with plugins and skills you can automatically install to make it exactly as safe or capable or visual as you wish it to be.

    As a minor diversion we should also discuss what a “tool” is, in this context there are some common basic tools that some or most tool-use models will have or understand some variation of, out of the box. Things like editing files, running command-line tools, opening documents, searching the web, are common built-in skills that pretty much any model advertising itself capable of “tool use” or “tool calling” will support, although some agents will be able to use these skills more capably and effectively than others. Just like some people know the Linux commandline fluently and can completely operate their system with it, while others only know basic commands like ls or cat and need a GUI or guidance for anything more complex, AI models are similar, some (and the latest models in particular) are incredibly capable with even just their basic built-in tools. However they’re not limited by what’s built in, as like I said, they can accept guidance on what to use and how to use it. You can guide them explicitly if you happen to be fluent in their tools, but there are kind of two competing models for how to give them that guidance automatically. These are MCP (model context protocol) which is a separate server they can access that provides structured listings of different kinds of tools they can learn to use and how they work, basically allowing them to connect to a huge variety of APIs in almost any software or service. Some harnesses have an MCP built-in. The other approach is called “skills” and seems to be (to me) a more sensible and flexible approach to giving the AI model enough understanding to become more capable and expand the tools it can use. Again, providing skills is usually something handled by the harness you’re using.

    To make this a little less abstract you can put it in perspective of Claude: Anthropic provides several different Claude models like Haiku, Sonnet, and Opus. These are the text-generation models and they have been trained to produce a particular tool usage format, but Opus tends to have more built-in capability than something like Haiku for example. Regardless of which model you choose though (and you can switch at any time) you’ll be using a harness, typically “claude code” which is typically the CLI tool most people use to interact with Claude in an agentic, tool calling capacity.

    On the open and local side of the landscape, we don’t have anything quite as fast or capable as Claude code unfortunately, but we can do surprisingly okay considering we’re running small local models on consumer hardware, not massive data center farms being enticingly given away or rented for pennies on the dollar of what they’re actually costing these companies on the hopes of successful marketshare-capture and vendor-lock-in leading to future profits.

    Here are some pretty capable tool-use models I would recommend (most should be available for download through ollama and other sources like huggingface)

    • gemma4 (the latest and greatest hotness, MIT licensed using TurboQuant to deliver pretty incredible capability, performance and results even with limited VRAM)
    • qwen3.5 (from Alibaba, a consistent and traditional leader in open models so far with good capability and modest performance)
    • qwen3-coder-next (a pretty huge coding-focused model you might struggle to run unless you have a very beefy system and GPU)
    • glm4.7-flash (a modestly capable and reasonably fast option)
    • devstral-small-2 (an older, not-so-small variant of mistral, the French open-weight AI model if you’re looking for a non-Chinese, non-US based model which are few and far between)