Sign in

Tamme Schichler

@tamme.schichler.de
60 followers 193 following 518 posts

Niche game systems and cross-paradigm Rust developer. I'm trying to be less invisible this year. Currently independent. Other places: blento.tamme.schichler.de Announcements at @tamschi.itch.io, accounts hosted on @eurosky.social.

PostsRepliesMedia
Tamme Schichler @tamme.schichler.de · 20h
@offprint.app This may be a transient error, but I wasn't able to create a publication. (The page was loading for a while first but I think it never hydrated. The button to "Choose file..." does nothing.) Firefox's network tab is showing NS_ERROR_CORRUPTED_CONTENT for those two failed GET requests.
Loading module from “https://offprint.app/build/assets/layout-dashboard-D369JZeN.js” was blocked because of a disallowed MIME type (“text/html”). create

Uncaught (in promise) TypeError: error loading dynamically imported module: https://offprint.app/build/assets/layout-dashboard-D369JZeN.js

TypeError: p.target.closest is not a function content.js:899:465

Loading module from “https://offprint.app/build/assets/rocket-CBHy0Vj1.js” was blocked because of a disallowed MIME type (“text/html”). create
110
Tamme Schichler @tamme.schichler.de · 10/10/2026
@embark-studios.com requests a way over-broad permission set from Discord for an initial link. Don't do that. 🚮
- Access profile information
- Manage friends and blocks
- Access server and channel memberships
- Access friend list and their online status
- Update activity status
- Send and receive messages
- Update your Discord profile with your app activity
100
Tamme Schichler @tamme.schichler.de · 07/09/2026
@wukko.me This button does nothing for me. (Plain `Mozilla/5.0 (X11; Linux x86_64; rv:…) Gecko/… Firefox/…` if it matters.) "See all downloads" and the "64-bit (.AppImage)" button further down the page do work fine for me.
Pointer cursor on the "Linux AppImage (64-bit)" button next to "See all downloads".
001
Tamme Schichler @tamme.schichler.de · 27/07/2026
English→German is still scrutable, but it's usually full of errors and somewhat hard to read due to that. I tapped "Übersetzen" on your post and this has ~5-10 mistakes, depending on whether you count phrases that are just wildly unidiomatic. (The rest are grammar and wrong-related-word errors.)
Englisch → Deutsch · Ändern

