Daniel Pietzsch

Personal blog. Mostly photos.

All posts tagged with #writings

I stopped writing every day

For the last five months I’ve been writing some form of text every single day. And last week I stopped. I didn’t specifically plan for that – at least not at that point. But it just happened. I missed one day. And then didn’t write the next day, either, etc etc.

I had occasionally thought about giving up on this project, because it often felt like a chore. It was too much self-imposed pressure for me to write something every day. So, I think it was just a matter of time. But that I stopped already was accidental. I guess once I missed a day, the pressure fell and I simply thought “fuck it, who cares!?”.

I still want to write more regularly than I did before this project, though. I hope I’ll find the motivation to do so, even without a fixed schedule. Time will tell.

Inspired

IndieWebCamp keeps inspiring me. Having had so much interesting conversations with interesting people that care about similar things, motivates me to work on my own homepage, blog and other web projects.

And so I’m currently still excited about IndieWeb stuff and am researching potential tools, hosting options and workflows for my personal sites.

And I’m still fancying going static with my blog, too. Most of my other projects are static already. It’s either indeed a plain hand-written static site, or generated via Jekyll, my SSG of choice (so far).

While researching, I found the following (somewhat random) articles and resources interesting and helpful so far.

By Aaron Gustafson:

By Michael Ummels:

By Christopher Kirk-Nielsen for Smashing Magazine:

Chris Ferdinandi’s whole website seems to be a treasure trove in this regard. So far I’ve read:

I think as a first step, I might neglect the “hosting” part of my upcoming solutions a little bit. I want the hosting and deployment to be as simple as possible. And so I might sacrifice my other principles about server location and using renewable energy sources in the short term. I’m currently looking into these hosting options:

The good thing about static sites is, that they are very easy to move and host somewhere else, should I decide to do so.

Wie ich wähle

Am Sonntag kann man hier in Deutschland seine Stimme zur Europawahl 2019 abgeben. Ich habe bereits diese Woche meinen Stimmzettel per Briefwahl abgeschickt.

Wahlkämpfe an sich ignoriere ich meistens so gut es geht. Klar, man bekommt verstärkt (angebliche) Positionen und Leistungen der Parteien mit, aber ich stempel’ die Plakate etc. unter “Werbung” ab. Es ist mir auch äußerst suspekt, dass sich anscheinend viele Leute davon beeinflussen lassen.

Mich interessiert hauptsächlich die grundlegende Haltung und Position einer Partei und wofür sie sich in der Tat in der Vergangenheit eingesetzt hat. Und da tut sich bei den einzelnen Parteien immer nicht viel. Seit Jahren gibt es für mich eigentlich nur zwei, die für mich wählbar sind.

Und auch wenn ich den Wahlkampf versuche zu ignorieren, checke ich vor einer Wahl trotzdem nochmal verstärkt, ob “meine” Parteien für mich immer noch die beste Wahl sind, und ob die nicht-wählbaren Parteien immer noch solche sind. Das war in den letzten Jahren immer der Fall.

Und so brauchte ich auch dieses Mal nicht lange überlegen.

Nifty text highlight styling

Wanted to jot down this nice text highlighting CSS snippet I just discovered on basecamp.com:

With its varying opacity, it’s simulating a person’s variable pressure when marking text on an actual piece of paper. I like!

Here’s the CSS:

border-radius: 1em 0 1em 0;
background-image: linear-gradient(-100deg, rgba(250,247,133,0.3), rgba(250,247,133,0.7) 95%, rgba(250,247,133,0.1));

Instead of using <span class="highlight">, though, you should probably rather simply use the <mark> tag, which is more semantically correct.

Tooling and Hosting options research

At IndieWebCamp, we collected an overview of everyone’s publishing software tools and hosting providers. And tonight I am doing a bit of research. I’m a little overwhelmed by only going through all those options. Of course, there’s an almost infinite amount of additional options out there, too.

Anyhow, to help narrowing it all down, I thought I’d write down some of my current thoughts on what I might want from both my future publishing tool and workflow for this blog, as well as the hosting options. Here we go:

Tooling

Hosting

Phew. And that’s just some of the things I‘m considering. Running a risk of overthinking this and never get anything done. I feel this is important, though. Especially to choice for the software.

PWA notes

Making my Focal Length Equivalent utility a PWA at IndieWebCamp last weekend I made a few notes, which I thought I’d share:

More useful links

IndieWebCamp Recap

It’s Sunday evening, and I’m back home from two very enjoyable days (and one night, too) at IndieWebCamp Düsseldorf 2019.

I met lots of friendly and interesting new people, had interesting discussion and conversations, learned new things and was also productive implementing new technologies on one of my projects.

Saturday

