Advertisement · 728 × 90

Posts by Stephan Schlecht

Starting in February 2027, laptop and smartphone batteries in the EU must be replaceable. I think that’s pretty, pretty cool. Technically, this actually used to be the case before.

13 minutes ago 0 0 0 0

Got exactly one citation and ignored by several major pubs covering the official Microsoft post here, looking forward to Thursday when they get to do it again when token-based billing is announced ❤️

17 hours ago 514 58 5 1
A screenshot of a white-on-black terminal depicting a 19x19 go board in ascii graphics, with empty grid intersections as periods, and black and white as Os and #s

A screenshot of a white-on-black terminal depicting a 19x19 go board in ascii graphics, with empty grid intersections as periods, and black and white as Os and #s

It’s absolutely incredible that one of the largest Japanese-run Go servers, which has been running since 1992, is still accessed entirely via Telnet. And while most players use GUI clients that use Telnet under the hood, you can still connect manually and get ASCII graphics streamed to you

2 days ago 4148 887 10 44

Nuances: So Go was first to introduce the defer statement as a keyword, and that might have influenced Swift. However, they differ in semantics: Go deferred calls run when the surrounding function returns; in Swift, deferred code runs when the enclosing static lexical scope exits.

3 days ago 1 0 0 0
Go snippet using `defer func() { fmt.Println(x) }()`

Go snippet using `defer func() { fmt.Println(x) }()`

If you don't want immediate argument binding in Go, defer a closure; then the closure can observe the variable's later value, so this can also produce 2, like Swift.

3 days ago 1 0 1 0
A screenshot displays two code snippets with the same intent: one in Go and one in Swift. Both assign 1 to x, use a defer to print x, and then assign 2 to x before the function ends.

A screenshot displays two code snippets with the same intent: one in Go and one in Swift. Both assign 1 to x, use a defer to print x, and then assign 2 to x before the function ends.

Swift defer runs a block when the current scope exits, and that block can observe later mutations to local variables. Go defer schedules a function call for the end of the surrounding function, and the call’s arguments are evaluated immediately when the defer is declared, so Go outputs 1 and Swift 2

3 days ago 1 0 1 0

Quite cool.

4 days ago 1 0 0 0
Advertisement
A photo showing three juvenile cormorants on the Danube.

A photo showing three juvenile cormorants on the Danube.

A break from the computer to watch some young cormorants on the Danube.

4 days ago 1 0 0 0

When using it, on does not think about. But sudeently you wonder. So [string] should not be read as array or slice, but it's more: read a value with ["key"] that gives an int.

4 days ago 0 0 0 0
Two basic simple code snippets. One in Go on the left: ages := make(map[string]int) vs Swift on the right: var ages: [String: Int] = [ : ]

Two basic simple code snippets. One in Go on the left: ages := make(map[string]int) vs Swift on the right: var ages: [String: Int] = [ : ]

Do you find yourself involuntarily asking very basic questions about syntax, even though you’ve used something hundreds of times? Suddenly, I find myself wondering about Go's `map[string]int` (where Swift's dictionary [String : Int] syntax just feels more natural.)

4 days ago 1 0 1 0

Another advantage: setup and filter state are created up front, so the processing call itself is designed to work with preallocated state. No runtime allocations, which are deadly for real-time audio.

4 days ago 0 0 0 0
The screenshot shows a call of Apple's vDSP_biquadD function, that applies a double-precision single-channel biquadratic IIR filter. It is part of the Accelerate framework.

The screenshot shows a call of Apple's vDSP_biquadD function, that applies a double-precision single-channel biquadratic IIR filter. It is part of the Accelerate framework.

Indeed, e.g. for applying a biquad filter (IIR audio filter) to a floating-point samples array. Highly optimized for Apple Silicon. And that’s even with an IIR feedback loop, which means vectorization doesn’t work quite as well. I should benchmark it against a manual C loop at some point.

4 days ago 0 0 1 0
This image is a Downdetector graph showing user reports of technical issues for the social media platform Bluesky over a 24-hour period. It was a major outage with lingering issues into the evening, before finally stabilizing overnight.

This image is a Downdetector graph showing user reports of technical issues for the social media platform Bluesky over a 24-hour period. It was a major outage with lingering issues into the evening, before finally stabilizing overnight.

I checked Bluesky on and off yesterday and found the sheer number of different error messages interesting. According to TechCrunch, it was a denial-of-service attack. That was a long outage. It’s nice to see them back again.

4 days ago 2 0 0 0
The image shows a retro-computing setup featuring a vintage Sun Microsystems Ultra 5 workstation. The screen displays an older Unix-based CDE desktop environment. It shows also an original vintage Sun Microsystems keyboard and mouse.

The image shows a retro-computing setup featuring a vintage Sun Microsystems Ultra 5 workstation. The screen displays an older Unix-based CDE desktop environment. It shows also an original vintage Sun Microsystems keyboard and mouse.

