InFeeo
Global
technology-news
New
Language
Profile channel

@Ramo

No bio yet.

Since 06.06.2026

CPJ undertakes review of documentation of journalists killed in Israel-Gaza war(youtube.com)
New York, June 25, 2026—The Committee to Protect Journalists (CPJ) is conducting a full review of its database of journalists killed during the Israel-Gaza War after militant groups Hamas and Palestinian Islamic Jihad (PIJ) published obituaries identifying as combatants individuals previously listed by CPJ as journalists. In all countries and conflicts, CPJ removes names from...
Replacing Systemd with OpenRC in Debian(danielcordova.me)
Replacing Systemd with OpenRC in Debian Posted on: 2026-06-24 Modified on: 2026-06-28Categories: LinuxTags: Debian , ARM , Systemd , OpenRCTL;DRI'm not a fan of systemd but I'm not against its use either. AKA if it works for you then it's ok.My case though is more of a mix between curiosity and discomfort. Curiosity of how init systems works and discomfort of how systemd integrates things or new features.I'm aware that it works well for most of its use cases (I've been using it since its early days) and also I agree that systemd breaks all KISS philosphy principles, but other projects do it as well, right?So why the discomfort?Well it began a while ago, when I was reading some news of how the project started to grab more and more responsibilities that belongs to other projects and how some prod deployments failed so bad because of a breaking change that could've been prevented if that responsibility wasn't part of systemd. Nothing too worrying for me though, in any case the first real kick of discomfort came when age verification law was cooking and my innocent thought was Ok, Windows and Mac will integrate it, but Linux and other OpenSource OSs and projects will "fight" against this ridiculous law!!.Then my next thought was Wait what?, the law is not even approved on some states/countries and systemd already integrated it, why?, what happened with the usual "fight" against non-sense laws?.I got pretty mad about it, I know, I'm not a contributor of that project and it's only an optional field but it didn't feel right at all. All the hate that the dev got wasn't right either.Then the second kick of discomfort came while I was reading tech news and I found this one systemd integrates sys-install systemd integrates it's own "system installer" called 'systemd-sysinstall' among other things.All right, one thing is to have tons of responsibilities for an init system. But another one is going from being PID 1 to being the sys installer too, and no matter how you want to sell that idea there's an ocean of difference on what you can call "Init system responsibilities" and "Systemd's weird responsibilities and wishes". So the curiosity entered the game and decided to try to install OpenRC on my Thinkpad X13s Snapdragon which I use for home hacking, testing stuff, etc. Laptop is running Debian BTW.InstallationInstalling OpenRC in Debian Testing is not hard but isn't a trivial operation either. I faced a few challenges and issues regarding to how apt-get and apt works with essential packagesChallengesI faced two major challenges while trying to install OpenRC at the same time as uninstalling Systemd.apt-get can't uninstall systemd at all and only errors out that is not possibleapt shows a better error of why it can't uninstall systemdAfter digging a bit about it and reading a few pages on the internet, I learned that i need to pass an argument to apt thus it can uninstall an essential package. So for uninstalling it'll be something like this:sudo apt purge --allow-remove-essential systemdDon't copy and paste it yet.Before deleting systemd, need to be sure that OpenRC will be installed, to so the command will besudo apt purge --allow-remove-essential systemd && sudo apt install openrc sysvinit-coreThat command will uninstall systemd and install some dependencies that might not be needed in the future.IssuesAfter installing OpenRC and uninstalling systemd, system didn't boot properly, so I had to go to recovery mode and hit Ctrl-D to allow me to fix the error.Issue itself was that while uninstalling systemd somehow OpenRC was removed too or not installed at all. So I went to recovery mode, then I connected to my wifi network and installed OpenRC again with apt install openrc sysvinit-core.So far so good. But neither Battery Status nor Audio worked. I knew that battery status was due to the kernel's regression I faced while installing Debian Testing on the laptop. So I converted my systemd service to a script and put it in /etc/init.d/, thus OpenRC can start it or enable it. It worked. I think audio needs a different service related to pipewire and wireplumber, or to launch them on login. I'll test them later on.Systemd Service:[Unit] Description=Start Qualcomm remoteprocs (SLPI/ADSP/CDSP) DefaultDependencies=no After=initrd-root-fs.target local-fs.target Before=sysinit.target [Service] Type=oneshot RemainAfterExit=yes ExecStart=/bin/sh -c 'echo start > /sys/class/remoteproc/remoteproc0/state; echo start > /sys/class/remoteproc/remoteproc1/state; echo start > /sys/class/remoteproc/remoteproc2/state' [Install] WantedBy=sysinit.targetOpenRC Script#!/bin/sh echo start > /sys/class/remoteproc/remoteproc0/state; echo start > /sys/class/remoteproc/remoteproc1/state; echo start > /sys/class/remoteproc/remoteproc2/state;I need to convert it into a proper OpenRC scriptFutureCurrently OpenRC does the work. I'm not sure if it'll be my default Init system for the comming ages, but I feel that my experiment was successful.I'll continue testing OpenRC on my "Home Hacking Laptop" for the next days, maybe weeks, and if I feel comfortable enough I'll migrate my work laptop (which runs Debian Testing too and has the same dotfiles in it) to OpenRC as well.Even though changing Init System on a working Linux installation has its quirks and challenges and might not be the best idea, I'm happy with my current results.If this works for you too, then I'll be happier to know that you're ditching systemd in favor of OpenRC as well, aside from jokes, in the end that's part of the unix freedom to use whatever you want and whatever works for you.Happy Hacking!!LinksSome links if you're interested in OpenRC tooDebian: Switching Init System Easily (OpenRC, Sysvinit, Runit)Beyond systemd: A Technical Deep Dive into OpenRC for Modern Linux SystemsIntroduction to OpenRC: Managing Services with EaseOpenRC on debian
Coding agent harness written in native Golang with built-in file and Git viewer(code.intellios.ai)
cwcode A terminal coding agent built around DeepSeek V4 Pro, Qwen3.6‑27B, Kimi, Azure, and anything else that speaks OpenAI’s chat API. Written in Go. Lives in your terminal. Edits real code. Recovers from its own mistakes. Costs about $0.40 to leave running for an hour. 5% of Claude’s token coston DeepSeek V4 Pro 85%+ prefix-cache hit ratioafter turn 3 ~12k lines of Gono external services What it is cwcode is a Bubbletea TUI that drives any OpenAI-compatible chat endpoint as a tool-using coding agent. It ships with profiles for DeepSeek (Pro and Flash), Azure OpenAI, Kimi for Coding, and a local vLLM / llama.cpp profile for Qwen3.6-27B on a home server. Switching profiles mid-session is one slash command. It has bash, file edit, glob, grep, web fetch, headless-Chrome fetch (driven via CDP through your real browser), sub-agents, a persistent semantic-memory store, content-addressed checkpoints with rewind, a plan/code mode toggle, and an autonomous goal loop. The tool registry is six hundred lines and adding a new tool is a two-method Go interface. It is not a SaaS. There is no account, no telemetry, no remote control plane. Your API key sits in ~/.cwcode/config.json. Your session history sits in ~/.cwcode/sessions/. If your network is down and the model endpoint is local, the agent keeps working. Why it’s different Hash-anchored edits The read_file tool annotates every line with a 3-character content hash: 42:a3f| return x. The edit_lines tool takes (line, hash, new_text) and rejects the entire batch if any hash drifted. The model never has to reproduce content character-perfect to land an edit. Adopted from Can Akay’s February 2026 post and ported to Go in about 200 lines. Output tokens per session dropped 30–40% on V4 Pro. Sticky prefix cache The system prompt is byte-stable across turns. Tool definitions serialize in a deterministic order. Reasoning content is stripped from outbound requests on every provider by default. DeepSeek’s prompt-cache hit path is ~120× cheaper than the miss path, and our /cache slash command shows session-cumulative hit ratio that routinely exceeds 85% after the third turn. Plan vs code mode A single Shift+Tab toggle between read-only planning (the LLM only sees non-mutating tools) and full execution. The model doesn’t see the flag — it just sees a different (smaller) tool registry and a system-prompt addendum. The human holds final control unless you opt into YOLO mode. Checkpoint & rewind Before any file-mutating tool runs, the harness snapshots the pre-state of every path the tool declares it will touch. Snapshots are SHA-256-keyed blobs in ~/.cwcode/sessions//objects/, deduped automatically. /rewind N restores files, truncates conversation history, and pre-fills the input box with the original prompt. Storm-breaker When the same tool fails identically three times in a row, the harness doesn’t silently abort. It synthesizes a plain-language response (“I’m unable to continue: read_file failed three times because the path was empty. Please clarify…”), streams it like a normal reply, and appends it to history so follow-ups have context. Autonomous goal loop /goal appends a goal to goals.md. /goal on starts an autonomous loop that runs back-to-back turns until every checkbox is marked done or until a safety cap of 20 consecutive cycles. We use this for four-hour overnight runs on annotated tasks. No SaaS lock-in Config is JSON. Sessions are JSON. Checkpoints are content-addressed blobs. Memory store is a SQLite file. Everything lives under ~/.cwcode/. If the project disappeared tomorrow your sessions are still readable. What it looks like Captured during real work on our dose-prediction codebase: the agent proposing an edit_file change to a Go test, with a unified diff highlighted inline, the reasoning trace streaming below, and the current task list pinned to the bottom of the pane. cwcode running a Go test edit; multi-tab tmux session, dose-prediction project, DeepSeek profile. Install Download a pre-built binary for your platform from the Google Drive release folder (current build: v1.11; macOS arm64 / amd64 and Windows amd64). Drop it somewhere on your PATH and make it executable: curl -L -o ~/.local/bin/cwcode chmod +x ~/.local/bin/cwcode cwcode -version You’ll need an OpenAI-compatible endpoint (DeepSeek API key, Azure deployment, local vLLM, or whatever else you have on hand). Configure a profile in ~/.cwcode/config.json: { "active_profile": "deepseek-pro", "profiles": { "deepseek-pro": { "provider": "deepseek", "endpoint": "https://api.deepseek.com", "model": "deepseek-v4-pro", "api_key": "sk-...", "ctx_size": 262144 } } } Run it. cwcode # Bubbletea TUI cwcode -p "fix the bug" # one-shot, no session cwcode -continue # resume the most recent session cwcode -plain # stdout REPL (no TUI) Built-in tools namepurposeneeds approval bashrun a shell command (streaming output)yes bash_backgroundspawn a long-running processyes read_fileread with per-line content hashesno write_filecreate or overwrite a fileyes edit_fileexact-string replace with whitespace recoveryyes edit_filesatomic multi-file batch (exact-string)yes edit_lineshash-anchored line replacementyes globfind files by patternno grepsearch files for a regexno lslist directory contentsno web_fetchfetch a URL and clean it upno chrome_fetchdrive your real Chrome via CDP for bot-blocked pagesno taskspawn a sub-agent with its own contextyes rememberadd a fact to the persistent memory storeno recallsemantic search over past sessionsno todo_writeupdate the visible task listno FAQ Why Go? Single static binary, fast startup, easy cross-compile. Three platform builds in 90 seconds. The TUI binary on macOS is 24 MB with debug symbols stripped. Why a terminal app and not a VS Code extension? Because we wanted the agent to be the primary interface, not a side panel. The TUI gives the model the whole pane to work in and gives us a small surface to debug. If you live in VS Code, you can run cwcode in the integrated terminal. Does it work with Claude? Not directly — cwcode speaks the OpenAI /v1/chat/completions shape. Claude has its own API. You can put Claude behind a translating proxy if you want, but we built this for the cost shift in the other direction. What model do you use day to day? DeepSeek V4 Pro for most coding work, Flash for quick questions and one-shot scripts, the local Qwen3.6‑27B profile when we want zero latency or are working offline. Is the source available? Pre-built binaries are on Google Drive. Source is currently private; we plan to open it once the API surface settles. If you want a peek before then, get in touch. Who built this? A small team that uses it daily for dose-prediction model training, financial research agents, and writing cwcode itself. The agent ships its own bugs and writes its own fixes.