Day one of the camp was the “Discussions” day: after the introduction round, everyone gathered to suggest discussions on IndieWeb-related topics. I spent my time at “URLs: How?”, “Offline Strategies”, “Hosting, SSG vs CMS vs Custom”, “Travel Data & Posts” and “Safety”. I learned something new in every one of them and/or contributed, too.

“Hosting, SSG vs CMS vs Custom” was maybe the most immediately interesting to me, since I’m keen to move my blog, and so I suggested this session myself. I was interested in how other folks publish to, host and deploy their own site. Everyone in the room shared their setup, which was absolutely fantastic! Now, I need to take some time, take those notes and research how I want to continue publishing this blog.

Sunday

Sunday was Hacking Day.

That means, whatever you fancied to work on, you simply did – either on your own or with (the help of) others.

I myself added a Service Worker to my “Focal Length Equivalents” site and also made this a “Progressive Web App (PWA)”. A topic I wanted to start with for a long time and now I finally did.

I used Jeremy’s Minimal viable service worker script, and modified it a little to suit this page’s needs even better. Following Daniel’s suggestion, I deployed this via GitHub Pages; I needed to switch hosts, because I needed a (free) SSL certificate. Because serving your site over HTTPS is a prerequisite for using a service worker (and thus making the site available offline). Then I created a quick icon and followed the “Add to Home Screen” guide to turn the site into a PWA.

So, when you now go to https://danielpietzsch.github.io/fl/, it’ll be available offline (after that first visit of course), and you can also add it to your home screen on iOS or Android, and it’ll behave very similar to a native app.

The final step would be to actually use my custom subdomain again, which so far hasn’t worked, unfortunately.

At the end of the day, everyone demoed what they’ve worked on. I was super impressed by all the things that got done.

A big thanks to Marc, Tantek, Aaron, Jeremy and Joschi for making all this happen! This will not have been my last IndieWebCamp for sure!

Here are the photos: Day 1, Day 2.

Super simple Dark Mode

I just read the article “Dark Mode Support in Webkit” on the Webkit blog. Among other things, it describes how you can opt-in to have your website auto-darkened by Webkit (which means Safari in this case):

Not all web content is simple. For this reason Safari and WebKit do not auto-darken web content — documents will need to opt-in to dark mode. The main way to signal that your content supports dark mode it to adopt the new color-scheme style property […].

Specifying the values light and dark on the root element lets the engine know both modes are supported by the document. This changes the default text and background colors of the page to match the current system appearance. Also standard form controls, scrollbars, and other named system colors change their look automatically.

So, to opt-in, you add this bit of CSS:

:root {
  supported-color-schemes: light dark; /* For current Safari versions */
  color-scheme: light dark; /* Available with Safari TP 81 */
}

This will tell the browser that your website supports both light and dark modes, and will automatically darken your website when dark mode is selected in the OS preferences. Without any additional CSS (via @media (prefers-color-scheme: dark)). That’s a super simple and convenient way to have a dark theme.

Existing issues

[UPDATE 28.05.2019]

Got some feedback from the original article’s author:

However, it is not an auto-dark mode. That property gives you dark mode ready defaults for the body background and base text color, along with form controls. Any custom colors will need handled with the prefers-color-scheme media query.

And I also re-read the article and the spec regarding this topic. And the issues listed below are no bugs. According to the spec, the user agent should indeed only change the background and text colour plus form elements, and not much more.

So, I think the below still applies. But, that it’s not “perfect” is intentional and merely gives you a mechanism to opt-in to support a very basic version and is expected to be further extended and adjusted via custom CSS statements inside a prefers-color-scheme block.

[UPDATE END]

This automatic dark mode is not perfect. While updating my Focal Length Equivalent page to use it (which previously had a complete custom – but very similar – dark theme already), I noticed a few things:

For border-color and outline-color, I could remove those statements from the standard (light mode) CSS to rely on the page’s standard colours. Then, the borders got auto-darkened, too. For the :hover-issues, I kept my custom CSS rules around.

Verdict

Relying on this auto-dark mode reduced the number of CSS statements I had to overwrite in the @media (prefers-color-scheme: dark) section of my stylesheet and made it much simpler.

Generally, for simple sites likes this one, I think it’s very handy to be able to rely on Webkit to do most of the dark-mode work for you. And then only adjust things where you see the need for.

I am definitely going to experiment with this some more.

I amended my photo journal’s design once again. I wanted to make all images fit completely on screen, no matter what the actual dimensions of the image are.

That images wouldn’t fit was mainly an issue with photos shot in portrait orientation or in square format. If a screen was wider than it’s tall – typical for most non-mobile devices – and you had less than 960px available vertical space, those images would be cropped. That’s no longer the case. And I find it much more enjoyable when the whole picture fits on screen.

As a minor downside, this update also decreases the size of landscape-oriented images, which would still have fitted previously. But this way, everything’s aligning well and portrait and landscape images still have the same size.

IndieWebCamp Düsseldorf

