Advertisement · 728 × 90

Posts by Steffen Deusch

Video

I just published a small adapter for NimblePublisher to get a site or blog up and running quickly with MDEx and Lumis.

Check it out! github.com/leandrocp/ni...

#MyElixirStatus

1 week ago 16 2 1 0

Setting up an ING account in Germany is very smooth too, actually. You can even verify your identify with the NFC of the Personalausweis.

The big Sparkassen / Raiffeisenbanken probably still cling to the „good old times“ of everyone going to a physical bank location…

1 week ago 2 0 1 0
Preview
Chrome PulseAudio web app + title integration, use default browser in web apps Chrome PulseAudio web app + title integration, use default browser in web apps - pulse-app-title-integration.patch

If anyone wants the code, here you go:
gist.github.com/SteffenDE/e8...

3 weeks ago 1 0 0 0
A small git patch with content:

diff --git a/chrome/browser/ui/browser_navigator.cc b/chrome/browser/ui/browser_navigator.cc
index afd65467c7..d4ee2a6f5c 100644
--- a/chrome/browser/ui/browser_navigator.cc
+++ b/chrome/browser/ui/browser_navigator.cc
@@ -657,6 +657,17 @@ base::WeakPtr<content::NavigationHandle> Navigate(NavigateParams* params) {
     params->browser = override_params->browser();
     singleton_index = override_params->tab_index().value_or(-1);
   } else {
+    // If the navigation originates from a web app window and the URL is outside
+    // the app's scope, open it in the OS default browser via xdg-open (or
+    // platform equivalent) instead of in a Chromium window.
+    if (source_browser && source_browser->is_type_app() &&
+        source_browser->app_controller() &&
+        !source_browser->app_controller()->IsUrlInAppScope(params->url) &&
+        params->url.SchemeIsHTTPOrHTTPS()) {
+      platform_util::OpenExternal(params->url);
+      return nullptr;
+    }
+
     std::tuple<BrowserWindowInterface*, int> browser_and_index =
         GetBrowserAndTabForDisposition(*params);
     params->browser =

A small git patch with content: diff --git a/chrome/browser/ui/browser_navigator.cc b/chrome/browser/ui/browser_navigator.cc index afd65467c7..d4ee2a6f5c 100644 --- a/chrome/browser/ui/browser_navigator.cc +++ b/chrome/browser/ui/browser_navigator.cc @@ -657,6 +657,17 @@ base::WeakPtr<content::NavigationHandle> Navigate(NavigateParams* params) { params->browser = override_params->browser(); singleton_index = override_params->tab_index().value_or(-1); } else { + // If the navigation originates from a web app window and the URL is outside + // the app's scope, open it in the OS default browser via xdg-open (or + // platform equivalent) instead of in a Chromium window. + if (source_browser && source_browser->is_type_app() && + source_browser->app_controller() && + !source_browser->app_controller()->IsUrlInAppScope(params->url) && + params->url.SchemeIsHTTPOrHTTPS()) { + platform_util::OpenExternal(params->url); + return nullptr; + } + std::tuple<BrowserWindowInterface*, int> browser_and_index = GetBrowserAndTabForDisposition(*params); params->browser =

Since I have a fork of Chrome anyway now, another thing I changed is that external links in those web apps end up being opened by the system default browser instead. I use the Zen browser as default and only run Chromium for its web app integration. Links in Slack now properly open in Zen :)

3 weeks ago 0 0 1 0
A git diff --stat, showing  41 files changed, 593 insertions(+), 56 deletions(-) and details for each of the 41 files.

A git diff --stat, showing 41 files changed, 593 insertions(+), 56 deletions(-) and details for each of the 41 files.

So now I have a 600 line patch for Chromium, but I have absolutely now experience in contributing to Chromium and since it's LLM-generated code, I don't have C++ experience, it doesn't have any tests, and only benefits Linux+Pulseaudio, it's quite unlikely that it ends up in Chrome.

3 weeks ago 0 0 1 0

The issue with that is that if you want to have some rules applied like "always route Discord to my headphones", such rules only work when the stream is initially created. It took me quite some back and forth, recompiling Chromium, and testing to have something that reliably works.

3 weeks ago 0 0 1 0

There's actually an open Chromium issue about this:
issues.chromium.org/issues/45041...
issues.chromium.org/issues/41346...

Which is where I started. It mentions updating the pulse stream information after creating the stream.

3 weeks ago 0 0 1 0
Fedora audio volume manager showing two entries. One for "Apple Music" and one for "Discord".

Fedora audio volume manager showing two entries. One for "Apple Music" and one for "Discord".

So now I have a local fork of ungoogled-chromium that actually sets the correct pulseaudio properties for each audio stream. It dynamically updates the stream label when the document title changes and it ensures that the correct app information for web apps is set.

3 weeks ago 1 0 1 0

I'm not a C++ developer, but I wanted to fix that. And is there a better usage of morally questionable AI models than to actually improve open source code?

3 weeks ago 1 0 1 0
Advertisement

This is especially annoying if you want Discord or Slack to always output on your headphones, and a music streaming page on a different output. The Linux audio system supports this, but since everything just ends up as "Chromium", all new audio is always routed to the last selection.

3 weeks ago 1 0 1 0
Fedora audio volume manager showing an entry called "Chromium"

Fedora audio volume manager showing an entry called "Chromium"

Since switching to Linux on my MacBook, I've been running Discord and some other apps as Chrome Web apps. It's nice that you can easily wrap any page into its own launcher icon. What's not so nice is that all apps' audio streams just end up as "Chromium" in the system.

3 weeks ago 5 0 1 0

That first incoming rule "icmp" looks like it does not actually match on ICMP, but allows anything (maybe I’m missing something).

4 weeks ago 1 0 2 0

fwiw they sent a follow-up mail to clarify that it’s about their online services.

4 weeks ago 3 0 0 0

Zed's new startup screen:

1 month ago 115 10 3 2

I am 18 or older, so I don’t really care, but it’s not phrased very well if so.

1 month ago 0 0 0 0

I assume that’s the case, but their phrasing isn’t good if so. They could have said something like "You must be 18 or older to use Zed‘s online services like collaboration and AI models". Instead they just say "Zed" 🤷🏻‍♂️

1 month ago 2 0 1 0
Zed (text editor) informing that they’re changing their terms of service. The message states that starting March 2nd (yesterday) „you must be 18 or older to use Zed“.

Zed (text editor) informing that they’re changing their terms of service. The message states that starting March 2nd (yesterday) „you must be 18 or older to use Zed“.

„You must be 18 or older to use“ your text editor. What the. #zed

1 month ago 8 0 3 1
Preview
GitHub - tidewave-ai/tidewave_app: Tidewave Desktop app and CLI Tidewave Desktop app and CLI. Contribute to tidewave-ai/tidewave_app development by creating an account on GitHub.

The app code is open source and available at github.com/tidewave-ai/....

The app part is using Tauri and we used our experience building it to also move the Livebook Desktop app to Tauri as well, so for the first time there’s now also a Linux version of Livebook Desktop!

1 month ago 2 0 1 0

So Tidewave Web talks to both the App/CLI and the MCP running in your web framework. We deprecated the old /tidewave entrypoint because maintaining it would have required to keep duplicate endpoints around and having different features depending on how you open Tidewave Web.

1 month ago 2 0 1 0
Advertisement

Since that’s not really scalable and because we also wanted to support external agents over ACP like Claude Code, we decided to move all that to one Rust codebase. Otherwise we would not have been able to implement ACP as doing that separately for each framework would be a lot of unnecessary work.

1 month ago 2 0 1 0

Why? In the past, we implemented features the agent needs like reading and writing files for each framework. So the Phoenix MCP had a separate endpoint for file system access, the Ruby one, the Next.js one, etc.

1 month ago 2 0 1 0

Tidewave Web is not deprecated. It’s still Tidewave Web, but you need the separate App or CLI installed now.

1 month ago 2 0 1 0
Preview
Asahi Linux - Porting Linux to Apple Silicon In this talk, you will learn how Apple Silicon hardware differs from regular laptops or desktops. We'll cover how we reverse engineered t...

There’s progress on DisplayPort though, so it shouldn’t be too long for that. Thunderbolt is probably still a while.

media.ccc.de/v/39c3-asahi...

1 month ago 0 0 0 0
Preview
Feature Support Overview - Asahi Linux Documentation Porting Linux to Apple Silicon

I think support for anything with M1 and M2 is pretty good. I’ve heard there’s progress on M3 too. The most glaring thing missing is DisplayPort Alt Mode and Thunderbolt. My 4 externals displays are run using DisplayLink at the moment (which works surprisingly well).

asahilinux.org/docs/platfor...

1 month ago 0 0 1 0

I assume you can make a lot of money generating such content on YouTube. It’s always about money, isn’t it? If anyone creating such slop videos ever reads this: you’re a terrible human being.

1 month ago 1 0 0 0

I‘m eagerly waiting for the current AI bubble to pop, hoping that it puts an end to this dangerous slop shit, but even if most of the current companies disappear into oblivion, it’s probably too late already.

1 month ago 1 0 1 0

We’ve seen reports about what can happen if someone’s chatting with their chatbot too much. Now we also need to worry about a deluge of absolute slop indoctrinating the minds of anyone who’s not overly sensitive of what they’re consuming. I don’t want to know where this is heading. It’s not good.

1 month ago 1 0 1 0
Advertisement

Right now, whoever’s behind those channels has nothing to lose. If a channel gets closed? Just create a new fake identity and continue generating dangerous slop with zero accountability. This whole generative AI thing is a fucking mess and I absolutely hate seeing what it’s doing to the internet.

1 month ago 4 1 1 0

In the past, if you were a doctor giving bad advice on YouTube, you at least had the real possibility of ruining your reputation. Some of those videos are telling people with high blood pressure to stop talking their medication. And if you believe some comments, at least some people listen to that.

1 month ago 0 0 1 0

Why am I writing this? I just clicked on a YouTube link and made the mistake of looking at the suggested videos while not being signed in. MULTIPLE fake doctor videos with multiple hundred thousand of views. Some with over a million. As a tech nerd that makes me furious.

1 month ago 2 2 1 0