A few years ago, I sold my Sun Ultra 5 pizzabox (UltraSPARC IIi CPU), which I had bought secondhand. At the time, it was used for various server test scenarios (e.g. database setups). I kept it in a separate room because it was too loud for a desktop setup. But it had a very good keyboard.

5 days ago 0 0 0 0
Claude Code screenshot saying:  You've hit your limit • resets 12pm (Europe/Berlin)
/upgrade to increase your usage limit.

Claude Code screenshot saying: You've hit your limit • resets 12pm (Europe/Berlin) /upgrade to increase your usage limit.

Codex screenshot saying: You've hit your usage limit. Upgrade to Pro (https://chatgpt.com/explore/pro), visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Apr 15th, 2026 12:46 AM.

Codex screenshot saying: You've hit your usage limit. Upgrade to Pro (https://chatgpt.com/explore/pro), visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Apr 15th, 2026 12:46 AM.

Synchronized timeout: Claude and Codex have hit their limits. Double Limit Hit. Time to touch some grass.

6 days ago 0 0 0 0
Claude Code screenshot saying: You've hit your limit • resets 12pm (Europe/Berlin)
/upgrade to increase your usage limit.

Claude Code screenshot saying: You've hit your limit • resets 12pm (Europe/Berlin) /upgrade to increase your usage limit.

Improved for me with
"env": {
"CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING": "1"
}
in ~/.claude/settings.json

But hitting now limits earlier.
¯\_(ツ)_/¯

6 days ago 0 0 0 0

The new Linux 7 kernel (congrats, by the way) introduces a self-healing feature for the XFS file system. My Macs run on comparatively new APFS (some on older HFS+), and on my Linux machines it’s ext4. It just occurred to me that most file systems date back to the ’90s or at the mid-2000s, no?

1 week ago 2 0 0 0
Advertisement
Claude Code is displaying an “overloaded_error,” with attempt 9/10 having been running for 2 minutes and 34 seconds.

Claude Code is displaying an “overloaded_error,” with attempt 9/10 having been running for 2 minutes and 34 seconds.

And don't forget the “overloaded_error”

1 week ago 0 0 0 0

There are some classic, highly regarded reference books for programming: “The Go Programming Language“ by Donovan and Kernighan, or K&R for C, ...
What is the equivalent for Swift? Just wondering.

1 week ago 0 0 0 0
Post image

That’s actually pretty handy and nice. I noticed that when compiling from the source code, there’s a reference to Sparkle (the framework for automatic updates on macOS), but it’s really easy to remove!

1 week ago 1 0 0 0

Timing-wise, that would make sense. The development of Java actually began around 1991. 😀

1 week ago 1 0 0 0
Preview
France to ditch Windows for Linux to reduce reliance on US tech | TechCrunch France's move to ditch Windows for Linux is its latest effort to reduce its reliance on American tech giants.

Interesting. At least in France, concrete steps are being taken toward “digital sovereignty” by switching from Windows to Linux.

techcrunch.com/2026/04/10/f...

1 week ago 2 0 0 0

Jobs was undoubtedly right that NeXT’s development environment at the time was far superior to the competition, the combination of Project Builder and Interface Builder (which later formed the basis for Xcode).

1 week ago 2 1 1 0

You also need to know when to delete the build folder in ~/Library/Developer/Xcode/DerivedData. Most I miss a reliable Find Usages and Goto Definition. But it has its good sides, too.

1 week ago 0 0 1 0
Preview
GLM-5.1 in Real Coding Work | Software 7 GLM-5.1 solves a real-world Swift DSP coding challenge that stumped Kimi K2 and Claude Sonnet 4 last year.

Last year, Kimi K2 and Claude Sonnet 4 both failed my real-world Swift DSP coding test. GLM-5.1 just solved it in 22 minutes for $1.52. I need a new test. www.software7.com/blog/glm_5.1...

1 week ago 1 0 0 0
Advertisement

I like being able to decide for myself how long I use a device. I’ve actually been using some devices for a long time. That’s why I don’t buy anything that requires a proprietary server.

1 week ago 1 0 0 0

When I read about the enormous sums being invested in AI data centers, I sometimes wonder if there might still be massive performance breakthroughs in large language models (LLMs) that would make it possible to achieve similar performance on far less powerful hardware. And then what?

1 week ago 0 0 0 0
Claude 'cannot be trusted to perform complex engineering', says AMD's AI head honcho This is reportedly since changes made in February.

www.pcgamer.com/software/ai/...

1 week ago 0 0 0 0
Claude 'cannot be trusted to perform complex engineering', says AMD's AI head honcho This is reportedly since changes made in February.

www.pcgamer.com/software/ai/...

1 week ago 0 0 0 0

Thanks for the helpful reference. Interesting. It mentions that there might be a way around it in ~/.claude/settings.json:
{
"effortLevel": "high",
"env": {
"CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING": "1"
}
}
I'll have to give that a try.

1 week ago 0 0 1 0