# msge.no Personal website of Markus M-G — a slim overview page backed by several focused detail pages. Content is primarily in Norwegian Nynorsk (`nn` / `nn-NO`). ## Canonical URL - https://msge.no/ ## Pages - https://msge.no/ - Overview: hero, curated links, and a glanceable "Akkurat no" row (now reading, now playing, the train he is on right now or the next one). - https://msge.no/meir/ - The about page: who Markus is, what he has written and what he works with, plus one short glance into each section (reading, music, film, trains, notes) that links through to the section itself. The full list of pages is /alt. - https://msge.no/alt/ - The site index: every open page on msge.no, section by section, plus the Atom feeds and the machine-readable endpoints. Kept in step with the page registry by a test, so it cannot go stale as pages are added. - https://msge.no/bok/ - Book section hub: what Markus is reading now, the totals, and the way into the shelf and the archive. - https://msge.no/bok/hylla/ - The bookcase: every book Markus has read, drawn as coloured spines; per-book deep links via ?b=. - https://msge.no/bok/arkiv/ - The book archive, four ways: by genre, by month, by author, by language. Drilldowns at /bok/arkiv/{sjanger,manad,forfattar,sprak}/. - https://msge.no/blogg/ - What Markus writes: his own posts from @markus@skvip.lol and the markus.plus corpus, as one index. Every markus.plus title links THROUGH to markus.plus — msge.no is the index, markus.plus is the text. - https://msge.no/blogg/engasjement/ - How much the tut were read: favourites, boosts and replies for @markus@skvip.lol over a chosen period. This was /skvip, which now 301s here (query string preserved). - https://msge.no/blogg/arkiv/ - The writing archive, two ways: tut by hashtag, meldingar by markus.plus section. Drilldowns at /blogg/arkiv/{emne,bolk}/. - https://msge.no/lyttar/ - Music section hub: what is playing now, how much Markus has listened to since 2016, and the way into the archive. - https://msge.no/lyttar/arkiv/ - The listening archive, four ways: by artist, by album, by month, by year. Drilldowns at /lyttar/arkiv/{artist,album,manad,aar}/. The upstream caps every ranking at 100 rows, so a period at that cap says so rather than claiming it saw everything. Unlike /tog, the running month is marked but still ranked: a part-month of scrobbles is hundreds of plays, which is a real sample. - https://msge.no/stacken/ - Interactive force graph of which languages/frameworks/tools co-occur across Markus's GitHub repos. - https://msge.no/ki/ - AI-disclosure note (Nynorsk + English): these sites are built primarily with agentic AI coding, human-directed and human-accountable. - https://msge.no/tog/ - Tog: the hub of the train section — the newest togselfie, the next departure, and the way in to the map and the archive. - https://msge.no/tog/no - Toget no: the leg Markus is on right now, stop by stop on the real track, with realtime data from Entur (Norway and cross-border). Progress the site computed rather than measured is labelled as such. - https://msge.no/tog/tavla - Tavla: the next train Markus is taking, drawn as a station departure board. Always shows a next departure however far out it is (a real one is often two months away), so the board is never empty. Track ("spor"), punctuality, cancellations and disruption messages come from Entur and therefore only exist for Norwegian departures within two hours of leaving — outside that the track column reads “—” and the status column reads “RUTETID” rather than claiming the train is on time. Built to be embedded in an iframe by anyone: it answers Content-Security-Policy: frame-ancestors *, and takes ?tema= (mork · lys), ?rader= (1–10) and ?kompakt=1. An unknown parameter value falls back to the default. - https://msge.no/tog/arkiv - Arkivet: everything travelled, seen four ways. Land — how many kilometres by train in each country, derived by routing every station pair over the rail network and intersecting it with country borders, then prorating back to each leg's recorded distance (one page per country at /tog/arkiv/land/). Månader — a year x month heatmap and the busiest months ranked, one page per month at /tog/arkiv/manad/; the running month is marked incomplete and held out of every ranking. År — a year in review, one page per year at /tog/arkiv/aar/, each leading with what SHARE of all travel ever happened that year; shares exist only for additive quantities (kilometres, hours, legs, night trains, journeys counted on their start year), while countries, stations and operators come as "n of m" counts because they recur year after year. Unlike the running month, the running year is marked but still ranked. Reiser — the named multi-train journeys, one page each at /tog/arkiv/reise/. - https://msge.no/tog/selfie/ - The #togselfie gallery: every train selfie from @markus@skvip.lol, shown as a wall of photographs with the date and any tagged place over each, the raw alt-text "toginfo" one press away per card, a locations map (?view=kart), a rolling-stock tally (?view=samling) and an autoplaying face-locked reel (?view=reel). - https://msge.no/poppis/ - Popularity ranking of the open sites and pages on the server (human page views, selectable time windows). - https://msge.no/film/ - Film section hub: what Markus watched last, and the way into the wall, the archive and Rulleteksten. - https://msge.no/film/rulleteksten/ - Rulleteksten: the cast-name web across everything he has watched. - https://msge.no/film/arkiv/ - The film archive, four ways: by genre, by month, by director, by decade. Drilldowns at /film/arkiv/{sjanger,manad,regissor,tiar}/. - https://msge.no/film/plakaten/ - Plakatveggen: every film and TV series Markus has watched, as a wall of posters, with per-year and per-genre filters and a stats strip. - https://msge.no/tuben/ - Tuben: Markus's YouTube watch archive (96,515 watch events since 2010), with per-year subpages at /tuben/. The archive holds NO watch duration, so every time figure is given as three qualified upper bounds and never one; Shorts have no flag in the data (the threshold is a heuristic) and rows with no duration are their own bucket; 11.4% of rows have no channel and can appear in no ranking; and four years (2012-2014, 2024) are export gaps rather than quiet years and are drawn as uncertain. - https://msge.no/tuben/gjensynet - Gjensynet: the videos Markus has rewatched, with a strip showing how the rewatches are spread in time. - https://msge.no/tuben/epokane - Kanalane sine epokar: a lifecycle timeline of the most-watched YouTube channels, first watch to last, with a search over the top 500 of 25,510 channels. - https://msge.no/tuben/krysspeik - Krysspeik: YouTube volume held against train days, films marked and books finished. Correlation on one person's own data, and the page says so. ## MCP (Model Context Protocol) The site's live data is queryable as read-only MCP tools — reading, music, trains, photos, togselfies, engagement and page-view stats. - Endpoint: https://msge.no/mcp (streamable HTTP, stateless, JSON responses, no auth) - Discovery: https://msge.no/.well-known/mcp.json (tool list, generated from the live server) - Tools: get_site_info, get_now_playing, get_recent_tracks, get_music_stats, get_reading, get_books, get_train_stats, get_tog, get_train_countries, get_garden, get_togselfies, get_skvip_stats, get_poppis, get_watched, get_tuben ## Feeds (Atom) - https://msge.no/bok/hylla/feed.xml - books finished - https://msge.no/tog/selfie/feed.xml - new togselfies (image enclosures) - https://msge.no/tankehav/feed.xml - markus.plus (Tankehav) pages - https://msge.no/film/plakaten/feed.xml - films and series watched (poster enclosures) ## Structured and machine-readable resources - Every public page carries schema.org JSON-LD (@graph with WebPage/AboutPage/CollectionPage/ImageGallery + BreadcrumbList, resolving https://msge.no/#person and https://msge.no/#website) - https://msge.no/oembed.json (dynamic per-page oEmbed: ?url=) - https://msge.no/sitemap.xml - https://msge.no/robots.txt - https://msge.no/humans.txt - https://msge.no/markus.vcf (vCard) - https://msge.no/.well-known/webfinger?resource=acct:markus@msge.no (WebFinger) - https://msge.no/pub/actor.jsonld (ActivityPub actor; a POINTER — movedTo @markus@skvip.lol) ## Social and identity links - https://skvip.lol/@markus - https://rullen.no/@markus - https://gigowl.social/user/markus - https://social.vivaldi.net/@bc304 - https://github.com/mmsge - https://markus.plus - https://app.thestorygraph.com/profile/mvrkws - https://bookwyrm.social/user/mvrkws ## Contact - mailto:markus+msge@msge.no ## More machine-readable context - https://msge.no/llms-full.txt