• 29 Posts
  • 392 Comments
Joined 7 years ago
cake
Cake day: August 24th, 2019

help-circle

  • From what I understand it makes the model lighter overall, thus you could fit a bigger param model on the same amount of Vram. It would also make generation faster in terms of tokens/sec. Layers get loaded into vram and are part of the model, and basically a loop goes deeper and deeper into each layer to generate each token. At each layer, it gets refined a little more, and you do this over and over again. Bigger param models have more layers.

    You unfortunately can’t apply the fix in the .safetensors or .gguf file, the model curators need to bake it in





  • Dump the source code into a folder on your machine, cd to it, then open mimo/opencode (it opens in the folder you are currently in terminal). In plan mode (tab to switch to it) tell it exactly what you want, e.g. “this is a dead android app, I want to add the following features to it: 1. 2. 3.” (use ctrl+J to line break, I don’t think it changes anything for the LLM but it’s easier on our eyes lol). Initial prompts are usually very long, you can really fill it in.

    If you only have the apk you can tell it that as well, “what do I need to do to add these features” and it will figure out your options. It’s scarily fast at first but you get used to it. It will guide you through a plan that you can refine, brainstorm, etc and when you’re ready, switch to compose with tab and say something like “ready to implement what we planned” (or “okay, let’s do it” if you want to sound cool).

    Careful: mimocode and opencode has no permission gates out of the box, meaning it will start running commands and tools without asking you. You only get asked for permission if it tries to do something outside of the working directory. On opencode I have a json file that gates some commands (anything that isn’t purely read-only needs to ask me for confirmation), but I haven’t found where to put it yet on mimo.

    json code
    {
    "$schema": "https://opencode.ai/config.json",
      "permission": {
        "*": "ask",
        "read": "allow",
        "glob": "allow",
        "grep": "allow",
        "list": "allow",
        "lsp": "allow",
        "repo_overview": "allow",
        "skill": "allow",
        "external_directory": "allow",
        "todowrite": "allow",
        "bash": {
          "*": "ask",
          "tutor init":"deny",
          "tutor *": "allow",
          "ls *": "allow",
          "cat *": "allow",
          "head *": "allow",
          "tail *": "allow",
          "wc *": "allow",
          "nl *": "allow",
          "rg *": "allow",
          "grep *": "allow",
          "file *": "allow",
          "stat *": "allow",
          "realpath *": "allow",
          "readlink *": "allow",
          "dirname *": "allow",
          "basename *": "allow",
          "du *": "allow",
          "df *": "allow",
          "uname *": "allow",
          "echo *": "allow",
          "whoami": "allow",
          "id": "allow",
          "printenv *": "allow",
          "which *": "allow",
          "pwd": "allow",
          "type *": "allow",
          "uptime": "allow",
          "free": "allow",
          "ps *": "allow",
          "lscpu": "allow",
          "lsblk *": "allow",
          "git status": "allow",
          "git diff *": "allow",
          "git log *": "allow",
          "git show *": "allow",
          "git ls-files *": "allow",
          "git describe *": "allow",
          "git rev-parse *": "allow",
          "git stash list": "allow",
          "git blame *": "allow",
          "qalc *": "allow",
          "tmux has-session *": "allow",
          "tmux capture-pane *": "allow",
          "tmux list-sessions": "allow",
          "tmux list-panes *": "allow",
          "tmux display *": "allow"
        }
    }
    }
    

  • oh damn. @[email protected]

    edit: going to install it… wish me luck lol

    edit2: it comes out with a free model out of the box. I’m not sure about the usage limits but if you were wondering about getting started with agentic this could be a solution! Didn’t have to connect anything, just start the app and start chatting. It’s multimodal and seems to understand images pretty well!

    Can’t generate them though. Generating images has a very good use: using placeholders that the AI understands well and can compose in your project (like placing them on a canvas). You’re limited to image vision. Well, that’s what the model itself says lol who knows.

    The free agent thinks it’s on Opencode lol, not Mimocode.

    Free model seems to have 1 million tokens context - at 50k tokens, it said I only used 5%. But again, I haven’t found out what the rate limits are yet.

    Like with factory opencode, there are very few permission requests out of the box. You’ll need to add an opencode.json file to enable them to your liking, otherwise it will do most things without ever asking you.

    Mimocode (start with ‘mimo’ in terminal) does a few things differently from opencode. It has a ‘Compose’ agent - TBA on this one but the assistant explains it’s an orchestration layer. I know these are becoming popular in coding agents, I still don’t quite get it though. I think compose is to like, follow specific skills in the process instead of reinventing the wheel every time and just yolo’ing it. It’s tailored for software dev in this case, so if you build software, you would use Compose instead of Build.

    ‘Plan’ saves a plan file to .config/mimo about the project, so it can refer to it later. Probably ties in with the memory features they talked about. It has a ‘plan_exit’ hook that triggered: I asked it to explain a project I was working on just to see, it saved the explanation as a plan then ran ‘plan_exit’ which asked me if I wanted to start building right away. I said no because I was asking it to explain the plan, not just jump to building whatever it was going to build.

    In ‘plan’, the agent is able to ask you questions about implementation etc to properly plan out, well, your plan. This is already available in opencode, but Mimocode asked me a multiple-choice question where I could select more than 1 item. Never saw that in opencode.

    It’s interesting that it can ‘spawn’ sub-agents (as opposed to ‘running’ them). Spawning lets the model let a sub-agent work in the background while it keeps doing its stuff. Basically, it removes wait times and the bottleneck of “I must now stay completely still while the sub-agent finishes its work”. I’m not sure opencode does that - if it does, deepseek never used it.

    Token usage seems a bit high… their system prompt is definitely bigger than opencode’s default one (about 20k tokens versus 10k tokens).

    It also introduces an auto-complete feature which is… fun? for five seconds, but then gets in the way. What I mean by auto-complete is the LLM suggests your next prompt, which you send by just pressing tab. Doubt I’d use it but hey it’s a feature and I’m here reviewing features so.

    I don’t have any project to give it right now unfortunately to test its abilities, but I might tomorrow.

    I imagine since it’s the free model they train with your data on it but… the PRC can have whatever it needs from me 🫡 (never transfer API keys and passwords over APIs regardless)



  • you know, I can see it lol. This was in the Ardour pull requests when someone added an MCP server:

    Basically they want the software other people make freely to cater exactly to their use of it. there’s always someone like that showing up. “I’m sure there are other accessibility options” = “I only think of myself and try to impose my views”, all accessibility options can live side-by-side, that’s how inclusive software is made. But they’d rather throw disabled people under the bus because it doesn’t impact them directly (6 heart emoji reacts under their post btw).

    Software lives and changes, as does everything else. To want it to be immutable so it caters specifically to one’s own sensibilities indeed looks reactionary.


  • the entire list wears its heart on its sleeve frankly, a whole manifesto that lumps everything in together. “Permissive AI policy” = “A policy that permits the use of AI/LLMs in any capacity”. So accepting AI bug reports would be enough to be put in the list, because… you realized your software has security vulnerabilities you need to fix? Per their own criterion to not be in the list a maintainer would have to actively refuse bugs found with AI and then… I don’t know, find them themselves instead?

    Like I exclusively use deepseek or kimi, I don’t see what their angst against western AI has to do with me lol. In general it’s just very US-centric and somehow it’s once again the entire world’s responsibility to soothe down USians’ anxieties (not that Europe where I live doesn’t rely on US tech or has a better AI policy lol).

    Ardour features in it as “Permissive AI policy” because someone created an MCP server. That’s it. An MCP server is a way of communicating data to an LLM and back, it’s an API.

    Just the fact they have a row called “Last Untainted Version or Commit ID” says it all really. By all means yell at Microsoft or OpenAI, but FOSS software is already unpopular enough as it is lol.


  • I feel it’s a matter of just finding the part you vibe with. I could show cool AI pictures that absolutely don’t look AI but there is little point to it as they would probably only speak to me. It’s like with everything else, there’s also paintings and drawings I don’t like or don’t find interesting. It has enabled a lot of spam to be created but the spam was already there, it just looked different. I used to have to trudge through pages and pages of stock image websites to find the one I could use, there’s some really improbable stuff in there (like this whole set of a sick employee eating a salad while working from home with the screen reflecting glare in his glasses and a random guitar in the background), and they somehow all have this look of being stock photos.

    So I figure, if we’re going to stop ourselves from doing things we enjoy or want to do just because there’s also slop of it that exists, there would be very little left to enjoy!






    1. That it’s valid to have complaints about AI, BUT 2) They should be coming from a place of understanding something about what it is and how it works.

    Exactly. Like I’m not even “the best” AI coder or whatever, I don’t pretend that my small projects are anything beyond what they are. But I can now make scripts that I need and that solve a real problem for me, and share them with people. They can also take my apps (or any other app), give it to their agentic AI, and have it rework it for their particular needs. The extensibility is unmatched now (although I think it’s still better to merge your additions back to the repo but that’s another discussion).

    Here’s an example: I have the reminder app on my codeberg. You use it with mostly natural language: reminder 7PM Call Pam. That’s all you need to type. It parses the command with python to delineate what is time, what is the actual reminder text (Call Pam), etc. The date formats are taken from the ‘date’ command, nothing special (and huge thanks to the project maintainers for adding that in over the years). We added some custom parsing that the ‘date’ package doesn’t natively support. So you can type:

    • sep 5
    • 5 september
    • september 5 7PM
    • 2026.09.05 17:00

    and it will understand any of those combinations without making you do extra work. This is because I wanted it to be intuitive and easy to use; a tool that conforms to you, not you having to conform to it.

    I looked at other reminder apps… if you can even find them (a longstanding problem tbh). The ones I found either were either OS-specific or required so many workarounds. One I found was very similar to mine but required you to use it like this:

    remindme start
    remindme in --hr 2 --min 30 --sec 10 --about "Do something cool"
    remindme stop
    

    any time you wanted a reminder to be set (start and stop commands required because it needs to start a server)

    The explanation is simple: --arguments are easier to code in and leads to fewer edge cases that can break code. So overall it’s just easier and faster for the programmer to do it this way, I totally get it. But AI doesn’t care about “easy” or “hard”, that’s now how it parses code (actually, it can care about it and it will affect the quality of its output or how it approaches the problem when in practical terms it really shouldn’t lol).

    So that’s just one example. If you know your stuff, you can harness your LLM to confidently stay within the bounds you make for it. I can’t really do that when it comes to code, I’m not a programmer. The person who made that remindme app could probably do it to just… automate a whole lot of convenience into their app that the end user will feel.

    At the end of the day it’s a tool that gets placed in a process. If you have a solid process for code review there’s no reason you will commit bad code. All the problems that Windows is having for example (broken updates, task manager using all your CPU, the Start menu taking several seconds to open) is probably not because of AI but because they started relaxing their standards. They tried to move everything to WebView2 which is html+css+js instead of building native C++ apps (at least I think it’s C++), and part of that is that all the people that know and code in C++ are retiring.

    Regarding the rsync thing, someone did the math and found that the two releases tagged with Claude were not particularly more buggy than any prior release, and did not lead to particularly more issues opened on the repo. They just received more attention because “AI”.

    I find that the trustworthiness of information is less of an issue in software than I would have thought it’d be, probably because lots of software is pretty consistent, deterministic information based on years or decades of established languages and software patterns. Which means it’s mainly a matter of training the model well enough on those already established specifics.

    It particularly excels at anything related to Linux, I found. In agentic, it can just do everything for you because everything in Linux is a file (so it can easily write and read what it needs), and everything is available from the command line. If one thing can’t be done one way in the cli, there’s an alternative that’s available.

    One thing I found is that because it has no concept of time and is nudged towards being helpful immediately, it sometimes might sprinkle in outdated advice in an otherwise solid guide. Like recommending you be careful about running some command on an HDD when everyone has an SSD (it did not ask me or check if I had an SSD first) and the advice is from a 2004 forum post or something. Still, I learned to “measure twice, cut once” as they say when working on my computer so it’s often not a guide-killer, it’s just superfluous.





  • deepseek v3.2, though short-lived from December 2025 to April 2026, was amazing at discovering user intent. I’ve talked about user intent a bit before but it’s very difficult to figure out, even for humans and ‘traditional’ algorithms. User intent is basically asking: why is the user doing what they’re doing?

    Sometimes you can discover it easily. If someone’s search history contains “baby crib facebook marketplace”, “how to determine baby shoe size”, “female names for babies 2026”, “male names for babies 2026” you can reasonably assume they’re expecting a baby and that’s why they were making these queries. Further, you could more or less reasonably infer it’s their first baby (since they’re looking for shoe sizes) and they didn’t want to be told the sex. But that’s a bit more tenuous.

    V3.2 was short-lived but really nailed this in a way I hadn’t seen before. It instantly understood your intent without you even having to explain it at all. Intent can be very, very minute. Sometimes the user doesn’t even fully know their intent (they start off thinking “let’s just see what I find for fun” and it ends up becoming an actual insight they later use). The example I gave above is an easy one. But here’s a more difficult one:

    “how to stop dog barking at night” “local residential noise ordinance laws [City]” “best soundproofing curtains for windows”

    You have two possibilities: a new pet owner worried that their dog is going to get in trouble with the city/neighbors, or someone that’s annoyed with a neighborhood dog. How do you cut between the two if that’s all that you have to go on?

    You could rephrase this as a prompt for an LLM: “Deepseek, how do you stop a dog barking at night?? I can’t sleep anymore!”

    It will have to decide if it’s your dog or someone else’s dog, and good AI can absolutely figure this out from just this prompt. We might think this is simple, but many still fail and assume it’s your dog you’re talking about, without offering advice for both situations.

    3.2 may not have been the most up to date model, but you could send it anything without actually asking a question at the end, and it would know what to say, because it was able to understand your intent much better - why you were prompting it and what you were actually looking for. The kind of stuff it can sniff out from the subtext without you having to tell it goes a long way to make these models actually intelligent.

    You can see this “drop” in intelligence with v4: it needs to think much longer (reminiscent of r1, the very first thinking model Deepseek made available). I took an old, detailed prompt I’d sent 3.2 and sent it verbatim to new v4, and it thought for 13 seconds versus the original 4 seconds in 3.2. In other words, 3.2 didn’t need to verbally, outwardly think as much to answer the user correctly - much of it happened inside the model weights already. I find v4 is too… “yes. I confirm you just told me this. Nice job on telling me!” when v3.2 was here to work haha.

    I really hope they deliver with v4.1 because the drop in quality was very clear 😢 I now use Kimi (when it’s not telling me the servers are saturated) or Qwen studio (chat.qwen.ai) more and more - their flagship models are a bit better than current DS…

    PS: I also found LLMs get better in general if you validate what they say and you encourage them haha. At this point I just discard the hallucinations in my head and ignore them when sending the next prompt.