In meiner Erfahrung (englisch <-> Niederländisch, die zugegebenermaßen eines der nächstgelegenen Sprachenpaare, die Sie erhalten können, ist Maschinen- / AI-Übersetzung fast immer angemessen * genau * in diesen Tagen, es ist nur nicht * hübsch *. Ich muss normalerweise einige Zeit damit verbringen, es in meine Stimme zu verfeinern.
110
Tamme Schichler @tamme.schichler.de · 17/06/2026
Und diese interaktive Pixelkatze, die man in den Einstellungen aktivieren kann. Die Feedbackseite zu mu ist hier, gibt vielleicht auch einen Eindruck davon, wie das Projekt aktuell (mit kleineren Bugs) funktioniert: userinput.app#/s/did:plc:o... Ist wahrscheinlich in ein paar Wochen wirlich stabil.
Eine cremefarbene Pixelkatze, die vor dem "Antwort schreiben"-Feld sitzt.
000
Tamme Schichler @tamme.schichler.de · 14/06/2026
I think I made good progress on Asteracea today… Finally retired the procedural macro parser, so now I'm focusing on the declarative recovering one. Leading optionals are still tricky though, so I'm keeping them out of branching positions in the grammar.
grammar! {
 pub struct Component: PopFrom {
  pub attributes: Greedy<Vec<OuterAttribute>>,
  pub visibility: Option<Visibility>,
  pub r#const: Option<Const>,
  pub r#async: Option<Async>,
  pub name: Identifier,
  pub constructor_args: Option<Parentheses>,
  pub render_args: Option<SquareBrackets>,
  pub r_arrow: RArrow,
  pub substrate: Identifier,
  pub body: CurlyBraces<Vec<Statement>>,
 }
}
000
Tamme Schichler @tamme.schichler.de · 12/06/2026
No, it's `can't access property "title", n.value is undefined` now instead.
XHRGET
https://slingshot.microcosm.blue/xrpc/com.atproto.repo.getRecord?repo=did:plc:3hj57ir63lsdlk6jlggdrzop&collection=app.userinput.discussion&rkey=3mo3jfaefa22s
[HTTP/2 400  128ms]

XHRGET
https://eurosky.social/xrpc/com.atproto.repo.getRecord?repo=did:plc:3hj57ir63lsdlk6jlggdrzop&collection=app.userinput.discussion&rkey=3mo3jfaefa22s
[HTTP/2 400  27ms]

loadRoute failed: TypeError: can't access property "title", n.value is undefined
    Ra https://userinput.app/assets/index-Bftf5pGa.js:1
    Ra https://userinput.app/assets/index-Bftf5pGa.js:1
    qc https://userinput.app/assets/index-Bftf5pGa.js:2
    yl https://userinput.app/assets/index-Bftf5pGa.js:2
    async* https://userinput.app/assets/index-Bftf5pGa.js:2
index-Bftf5pGa.js:2:67911
100
Tamme Schichler @tamme.schichler.de · 12/06/2026
It's working fine if I log in as @tamschi.itch.io, and on another side account I get the distinct error message `Cannot read properties of undefined (reading 'space')` on the page with the following error in the console:
index-kElBZ_fh.js:2 loadRoute failed: TypeError: Cannot read properties of undefined (reading 'space')
    at index-kElBZ_fh.js:1:64772
    at Array.map (<anonymous>)
    at Ra (index-kElBZ_fh.js:1:64757)
    at async Promise.all (/index 1)
    at async qc (index-kElBZ_fh.js:2:66607)
    at async yl (index-kElBZ_fh.js:2:82133)
qc	@	index-kElBZ_fh.js:2
110
Tamme Schichler @tamme.schichler.de · 12/06/2026
I just went to userinput.app, deleted my cookies and website data (causing a refresh), then logged in as me and immediately got the error. I got the following errors in the console:
XHRGET
https://slingshot.microcosm.blue/xrpc/com.atproto.repo.getRecord?repo=did:plc:3hj57ir63lsdlk6jlggdrzop&collection=app.userinput.discussion&rkey=3mo3jfaefa22s
[HTTP/2 400  113ms]

XHRGET
https://eurosky.social/xrpc/com.atproto.repo.getRecord?repo=did:plc:3hj57ir63lsdlk6jlggdrzop&collection=app.userinput.discussion&rkey=3mo3jfaefa22s
[HTTP/2 400  25ms]

loadRoute failed: TypeError: can't access property "space", e.value is undefined
    g https://userinput.app/assets/index-kElBZ_fh.js:1
    Ra https://userinput.app/assets/index-kElBZ_fh.js:1
    qc https://userinput.app/assets/index-kElBZ_fh.js:2
    yl https://userinput.app/assets/index-kElBZ_fh.js:2
    async* https://userinput.app/assets/index-kElBZ_fh.js:2
index-kElBZ_fh.js:2:67911
100
Tamme Schichler @tamme.schichler.de · 11/06/2026
It's in there, technically. Bluesky just doesn't render the `website` field they defined 😶
@mu.social's profile on mu.social showing a mu.social link.
110
Tamme Schichler @tamme.schichler.de · 08/06/2026
Gallery mixed aspect ratio test (mostly blank images):
000
Tamme Schichler @tamme.schichler.de · 08/06/2026
Testing: (images are white)
000
Tamme Schichler @tamme.schichler.de · 08/06/2026
Testing… (images are white)
000
Tamme Schichler @tamme.schichler.de · 08/06/2026
I see a notice. Might be good to have a generic one, actually, unless this is some kind of embed masquerading as specific functionality.
Es gibt etwas Neues

Dieser Post enthält 5 Fotos.
Aktualisiere deine App, um sie alle zu sehen.

App aktualisieren.
130
Tamme Schichler @tamme.schichler.de · 30/05/2026
I'm sure it's unrelated, but I found this part of the diff amusing:
A comment "Should be impossible, but kernel bugs happen!" edited to just "Should be impossible, but bugs happen!".
120
Tamme Schichler @tamme.schichler.de · 26/05/2026
Average dpd.de experience. This is in fact not my "wish-location" but the front doorknob of the apartment building. I did get the package though, fortunately. Would have been a MAJOR hassle if not (even though they did inadvertently give me cryptographic proof of this departure.)
Translated from German:

Good day,
your package has arrived!
We parked it at your preferred location.
[photo of a small package balanced on a doorknob]
We wish you much joy with your delivery.

Original text:

Guten Tag,
Ihr Paket ist da!
Wir haben es an Ihrem Wunsch-Ort abgestellt.
[Foto vom Paket aufm Türknauf]
Wir wünschen Ihnen viel Freude mit Ihrer Sendung.
000
Tamme Schichler @tamme.schichler.de · 20/05/2026
@terrygodier.com Just had your "The Boring Internet" shared with me and I love it! Ran into a style issue though where the interaction footer is barely visible on my 3k:2k screen at the end stop (with low scaling. Zooming the page does fix it):
"You do not have to wait for someone to rebuild what you lost.

You are standing in it."

The footer below that is so faint it's barely legible.
110
Tamme Schichler @tamme.schichler.de · 15/05/2026
It did, unfortunately, not break either: (Edit:) Whoops, typo. Fixed.
A repost and a quote post of the post above in my feed, both made of the unedited version but now (after an F5 reload) showing the edited version of the post.
110
Tamme Schichler @tamme.schichler.de · 07/05/2026
Er, *second level domain. The en.wikipedia.org/wiki/Public_... is a great starting point for this, but will need manual sorting since it also contains paid public second level (country) domains. Maybe someone could maintain a subset of spam-susceptible ones.
// Cloudflare, Inc. : https://www.cloudflare.com/
// Submitted by Cloudflare Team <publicsuffixlist@cloudflare.com>
cloudflare.app
cf-ipfs.com
cloudflare-ipfs.com
trycloudflare.com
pages.dev
r2.dev
workers.dev
cloudflare.net
cdn.cloudflare.net
cdn.cloudflareanycast.net
cdn.cloudflarecn.net
cdn.cloudflareglobal.net
140
Tamme Schichler @tamme.schichler.de · 22/04/2026
Hm. I'm guessing it got DDoSd too much?
status.bsky.app being suspended by UptimeRobot
000
Tamme Schichler @tamme.schichler.de · 26/03/2026
Interlaced (procedural) templating can be really nice I think, as long as the syntax is clean and bracket-nesting is strict. This loess macro is pretty clean too by the way, it's (mostly) not a muncher and you can use `{#raw { … }}` to emit long runs of token trees more efficiently also at runtime.
use loess::quote_into_mixed_site;
use proc_macro2::{Span, TokenStream};

fn my_quote(span: Span, root: &TokenStream, output: &mut TokenStream) {
	quote_into_mixed_site!(span, root, output, {
	
		// Emits `b`.
		{#if false {
			a
		} else {
			b
		}}
		
		// Emits `e`.
		{#if false {
			a
		} else for _ in 0..0 {
			b
		} else while let Some(0) = None {
			c
		} else match 0 {
			1 => { d }
			_ => { e }
		}}
	
	});
}
100
Tamme Schichler @tamme.schichler.de · 11/03/2026
In den Tutorials isses deutlich schlimmer 😩 Ich versteh' ja, dass die Zielgruppe davon Anfänger*innen sind, aber deshalb muss man die doch nicht wie in der Grundschule behandeln.
In this activity, you'll learn how to use @for to repeat elements in a template.

---

The syntax that enables repeating elements in a template is @for.

Here's an example of how to use the @for syntax in a component:

(top of code block)
100
Tamme Schichler @tamme.schichler.de · 10/03/2026
Old sketch made in a day to learn 3D CSS: (no <canvas>, JS optional)
110