You can resolve this one with those dongle that did the pairing on the dongle itself, e.g. Sennheiser BTD-600/700. The device will appear on the host machine as a non-Bluetooth audio device.
3,953 karma · joined October 25, 2009
Software Developer living in Tokyo, Japan
Current: ElectroRoute Japan (TYO)
Previously: Oozou (BKK), Omise (BKK→TYO), Varnish Software (TYO)
You can resolve this one with those dongle that did the pairing on the dongle itself, e.g. Sennheiser BTD-600/700. The device will appear on the host machine as a non-Bluetooth audio device.
The second issue is due to the program's layout engine not adjusting the glyph width of a fallback font to that of the main font. A lot of terminals do this, but it's not common for text editors or browsers (arguably this is the correct behavior for non-terminals, since you cannot assume everything must be snapped to a grid).
Fun test for this:
|กล้วยหอม|
|Bananas|
This has the same character width. Ghostty, etc., will render it correctly (| aligned). Most browsers and text editors will not.[1]: some layout engines render free-standing tone markers as 1 character; in that case, this rule only applies to when tone markers are following a character.
(setq user-emacs-directory (format "~/.emacs.d/magit/%s/" emacs-version))
(setq custom-file (concat user-emacs-directory "custom.el"))
(setq make-backup-files nil)
(setq auto-save-default nil)
(setq create-lockfiles nil)
(setq inhibit-startup-screen t)
(setq initial-scratch-message nil)
(require 'magit)
(defun setup-standalone-magit ()
(magit-project-status)
(delete-other-windows))
(add-hook 'after-init-hook 'setup-standalone-magit)
And a small wrapper (`~/.local/bin/magit`): #!/bin/sh
if [ "$(git rev-parse --is-inside-work-tree)" = "true" ]; then
exec emacs -nw -q --no-splash -l "/path/to/magit-init.el"
fi
It worked well for me because I can reuse all my keybindings (evil + leader keys with `general`) and my workflow is fully in the terminal. (I have since moved on to Jujutsu, and `jjui` is filling this gap for me right now, but it's not quite a magit-for-jj).It is, however, a bit unfortunate that this is yet another unlooped Thai typeface[1]. Loopless is impossible to read as a body text for people above thirty. Historically, IBM Plex Sans Thai Looped[2] was pretty much the only open-source stylized Thai font that is looped (not including the standard Tlwg set). I remembered that Noto Sans Thai[3] used to be looped, but they switched to a loopless version at one point. Thankfully they've (re?)introduced the looped version[4] in recent years.
[1]: https://en.wikipedia.org/wiki/Thai_typography#Looped_vs_loop...
[2]: https://fonts.google.com/specimen/IBM+Plex+Sans+Thai+Looped
[3]: https://fonts.google.com/noto/specimen/Noto+Sans+Thai
[4]: https://fonts.google.com/noto/specimen/Noto+Sans+Thai+Looped
[^a]: Since Thai text typically requires another ascent level above cap height and ascender, and another level under descender for tone markers and vowels, on iOS, if you add Thai as one of the phone languages, iOS will apply a 1.2x line height modifier to all text in the system, either by expanding line-height when allowed, or shrinking the font size.
For example, pressing 0 to go to beginning of line goes to before the $PS1, rather than the input beginning, going from NORMAL → INSERT inserts text at the end instead of at the cursor, Emacs motion keys doesn't work, etc. I think if I take some time to remap the key it might work, but usually I just switch to Emacs mode or just restrict myself to use only cursor key to navigate.
They pay a low-income/no-income person a small fee (possibly monthly) to let them borrow their account. Sadly, people who would fall into this are not hard to find in Thailand.
> What sort of KYC was going on?
There are accounts that are grandfathered in and don’t require KYC but have been able to access online banking, etc. Mine is such, and my bank (BAY) is discontinuing that particular loophole at the end of this month. (I'm in Thailand right now to do this KYC, despite having not come back here for the last 6 years.)
[1]: https://chipsandcheese.com/p/skymont-intels-e-cores-reach-fo...
Me: build a plan to build X
Gemini: I'll do A, B, and C to achieve X
Me: that sounds really good, please do
Gemini: <do A, D, E>
Me: no, please do B and C.
Gemini: I apologize. <do A', C, F>
Me: no! A was already correct, please revert. Also do B and C.
Gemini: <revert the code to A, D, E>
Whereas Sonnet/Opus on average took me more tries to get it to the implementation plan that I'm satisfied with, but it's so much easier to steer to make it produce the code that I want. iGPU:
| Arch | KMD | DRI (Mesa) | Vulkan (Mesa) | VA |
| -------------------------------------------- | ------- | ----------- | -------------- | ---------- |
| < Broadwater (Gen4) | i915 | i915 | N/A | N/A |
| >= Broadwater (Gen4), < Westmere | i915 | i915 | N/A | i965 |
| >= Westmere (Gen5), < Haswell | i915 | crocus | N/A | i965 |
| >= Haswell (Gen7), < Broadwell | i915 | crocus | hasvk | i965 |
| == Broadwell (Gen8) | i915 | iris/crocus | anv/hasvk | iHD |
| >= Skylake (Gen9), < Tiger Lake | i915 | iris | anv | iHD |
| >= Tiger Lake (Xe/Gen12), < Lunar Lake (Xe2) | i915/xe | iris | anv | iHD/libvpl |
| >= Lunar Lake (Xe2) | xe | iris | anv | iHD/libvpl |
dGPU:
| Arch | KMD | DRI (Mesa) | Vulkan (Mesa) | VA |
| ------------------------------------- | ------- | ----------- | -------------- | ---------- |
| >= DG1 (Xe/Gen12.1), Battlemage (Xe2) | i915/xe | iris | anv | iHD/libvpl |
| >= Battlemage (Xe2) | xe | iris | anv | iHD/libvpl |
Usually, KMD/DRI/Vulkan should work as-is if you use a reasonably recent kernel and mesa, but video acceleration sure is a bit of a mess.There's a Mesa DRI driver, called i965 (originally made for Broadwater chipset, thus the 965 numbering), which has since been replaced by either:
- Crocus for anything up to Broadwell (Gen 8)
- Iris for anything from Broadwell and newer
Then there's a Video Acceleration driver, which is (also) called i965. I think this is what you're referring to. There are:
- i965 (aka Intel VAAPI Driver), which supports anything from Westmere (Gen 5) to Coffee Lake (Gen 9.5)
- iHD (aka Intel Media Driver), is a newer one, which supports anything from Broadwell (Gen 8)
- libvpl, an even newer one, which supports anything from Tiger Lake (Gen 12) and up
Battlemage users had to use libvpl until recently because Media Driver 2024Q4 with BMG support was only released 2 weeks ago. Using libvpl with ffmpeg may requires rebuilding ffmpeg, as some distro doesn't have it enabled (due to conflict with legacy Intel Media SDK, so you have to choose).
I have B580 for my Linux machine (6.12), and xe seems pretty stable/performant so far.
Battlemage is supposed to fix all these architectural issues. EU in Xe2 is now SIMD16 (which is why the number of EUs per Xe2 core is halved from that of Xe1), and they've added all the previously software-emulated instructions, including Execute Indirect, so in theory Battlemage should be in a much better position in game compatibility side of things.
On Linux side of things, lacking sparse residency support in i915 also contributes to game compatibility[1] (though this is now available under Mesa 24). This is something the new xe driver is supposed to fix, but it's still a long way to go until it's actually usable.
[ 8.485808] [ T703] caller igen6_probe+0x138/0x780 [igen6_edac] mapping multiple BARs
[ 8.487601] [ T703] EDAC MC0: Giving out device to module igen6_edac controller Intel_client_SoC MC#0: DEV 0000:00:00.0 (INTERRUPT)
[ 8.487625] [ T67] EDAC igen6 MC0: HANDLING IBECC MEMORY ERROR
[ 8.487626] [ T67] EDAC igen6 MC0: ADDR 0x7fffffffe0
[ 8.487664] [ T703] EDAC igen6: v2.5.1- You don't really need to repeat built-in VCLs in default.vcl. In the article, you can omit `vcl_hit`, `vcl_miss`, `vcl_purge`, `vcl_synth`, `vcl_hash`, etc. If you want to modify the behavior of built-in VCL, e.g. adding extra logs in vcl_purge, then just have `std.log` line and don't `return` (it will fall through to the built-in VCL). You can read more about built-in VCL on Varnish Developer Portal[1] and Varnish Cache documentation[2].
- Related to the above built-in VCL comment: `vcl_recv` current lacks all the guards provided by Varnish default VCL, so it's recommended to skip the `return (hash)` line at the end, so the built-in VCL can handle invalid requests and skip caching if Cookie or Authorization header is present. You may also want to use vmod_cookie[3] to keep only cookies you care about.
- Since Varnish is sitting behind another reverse proxy, it makes more sense to enable PROXY protocol, so client IPs are passed to Varnish as part of Proxy Protocol rather than X-Forwarded-For (so `client.ip`, etc. works). This means using `-a /var/run/varnish.sock,user=nginx,group=varnish,mode=660,PROXY`, and configuring `proxy_protocol on;` in Nginx.
[1]: https://www.varnish-software.com/developers/tutorials/varnis...
[2]: https://varnish-cache.org/docs/7.4/users-guide/vcl-built-in-...
[3]: https://varnish-cache.org/docs/trunk/reference/vmod_cookie.h...
Even with passwords, you'd still need an application or a device for 2FA, unless you keep a pack of scratch cards with you everywhere. So unless you go out of the way to avoid 2FA or use scratch cards, I don't think this change anything from the status quo, only now you have one less thing to remember.
If this is compared to <= 0x123 (before the introduction of "Intel Default Settings") then this drop may be attributed to low AC Load Line configuration in previous configuration, which essentially undervolting the CPU out-of-the-box. >= 0x125 BIOS usually bumped this up/lower this down to Intel's recommendation. It could be very possible that AC_LL is setting too high on the MSI board after the fix.
It's still very strange though, even if AC_LL is the culprit, that 253W is running 20% slower than 125W. For what it's worth, I have two systems running 13900K and 13700K both with ASRock board, and I see no difference in MT performance with 1-2% drop in ST (though 13700K is running with PL1=PL2=125W, but that shouldn't affect ST).
Most Raptor Lake "server boards" right now are W680 with client CPUs because the C266/Xeon E-2400 took a long time to come out. The one intended for workstations typically has overclockable settings or is even overclocked by default, which means it's likely to get hit with the failure (1). The one intended for servers do have more conservative settings, but can still be hit with failure (2) under some conditions.
Buildzoid released a video on the Supermicro W680 blade a bit ago that were having issues after running a single-core load 24x7, which is essentially 24x7 boost[1] (aka issue (2)). Xeon E-2400 _could_ be affected in this scenario, although even the highest clock E-2400 SKU (E-2488) is only running at 5.6GHz without Thermal Velocity Boost, and most others are ranging from 4.5 to 5.2 GHz boost (rather than the 5.8 to 6 GHz boost some client SKUs do). I feel like the actual B0 Xeon E-2400 would be a lot less prone to both failures (1) and (2) due to this (but it could happen, though there's no reports of such).
But then the conversation gets muddied enough that "even servers and Xeons are affected" becomes the common narrative (while the former is true, the circumstances needs to be noted; and for Xeons, it's a _maybe_ at most, since right now there's no report of Xeon E-2400 failing).
In other ports-like build systems, this can be a bit more complicated. For example, MacPorts allows you to use a local repository, but it requires configuring that local repository in `/opt/local/etc/macports/sources.conf` and `portindex` it beforehand before MacPorts could pick it up. Some others don't support building out of the main tree at all.
Personally, out of all ports-like building systems, I like MacPorts' Portfile the most. It's similar to FreeBSD Ports' BSD Makefile (MacPorts was created by Jordan Hubbard who also co-created FreeBSD Ports) but using DSL via Tcl interp instead of being a shell script (POSIX shell in the case of Alpine's APKBUILD, bash in the case of others). From my experience, the syntax is very nice to work with, though you need to know a bit of Tcl for a non-trivial package.