Next weekend, just before the Beyond Tellerrand conference, I’m going to attend another IndieWebCamp. The last and only time I’ve been to one was four years ago (also before the BT conference). And I’m very much looking forward again to two days of learning, show & tell, programming, and meeting fellow indieweb-ers.

I’m not quite sure yet what my personal goal is going to be during this year’s camp. I feel like my next step towards independence is to finally dump Tumblr, and start hosting my own site.

But I’m still undecided what stack to use: a static site generator or a dynamic site? With database or simply flat files? An existing software or build something from scratch? Hosting on a VPS, simple webspace, or use a PaaS (like Heroku or Netlify for example)?

Maybe I can get some inspiration at the event and start a little prototype.

Panoramic cameras

At some point I want one. A Widelux. A Horizon. Or even an XPan. Maybe a cheap Sprocket Rocket at first.

I was just looking at some of Jeff Bridges’ photos, and really like how he uses the Widelux to document the making of the movies he’s starring in. I mean, they are interesting and unique pictures to begin with, but that wide frame makes them even more so.

image
Jeff Bridges on the “True Grit” set. © Jeff Bridges

Pulling film you don’t know the development time for

I recently had to pull-develop a roll of APX 400, which I unintentionally had exposed at EI200 or even EI100. And I couldn’t find developing times for XTOL online for pulling APX. But I found an entry in a Flickr group, that suggested using 2/3s of the original developing time per stop pulled. That sounded reasonable. So, for my APX 400 in XTOL 1:1, this meant instead of 12 minutes at 20 ℃, I developed for 8 minutes. The negatives came out looking fine.

(This little accident happened, because I loaded APX 400 via a bulk-rolled canister with a 200 ISO DX code into my Leica Mini, which is an automated camera, where you can’t set the ISO manually. And the DX code was even partially covered by tape that I used to label the film. The tape meant, the camera might not have been able to read the DX code at all, making it fall back to its default ISO setting. Which is probably ISO 100 from what I gathered online. Either way, I ended up with an overexposed roll. The question was if it was one stop or two. I decided it was two. But I only compensated for one stop in development, as I thought it’s probably safer to overdevelop a little bit, rather than ending up with too-thin negatives in case it was actually only one stop overexposed.)

Go <figure>?

For my photo journal, I wasn’t sure how to mark up the piece of HTML that makes up a photo element. And re-reading the spec now, I am still not quite sure.

The site features monthly entries with all the selected photos from that month. Each photo element on a page contains the image itself, plus an optional caption. So I thought it makes sense to group them inside a parent tag (for grouping and styling reasons, as well as semantically). And kind of knowing about the <figure> element, it seemed obvious at first to use exactly that, together with <figcaption>. Like so:

<figure>
  <img src="photo.jpg">
  <figcaption>My Caption</figcaption>
</figure>

But after some research, I decided against this. The page currently marks them up using a less semantic <div> with a <p> for the caption:

<div class="photo">
  <img src="photo.jpg">
  <p class="caption">My Caption</p>
</div>

And the reasons are the following excerpts from the official spec on the “figure” element (emphasis mine):

The figure element represents some flow content, optionally with a caption, that is self-contained (like a complete sentence) and is typically referenced as a single unit from the main flow of the document.

[…]

A figure element’s contents are part of the surrounding flow. If the purpose of the page is to display the figure, for example a photograph on an image sharing site, the figure and figcaption elements can be used to explicitly provide a caption for that figure.

As far as my site is concerned, the photos themselves are the main content or flow. I’m not illustrating an article. I’m not referencing images. The images are the article.

And the second quote even speaks specifically of “an image sharing site” – which my photo journal is. But that reads as if the spec speaks about a web page that hosts a single figure – i.e. one that can be referenced from somewhere else.

And that’s why I think <figure> is not the appropriate HTML tag for my use case.

Am I interpreting this incorrectly? Is this nitpicky nonsense? I don’t know. But for now, I decided against <figure>.

I must say, the older Zoe gets, the more enjoyable and interesting I find it to spend time with her and watch her play and explore. She’s 19 months old now, and it seems like almost every day she’s learning something new.

German keyboard layout and programming

I’m more and more getting used to a German keyboard layout again. But muscle memory really takes a while to re-adjust after around eight years on an English layout. And I remain sceptical I can ever be as efficient on a German layout when programming. There are just too many common characters “hidden” behind a “shift”-, “option”- or even “shift-option”-shortcut. Symbols like semicolon, brackets, curly braces or backticks are all more cumbersome to type on a German keyboard. And on the Mac terminal I no longer like to set the “Use Option as Meta key”-option – like I used to, to get word-deletion and -skipping – because the pipe (”|”) character is “option-7″ and a backslash is fuckin’ “shift-option-7″. And neither works when that option takes over “option”.

The upside is, I can type German umlauts again easily. Hüürääy!