diff options
| author | Jan Tuomi <jan@jantuomi.fi> | 2026-01-02 15:33:34 +0200 |
|---|---|---|
| committer | Jan Tuomi <jan@jantuomi.fi> | 2026-01-02 16:21:05 +0200 |
| commit | 695614902ba24f14e06a42982c62132d3b5015d4 (patch) | |
| tree | dafc38357a1d93312b4f6983ae83eddeb63311af | |
| parent | 5a05ca47edca3a5cf8fad2e19a533faaa1c7b362 (diff) | |
Use figures instead of plain images
| -rw-r--r-- | content/posts/cassettes.md | 2 | ||||
| -rw-r--r-- | content/posts/deploying-the-garden.md | 2 | ||||
| -rw-r--r-- | content/posts/diddle-event-scheduler.md | 2 | ||||
| -rw-r--r-- | content/posts/eurobsdcon-2025-conf-notes.md | 8 | ||||
| -rw-r--r-- | content/posts/home-server-part-1.md | 8 | ||||
| -rw-r--r-- | content/posts/home-server-part-2.md | 4 | ||||
| -rw-r--r-- | content/posts/home-server-part-3.md | 4 | ||||
| -rw-r--r-- | content/posts/home-server-part-4.md | 2 | ||||
| -rw-r--r-- | content/posts/now-2024-summer.md | 4 | ||||
| -rw-r--r-- | content/posts/now-2025-fall.md | 6 | ||||
| -rw-r--r-- | content/posts/now-2025-summer.md | 6 | ||||
| -rw-r--r-- | content/posts/now-2025-winter.md | 12 | ||||
| -rw-r--r-- | content/posts/qcon-london-2024-takeaways.md | 4 | ||||
| -rw-r--r-- | content/posts/subjective-review-miru.md | 6 | ||||
| -rw-r--r-- | content/posts/unfold.md | 4 | ||||
| -rw-r--r-- | content/projects/ATK16.md | 4 | ||||
| -rw-r--r-- | content/projects/diddle.md | 2 | ||||
| -rw-r--r-- | static/style.css | 1 |
18 files changed, 40 insertions, 41 deletions
diff --git a/content/posts/cassettes.md b/content/posts/cassettes.md index efb9bd9..5b8f6b6 100644 --- a/content/posts/cassettes.md +++ b/content/posts/cassettes.md @@ -11,7 +11,7 @@ They feel much more approachable than vinyls. I dislike snobbery. ## So I bought a cassette player - +{{ fig(src="/files/cassette_player.jpeg", alt="A Sony cassette recorder next to a pile of cassettes") }} It’s a Sony TCM-459V and it’s only a bit noisy and wobbly. It can record too. diff --git a/content/posts/deploying-the-garden.md b/content/posts/deploying-the-garden.md index ef3821d..105bfb7 100644 --- a/content/posts/deploying-the-garden.md +++ b/content/posts/deploying-the-garden.md @@ -31,7 +31,7 @@ Making changes to the build process itself, or the HTML template, requires a com Most of the heavy lifting is done by `pandoc`. The glue parts use an obscure and ancient language with many curved sigils. Give it a try. - +{{ fig(src="/files/repo_langs.png", alt="A GitHub repository language breakdown showing that most of the code is written in Scheme.") }} ## Hosting diff --git a/content/posts/diddle-event-scheduler.md b/content/posts/diddle-event-scheduler.md index cd71faf..701e252 100644 --- a/content/posts/diddle-event-scheduler.md +++ b/content/posts/diddle-event-scheduler.md @@ -13,7 +13,7 @@ Diddle ([live instance](https://diddle.jan.systems/), [Github](https://github.co **Note**: The instance hosted on my domain might go down any second. Use it at your own discretion. - +{{ fig(src="/files/diddle_screenshot.png", alt="Diddle screenshot showing an answerable poll") }} The first 80% of the project was done in two evenings. The last 80% was done during the next week. The tech stack is the _get-shit-done_ stack: **Python** + **Flask** + **PostgreSQL**. There is no required client side javascript: all client side logic is strictly for [progressive enhancement](https://developer.mozilla.org/en-US/docs/Glossary/Progressive_Enhancement). You can use "dumb" browsers like w3m or lynx to enjoy Diddle just fine. diff --git a/content/posts/eurobsdcon-2025-conf-notes.md b/content/posts/eurobsdcon-2025-conf-notes.md index 6894315..f10c781 100644 --- a/content/posts/eurobsdcon-2025-conf-notes.md +++ b/content/posts/eurobsdcon-2025-conf-notes.md @@ -11,7 +11,7 @@ My event experience consisted of two days of "trainings", sometimes also referre The event was held at the Faculty of Electrical Engineering and Computing (University of Zagreb). The venue was nostalgic in a way since it reminded me a lot of the building where I started my studies in Aalto University. Functional. - +{{ fig(src="/files/eurobsdcon_2025_hallway.jpeg", alt="A photo of a stairway in the conference venue") }} Recordings from the presentation rooms can be found on [Youtube](https://www.youtube.com/playlist?list=PLskKNopggjc6bnhXOX5MQbaPKEvohzjYH). You might have to check the talk schedule to find the timestamp of a given talk. @@ -23,7 +23,7 @@ I attended a two day lab by Prof. Kirk McKusick, who is a well known figure in t You see, I'm not a huge kernel guy (at least not yet) so I was a bit worried that the lab content would go over my head. What happened though surprised me: I understood something like 90% of the material. Apparently I had the necessary prerequisite knowledge after all, or maybe Kirk was just so good at teaching. Maybe both. - +{{ fig(src="/files/eurobsdcon_2025_binders.jpeg", alt="Two spiral notebooks of lecture notes, one for each day") }} ## Favorite talks @@ -61,7 +61,7 @@ I noticed that there was very little "hierarchy" at the event. Speakers, sponsor Since the event, I have familiarised myself with BSD community channels such as the [FreeBSD IRC channels](https://wiki.freebsd.org/IRC/Channels) on Libera.Chat and the various forums of [BSD Cafe](https://wiki.bsd.cafe/), hosted by Stefano Marinelli, who was also speaking at the conference. - +{{ fig(src="/files/eurobsdcon_2025_group.jpeg", alt="A group photo was taken on the final day") }} ## There and back again, and the touristy bits @@ -74,7 +74,7 @@ Traditional & local foods were my primary target when looking for restaurants. M - **ćevapi** at _Plac_ ([Tripadvisor](https://www.tripadvisor.com/Restaurant_Review-g294454-d7075337-Reviews-Plac-Zagreb_Central_Croatia.html)), pictured below - **štrukli** at _La Štruk_ ([Website](https://www.lastruk.com/)) - +{{ fig(src="/files/eurobsdcon_2025_cevapi.jpeg", alt="A serving of ćevapi with cream cheese and paprika spread") }} The return trip was more eventful. The plane didn't start boarding until it was more than an hour late. We were never told the reason. That delay caused me to miss my connecting flight 😑 diff --git a/content/posts/home-server-part-1.md b/content/posts/home-server-part-1.md index dda0c69..28bfbb4 100644 --- a/content/posts/home-server-part-1.md +++ b/content/posts/home-server-part-1.md @@ -11,7 +11,7 @@ This is the first post in a blog series chronicling my progress with designing a {{ toc() }} - +{{ fig(src="/files/aliexpress_minipc.png", alt="A promotional image portraying the mini-PC I ended up getting") }} ## I need a place to run code and store files @@ -21,13 +21,13 @@ I also need to store files somewhere, like everyone that partakes in the modern I have a trusty Ubuntu server, chugging away in some rack in a DigitalOcean datacenter in Amsterdam. Even though DigitalOcean pricing is pretty reasonable for individuals in general, my monthly price tag is around ~35€, after taxes. That sum is based on the cost of running a medium sized x86-64 instance and storing some backup snapshots from that machine. Times twelve, that comes to around 420€ per year. To me, that is a sizeable amount of money. - +{{ fig(src="/files/do-june-billing.png", alt="DigitalOcean is charging $36.14 this month") }} > 🤔 I would like to run a smaller instance, but I needed a certain level of RAM to reliably run Obsidian Sync. For whatever reason, less memory would have the app crash intermittently. Having upgraded to instance to the current size, it is hard to downscale back to a smaller machine. It is possible, of course. But instead of doing that, I started to consider an alternative: maybe I could save some coins and get some hardware of my own, like in the prehistoric times, before cloud services became the de-facto way to run anything. With one year's cloud costs, I could surely get a capable small machine. - +{{ fig(src="/files/old-man-yells-at-cloud.png", alt="Old man yells at Cloud (FFVII)") }} ## Ownership and control @@ -43,7 +43,7 @@ I could provide these capabilities to myself, by managing my own hardware and ne To replace something as generally trusted and widely used as Google Drive requires some proper thinking. I haven't previously set up any redundant disk storage. My systems have never followed the [3-2-1 backup rule](https://en.wikipedia.org/wiki/Backup#3-2-1_Backup_Rule). - +{{ fig(src="/files/3-2-1-Backup-Rule.png", alt="Maintain at least 3 copies of your data, keep 2 copies stored at separate locations, store at least 1 copy at an off-site location. Source: msp360.com") }} Reaching for full ownership and control is not solely an objective aim. It is in part psychological, an attempt to get back control in a world of weakening privacy and walled content gardens. It is driven by emotion. And this is completely fine: humans are allowed to be motivated by emotion, especially when it comes to personal, hobby-adjacent things. To claim otherwise would be dishonest. diff --git a/content/posts/home-server-part-2.md b/content/posts/home-server-part-2.md index bc578be..3030d62 100644 --- a/content/posts/home-server-part-2.md +++ b/content/posts/home-server-part-2.md @@ -58,7 +58,7 @@ Turns out that there simply aren't any reasonably priced machines based on chips AliExpress, an online retailer based in China, is nice since they have a huge variety of devices at prices that would never be profitable if sold in a western shop. I would prefer to buy European in this current political atmosphere, but I'm working off a budget, and limiting my options to reputable and ethical vendors would force me to relax my requirements a lot or stop the project in its tracks altogether. - +{{ fig(src="/files/aliexpress_minipc_results.png", alt='Some of the results of a "mini pc" search query') }} I'm happy to notice that there is a varied selection of devices at the ~200€ price point. Some are designed to be network devices, with a bunch of physical interfaces and limited storage options, while some are clearly NAS oriented, with SATA 3.5" drive bays capable of housing two or four disks, most commonly. @@ -68,7 +68,7 @@ I'm looking for something in the middle ground: I need two physical interfaces ( > AliExpress tends to have multiple layers of ‼️ LIMITED SALE ‼️ and 🤑 TOP DEAL COUPON 🤑 going on at the same time. In the mobile app they also have a bunch of connect-four-type games that can score you big AliExpress Coins©. Please continue consuming. - +{{ fig(src="/files/aliexpress_minipc.png", alt="A promotional image of the mini PC I picked, hosted here in case the product page goes poof. Please enjoy the broken English.") }} Regarding disks, I think I want to buy them locally, just in case there are issues with them. It's way less stressful to handle returns and such with a local vendor than with an overseas megacorp. I feel that stuff like RAM is pretty often OK even if bought from less reputable sources, but with disks I don't want to test my luck. diff --git a/content/posts/home-server-part-3.md b/content/posts/home-server-part-3.md index cad17a6..b650d0f 100644 --- a/content/posts/home-server-part-3.md +++ b/content/posts/home-server-part-3.md @@ -31,13 +31,13 @@ The initial idea is this: Using the install wizard, I set up the system following my rough plan. And here we go, all up and running: - +{{ fig(src="/files/pursotin_fastfetch.png", alt="Fastfetch output showing the machine specs. Disregard the uptime (I took the screenshot way later)") }} ### RAIDZ You might notice that I bought 4 x 1 TB of NVMe disks, but `fastfetch` is only showing ~2TB. That's because I set up the disks into a "RAID 1+0" configuration: - +{{ fig(src="/files/pursotin_raidz.svg", alt="A "RAID 1+0" configuration") }} RAID 1+0 is a combination of two RAID levels. RAID 1, or _mirror_, consumes two disks to produce one virtual disk that has the capacity of only one physical disk but can withstand the loss of either one. ZFS can automatically heal missing data in a member of a mirror by copying it over from the healthy member. RAID 0, or _stripe_, consumes two disks to produce a disk that has the capacity of the sum of its member capacities as well as double I/O speed, but fails if either member disk fails. The combination of these is a useful way to get increased speed and increased durability at the price of half your raw capacity. diff --git a/content/posts/home-server-part-4.md b/content/posts/home-server-part-4.md index a53c316..1eff36f 100644 --- a/content/posts/home-server-part-4.md +++ b/content/posts/home-server-part-4.md @@ -19,7 +19,7 @@ I already have a private network (`192.168.0.0/16`) that uses my pfSense router The host will also be connected directly to the ISP's network using its second interface (`wan0`). This interface will get its IP using DHCP. Packets to the internet, as well as packets to public services running on the FreeBSD host go through this interface. - +{{ fig(src="/files/pursotin_network.svg", alt="A simplified diagram showing the two interfaces") }} A dual interface set up like this is simple in theory, but there are important nuances, e.g. regarding return traffic routing and DNS. diff --git a/content/posts/now-2024-summer.md b/content/posts/now-2024-summer.md index ddde55f..6b5783e 100644 --- a/content/posts/now-2024-summer.md +++ b/content/posts/now-2024-summer.md @@ -14,13 +14,13 @@ extra: - Started learning about wines. Organized a wine tasting. My top pick: Domaine Laroche Chablis 1er Cru Les Vaudevey 2022. - +{{ fig(src="/files/2024-wines.jpg", alt="Wines from the tasting") }} ### Career - I passed the **AWS Certified Developer Associate** certificate exam! A celebratory espresso martini was in order. Planning to do **Solutions Architect Associate** next. - +{{ fig(src="/files/aws-exam-drink.jpeg", alt="My hand holding an espresso martini outside in sunny weather") }} ## Played games diff --git a/content/posts/now-2025-fall.md b/content/posts/now-2025-fall.md index 8e4a3b1..33c368f 100644 --- a/content/posts/now-2025-fall.md +++ b/content/posts/now-2025-fall.md @@ -17,11 +17,11 @@ We've also been planning the wedding that's taking place in 2026. In many ways I A lot of renovations this summer. One of the biggest ones was the translucent roofing installation: - +{{ fig(src="/files/valokate_1.jpg", alt="Installing the sunroof") }} After around six hours (including breaks), it's all done! Just in time for rain. - +{{ fig(src="/files/valokate_2.jpg", alt="Complete sunroof") }} You can see the gnarly reddish wall in the picture. That and a bunch of other grime and residue was cleaned off as part of a neighborhood exterior painting project. The place is looking a lot nicer now from the outside (no pictures of this I'm afraid). @@ -70,7 +70,7 @@ I late August I went on a company trip to Krakow, Poland for one weekend. A nice In September we had booked a trip to Italy with a group of friends. We stayed in Rome for a couple of days, enjoying the 30C heat and sights such as the Villa Borghese. We had already visited the Colosseum and the Vatican on earlier trips so we decided to avoid the queues and visit less popular places. It was the Jubileum year so many sights were jam-packed. After that we got a rental and drove ~500km south to Calabria, where we spent the next week at a really nice villa overlooking the sea. - +{{ fig(src="/files/villa.jpeg", alt="The view from the villa") }} Later in September I attended EuroBSDCon 2025 in Zagreb, Croatia. A lot of great talks and lab sessions! I might write a conference notes post about the trip. diff --git a/content/posts/now-2025-summer.md b/content/posts/now-2025-summer.md index 8c5a1ac..0d687c3 100644 --- a/content/posts/now-2025-summer.md +++ b/content/posts/now-2025-summer.md @@ -7,7 +7,7 @@ extra: kind: now --- - +{{ fig(src="/files/kenrokuen.jpg", alt="A torii gate in the Kenroku-en garden") }} ## AutereDB project @@ -37,7 +37,7 @@ Me and my fiancée made a long-awaited trip to Japan in the spring. We landed in We traveled the central island, Honshū, for three weeks. Mostly by train, but also by bus. We visited Ōsaka, Nara, Kyōto, Gifu-Takayama, Kanazawa and finally Tōkyō. This route skips the popular south-coast bullet train connection, instead going north through the mountains. - +{{ fig(src="/files/samurai_garden.jpeg", alt="The garden of a preserved samurai family home, with a koi fish pond and stone lantern") }} I got to finally test my Japanese. Speaking was very laborious at first, but it got way easier the more I got to practise. My vocabulary didn't improve that much, but what improved were things like _cadence_, _[aizuchi](https://en.wikipedia.org/wiki/Aizuchi)_, and ability to respond with more natural word choices. Big up to active listening and copying native speakers. @@ -45,7 +45,7 @@ We ate and drank well. We mostly gravitated towards traditional-style, or _washo Something to note: pickled veggies go great with meat-centered, hearty meals. We were eager to implement this in our home cooking as soon as we got home. - +{{ fig(src="/files/wagyu_grill.jpeg", alt="Wagyu beef, mushroom and peppers on a tabletop charcoal grill") }} We visited the obligatory tourist spots, like the _Thousand torī gates_ in Kyōto, and the _Dōtonbori shopping street_ in Ōsaka. We like seeing sights, but we know that our most memorable experiences have always come naturally from exploration and keeping an open mind. That's why we spent only a fraction of our time visiting Tripadvisor locations and most of the time wandering around, following local recommendations and keeping our eyes, ears and nostrils peeled. diff --git a/content/posts/now-2025-winter.md b/content/posts/now-2025-winter.md index 012e2b2..d59abb3 100644 --- a/content/posts/now-2025-winter.md +++ b/content/posts/now-2025-winter.md @@ -57,7 +57,7 @@ In fact, it might be possible to design this in a way that completely does away Office room number one is now pretty much complete. We tried to combine some of pastel colors and fun patterns, while keeping it smart and tidy. - +{{ fig(src="/files/dopamine_office.jpeg", alt="The dopamine office") }} ### Backdoor clothes rack and wall feature @@ -67,17 +67,17 @@ Until now, there has been nowhere to really hang our outdoor clothes nicely. The So we got the idea to repurpose the empty space in the corner, adding some visual interest with acoustic paneling as well as utility with some colorful "knobs" that you can hang coats and scarves on. - +{{ fig(src="/files/backdoor_feature_wip.jpeg", alt="Install in progress") }} And the final product (in completely different lighting): - +{{ fig(src="/files/backdoor_feature_done.jpeg", alt="An installed wood paneling with some coats hanging off of colored knobs") }} The white box is an IKEA shoebox. We keep some dog gear in there. ### Cool dog print - +{{ fig(src="/files/taulu_koira.jpeg", alt="Cool dog") }} ## Games @@ -109,13 +109,13 @@ The white box is an IKEA shoebox. We keep some dog gear in there. Mostly [Moomin music](https://youtu.be/Bf1pR4rkPK8). I went to see the _Muumimusiikkia_ show in Musiikkitalo (Helsinki) in November, and after that I haven't been able to get Shiratori's melodies out of my head. This is a positive problem. - +{{ fig(src="/files/muumimusiikkia.jpeg", alt="A photo from our seats at Musiikkitalo, showing the brochure") }} ### Spotify Wrapped I feel like I'm using Spotify less and less. Might drop the subscription in the near future. I really don't like the policies they are driving. - +{{ fig(src="/files/2025_wrapped_genres.jpeg", alt="My top genres, all over the place") }} ## Previous update diff --git a/content/posts/qcon-london-2024-takeaways.md b/content/posts/qcon-london-2024-takeaways.md index fa4638d..17d8b3b 100644 --- a/content/posts/qcon-london-2024-takeaways.md +++ b/content/posts/qcon-london-2024-takeaways.md @@ -9,7 +9,7 @@ QCon London 2024 was a multidisciplinary software engineering conference in the This was also my first time in the UK so I had to do some touristing. The weather was a bit chilly, half-cloudy with some intermittent drizzle. - +{{ fig(src="/files/london-from-above.jpg", alt="London from above in the late evening") }} ## Common themes @@ -109,4 +109,4 @@ Nothing mindblowing, just good ale and a comfy vibe. A good place to sit out the I had to eat fish & chips at least once just to check it off my bucket list. I don't know if theirs is the best or even proper, but I enjoyed it a lot. - +{{ fig(src="/files/fish-and-chips-duke-of-argyll.jpg", alt="Fish and chips at the Duke of Argyll") }} diff --git a/content/posts/subjective-review-miru.md b/content/posts/subjective-review-miru.md index ec3220c..d728a45 100644 --- a/content/posts/subjective-review-miru.md +++ b/content/posts/subjective-review-miru.md @@ -5,7 +5,7 @@ extra: kind: note --- - +{{ fig(src="/files/miru_time_to_kill_triple.jpg", alt="A graphic from the first pages of the Miru zine with the text ”Time to kill a god” overlaid on an imposing four-eyed figure.") }} ## TL;DR @@ -31,7 +31,7 @@ With definitions out of the way, let me start by saying that _Miru is the best s ## First look - +{{ fig(src="/files/miru_gameplay.jpeg", alt="The Miru zine, polyhedral dice, various stationery and other items strewn across a dining table.") }} Miru paints a picture of a dystopian, post-metropolitan society future where humans begrudgingly coexist with humanoid and animal-like robots. The story is kicked off in a scene where a farm worker robot kills a relative of the main character in an act of self defense when it evaluates their drunken hooliganism to be a threat. Stricken, the main character vows revenge and sets off to find out the truth about the machines’ origins. @@ -69,5 +69,5 @@ With that in mind, the designer has released an official soundtrack called [Stat The concept of a soundtrack for a physical game is badass. I own one physical release of such a thing, the Mörk Borg adventure [Putrescence Regnant](https://jnohr.itch.io/putrescence-regnant), which takes the form of a highly stylized LP disc and sleeve. Very cool. - +{{ fig(src="/files/hinokodo-static-abyss.png", alt="A photo of the Static Abyss minidisk in its enclosure") }} Photo attribution: [Hinokodo](https://hinokodo.itch.io/static-abyss) diff --git a/content/posts/unfold.md b/content/posts/unfold.md index 593f6bf..241703a 100644 --- a/content/posts/unfold.md +++ b/content/posts/unfold.md @@ -12,7 +12,7 @@ extra: I recently presented a lightning talk about the IndieWeb and personal websites to my colleagues at the office. Even though I don't normally enjoy presenting, speaking about things I'm passionate about always turns out to be rather easy. The talk and the presentation that I used to support the talk were well received. </p> - +{{ fig(src="/files/indieweb_presentation.png", alt="A slide from the PowerPoint presentation") }} --- @@ -25,7 +25,7 @@ Later, when I shared my PowerPoint slides in the IndieWeb chat, I was asked if I So curious in fact, that I decided to study up on the ”HTML slideshow landscape”: what kind of tools there are, how do they work on a static site, things like that. Turns out that a tool called `reveal.js` is very popular and often recommended. An idea entered my mind: what if I could turn an HTML note (like this one that you’re reading) into an HTML slideshow, in a somewhat automated fashion? </p> - +{{ fig(src="/files/reveal-js-logo.png", alt="Reveal.js logo") }} --- diff --git a/content/projects/ATK16.md b/content/projects/ATK16.md index c73ebc0..7f15176 100644 --- a/content/projects/ATK16.md +++ b/content/projects/ATK16.md @@ -54,7 +54,7 @@ extra: - a software emulator for running the built software on your development machine - a register transfer logic (RTL) model designed in [Digital](https://github.com/hneemann/Digital) capable of running the built software - +{{ fig(src="../files/atk16-block-diagram.svg", alt="ATK16 block diagram") }} The idea for the project hatched from my admiration for [Ben Eater](https://eater.net/) and his DIY CPU and video card projects. I was enamoured by the elegance of his systems and simply wanted to do something similar. I had none of the required knowledge for this kind of low-level CPU design work, but I had studied digital electronics for a bit in university. @@ -291,7 +291,7 @@ On startup, the _graphics mode_ memory register is set to disabled (0). To activ The TPU is a graphics processor that produces a 40 x 30 character VGA output signal. - +{{ fig(src="../files/atk16-text-mode.png", alt="A screenshot of a text mode program displaying a work-in-progress hardware monitor") }} The TPU has 3 major components: - The character memory (ROM) diff --git a/content/projects/diddle.md b/content/projects/diddle.md index f3d59fa..f01b461 100644 --- a/content/projects/diddle.md +++ b/content/projects/diddle.md @@ -13,7 +13,7 @@ Diddle ([live instance](https://diddle.jan.systems/), [Github](https://github.co > **Note**: The instance hosted on my domain might go down any second. Use it at your own discretion. - +{{ fig(src="../files/diddle_screenshot.png", alt="Diddle screenshot showing an answerable poll") }} The first 80% of the project was done in two evenings. The last 80% was done during the next week. The tech stack is the _get-shit-done_ stack: **Python** + **Flask** + **PostgreSQL**. There is no required client side javascript: all client side logic is strictly for [progressive enhancement](https://developer.mozilla.org/en-US/docs/Glossary/Progressive_Enhancement). You can use "dumb" browsers like w3m or lynx to enjoy Diddle just fine. diff --git a/static/style.css b/static/style.css index 838f1a9..9020511 100644 --- a/static/style.css +++ b/static/style.css @@ -243,7 +243,6 @@ figure figcaption { font-style: italic; text-align: center; margin: 7px auto 15px; - max-width: 550px; padding: 0 10px; color: var(--blockquote-color); } |
