Map to Poster
This Github project from Ankur Gupta allows you to "generate beautiful, minimalist map posters for any city in the world".
You can install the Python scripts on your computer or use this website.
(via)
This Github project from Ankur Gupta allows you to "generate beautiful, minimalist map posters for any city in the world".
You can install the Python scripts on your computer or use this website.
(via)
Two very interesting blog posts explaining how Alex manages multi-factor recovery codes and memorises passwords:
But enabling MFA isn’t everything – what if you lose access to that second factor? For example, I store my MFA codes in an app on my phone. What happens if my phone is broken or stolen?
I generally trust my password manager, but I don’t want it to be a single point of failure for my entire digital life.
Sad and devastated. Wish strength to all.
Feeling burnt out? A bush blessing for the end of the year
Now is the time to think of new beginnings

Illustration: Jess Hardwood
(via)
Infomaniak released Euria, a free, privacy-respecting, swiss-hosted AI assistant.
I briefly tried their web version, and it gives a good impression so far.
Good to have this available as a local alternative. 🇨🇭
(via)
I have a little framework that I often use when I want feedback/when I give feedback on a blog post, a tutorial, a project, a product, etc. to get as much clarity as possible, quickly.
- what’s Awesome?
- what’s Boring?
- what’s Confusing?
- what Didn’t you believe?
These “ABCD” questions are basic, but they get to the meat of the good and the bad (and the in between) of what you’re producing.
(via)
FliipBook, create 24 frame GIF animations.
(via)
Entdecke das Web – pause.gigold
Ein Button, der dich per Zufall zu unterhaltsamen aber oftmals nicht nützlichen Webseiten bringt – einfach nur, um Zeit zu verbummeln. Dafür wurde das Netz gemacht. Entdecken auf pause.gigold.de.
(via)
I revoked a signing subkey of my GPG key.
The expiry date of this subkey will no longer be updated (as the key is revoked).
But I plan to keep the revoked subkey itself in my public key (so people can still associate old signatures with me).
The pgp-expiry-monitor would now alert for all eternity on the expiry date once it passes.
To avoid this, I now added functionality to read the revocation status of a subkey and skip the expiry date check if it has been revoked.
You can install the newest version of pgp-expiry-monitor from GitHub:
go install github.com/x-way/pgp-expiry-monitor@latest
Classic Web – Screenshots of classic websites and blogs from Dot-Com, Web 2.0 and the 2010s.
Classic Web is a fun account to follow on Mastodon. Curator Richard MacManus posts half a dozen or so screenshots per day of, well, classic websites from the late 1990s and 2000s. Makes me feel old and young at the same time.
(via)
Inspired by the Add Your Email Address to Your RSS Feed article, I added the email element to the Atom feed of the blog (the RSS feed already had the email address). Enjoy 🎉
(via)
I've long had a list of "magic numbers" which show up in a bunch of places, and even made a post about it back in November of 2020. You ever wonder about certain permutations, like 497 days, or 19.6 years, or 5184 hours, and what they actually mean?
I've been doing that stuff by hand in a calculator and finally decided to just do it in Javascript and put it online for anyone to try.
So, here's my latest waste of CPU cycles:
(via)
Here's a tip that works on YouTube and almost any other web page that shows you a video. You can increase the playback rate beyond the usually-exposed 2x by running this in your browser DevTools console:
document.querySelector('video').playbackRate = 2.5
(via)
Cleaned up a bit the links in the sidebar.
I find myself clicking less and less on them.
Mostly reading blogs via NetNewsWire these days.
Removed:
Someday I should find the motivation to export an OPML file from the reader and make it available.
The full OPML list would be way too big for the sidebar, so a dedicated place would need to be found. 😅
After a bit more than 13 years I now removed Disqus from the blog.
Over these years, it only contributed 36 comments.
Most of them around a single post that made it onto the frontpage of Hacker News and Reddit.
I'll extract these comments from the export file of Disqus.
Then backfill them as static entries to the corresponding posts so they are preserved.
In the future I might add another way to comment/contribute directly on the blog.
For now, please use the communication channels listed on the About page.
(via)
In the Passkeys for Normal People article, Troy Hunt explains in simple terms how Passkeys work.
The article covers also what type of attack they prevent against (using Troy Hunt's recent falling for phishing experience) and how to setup Passkeys for common services.
At the end it briefly touches on using hardware U2F keys as well 🔐
The Web Key Directory (WKD) is a standard for discovery of OpenPGP keys by email address, via the domain of its email provider.
The following command can be used to test/import a key via WKD.
gpg --locate-keys --auto-key-locate clear,nodefault,wkd address@example.org
(via)
Added a -f flag to the pgp-expiry-monitor tool.
It takes the fingerprint of a PGP key and looks it up on keys.openpgp.org to get the keyfile to verify.
% pgp-expiry-monitor -f 401F1D483C69BF624364CC01E9A68DCFA3A54203 -v Key A3A54203 (401f1d483c69bf624364cc01e9a68dcfa3a54203) expires on 2030-04-13 Key 29A48884 (1e8838bdcf9adf702496866f6baf170e29a48884) expires on 2025-10-15 Key B645E283 (47122b88b77ece545effb494498ea9eab645e283) expires on 2025-11-17 Key 93DDE912 (2f21f0dd9af127d61363423d4099876b93dde912) expires on 2027-04-24 Key 0240ACAF (a1f4c70962f89c2e628e8f05d29a32fd0240acaf) expires on 2026-04-09 Key 0B691623 (0d0bc31f58b8d18cb97c31eeebd187b60b691623) expires on 2027-04-13 Key 3AB76067 (43a83177a4ec64a62bae1ac77d779e883ab76067) expires on 2026-04-09 Key 7AE809A1 (9a6d5dbde2703d7c54806f1b5acb66c47ae809a1) expires on 2027-04-13
To ensure I don't forget to rotate/extend one of the subkeys of my PGP key, I created a little monitoring tool.
I wanted something that reminds me well before my published PGP key shows sign of expiry.
And I wanted it built in a way so it can be used in a simple cronjob to continuously nag me until the expiring key has been replaced. 😈
So pgp-expiry-monitor was born.
It takes two parameters, the URL of a PGP key and the number of days in advance it should start warning.
If all is fine and the PGP key does not contain any expiring keys, it returns without any output.
Thus ideal for a cronjob.
Discovered a very helpful debugging utility: GPG/PGP Decoder
The hosted version helps to quickly find out which subkey was used to sign a message.
I used it to check that this signature contains the fingerprint and ID of my new subkey 🔐
One of my yearly digital routines is to update my GPG key.
Part of this involves adding new ECC subkeys (ECDH and EdDSA).
These are the commands I used this time (so I don't have to look them up again next year).
% gpg --edit-key 401F1D483C69BF624364CC01E9A68DCFA3A54203
gpg> addkey Select number 10 ECC signing Select number 1 Curve 25519 Select a validity of 2y
gpg> addkey Select number 12 ECC encryption Select number 1 Curve 25519 Select a validity of 2y
gpg> save
After this the new subkeys are available and the updated public key can be exported and published.
50 ways to rest – Nicola Jane Hobbs
For anyone else who is in a season of their life where naps and hot baths and yoga classes are inaccessible, we can still rest. We might not be able to get the rest we truly need, but we can find little pockets of respite among the demands and responsibilities of our lives.
(via)
Hubble explores the universe 24 hours a day, 7 days a week. That means it has observed some fascinating cosmic wonder every day of the year, including on your birthday.
What did Hubble look at on your birthday? Enter the month and date below to find out! What Did Hubble See on Your Birthday? - NASA Science
My birthday picture is of the Whirlpool Galaxy:
(via)
no hello - please don't say just hello in chat
(via)
Saw this Blog Questions Challenge about Travel Adventures and it piqued my interest.
What's the silliest souvenir you've ever brought back from a trip?
More stupid than silly. On my way to Australia, I bought some very nice honey in Mauritius.
It promptly got confiscated by the Australian Border Force as their biosecurity does not allow the import of honey.
If you could teleport anywhere right now, for a day trip, where would you go?
Off the top of my head this would be Île des Pins in New Caledonia.
I spent two very nice days there in 2018 while doing an extended New Caledonia weekend trip during my last rotation in Sydney.
What's the weirdest food you've ever tried while traveling?
Probably crocodile. This was in 2013 while traveling in Australia.
There was a australian game meat BBQ organized for us tourists, and various meats could be tasted.
Didn't particularly like the crocodile, it tasted a lot like chicken.
The hosts explained that crocodile usually tastes like the thing it eats, and these ones were fed with chicken, cue them tasting like chicken.
What's the most memorable "wrong turn" you've taken on an adventure?
While traveling by train to Amsterdam, somewhere outside Frankfurt there was a problem with the tracks.
The ICE I was on, returned halfway to Frankfurt and then used a very long but scenic route along the Rhine river to reach Koeln.
Overall the journey to Amsterdam took 4 hours longer than planned, but we got to see some very pitoresque villages along the river.
(via)
How to write exceptional documentation
(via)
If your content is only on social media, I'm not going to see it by Cory Dransfeldt.
If you only post on social media, I won't see it. If you don't have an RSS feed, I won't follow it, I won't subscribe to it. I don't want want your app because I don't want a homescreen full of apps for publications and platforms.
I don't have a fear of missing out. I am missing out. I've come to terms with that. Algorithms can be a convenient means of surfacing relevant content. They can be. But those algorithms are tailored by platform operators whose aims are (very) often not aligned with yours. They tailor content discovery purely to keep you hooked. Eyeballs to ads, money to shareholders.
Or as commented on by Mike Sass:
Same same. Just get an RSS feed, and stop relying on the hegemonic platform silos.
(via)
In SPACE Framework: 5 Metrics That Actually Work, Csaba Okrona explains the five dimensions of the SPACE framework for developer productivity. For each dimension he presents examples of real-life indicators.
Satisfaction and Well-being: The Foundation
- Work-life balance metrics (after-hours commits, weekend work patterns)
- Team survey responses about job satisfaction
- Voluntary overtime trends
- Project ownership satisfaction
- Learning and growth opportunities
Performance: Outcomes Over Output
- Feature adoption rates
- Customer impact metrics
- System reliability improvements
- Technical debt reduction impact
- Time-to-value for new features
Activity: The Daily Reality
- Time distribution across different types of work
- Code review participation patterns
- Documentation contributions
- Technical design involvement
- Mentorship and knowledge sharing activities
Communication and Collaboration: The Force Multiplier
- Code review response times
- Cross-team collaboration frequency
- Knowledge sharing effectiveness
- Documentation quality and usage
- Meeting efficiency ratings
Efficiency and Flow: The Productivity Engine
- Time blocked on dependencies
- Context switching frequency
- Deployment pipeline efficiency
- Build time trends
- Interruption patterns
There's a corner of the Internet where people have been reclaiming their digital independence by hosting their own websites and promoting the idea of owning your own content—it's called the IndieWeb.
This movement promotes the idea that individuals should control their own digital presence through personal websites. But every time this topic comes up in online discussions, someone inevitably claims that the IndieWeb hasn't taken off!
The IndieWeb doesn't need to go mainstream to be meaningful. It's a celebration of a more personal, decentralised, and creative world wide web. And for those of us who still care about these values, it is already meaningful.
MapCanvas creates beautiful map portraits.
You can enter any city and have it generate minimal custom maps.
And if inclined also order them as printouts and framed posters.
(via)
Name your own gulf by MapQuest.
(via)
Finding Flow: Escaping Digital Distractions Through Deep Work and Slow Living – a personal guide to reclaiming focus in the age of endless temptation.
— Simon Späti
The Stolen Focus: Why You Can’t Pay Attention book by Johann Hari which inspired this article goes on the /reading list 📖
“I urge you to please notice when you are happy, and exclaim or murmur or think at some point, ‘If this isn’t nice, I don’t know what is.’”
— Kurt Vonnegut
(via)
It’s a simple two-step process:
- First, notice. Notice that things are good. Notice the feeling of pleasure. Notice today’s perfect temperature. Notice the art project your child is sharing with you.
- Then, say thank you. To the person you’re with, for the life you live, to the reality you’ve been blessed with, to the God you feel must be there.
And if none of those feel like the right objects of gratitude, that’s okay too. Simply murmur to yourself, ‘If this isn’t nice, I don’t know what is.’
(via)
In The beauty of goofy diagrams Einenlum explains how a diagram drawn in a more casual style, can support conveying information easier to the audience.
The thing is, I’m more and more convinced that the style of a presentation matters. Even before looking at the content itself, the style puts you in a particular mood.
[...] To me, although they convey the same content, the first one creates a sense of seriousness and gravity. It feels like only clever people can understand it. I’m already a bit tense and I feel like I need to focus. I almost take a deep breath and say to myself “okay, you can do it”. I feel dumb but I feel that with enough curiosity and hard work I can understand the content.
The second one, on the other hand, makes me feel more relaxed and probably more curious. The topic seems easier to grasp and I’m quite confident I can understand it. It doesn’t mean it brings more clarity: the first diagram is actually probably clearer but the content has more chance of reaching my brain with the second one because I’m more open to it.
(via)
Robert Birming maintains a very nice Blog Inspiration page.
It contains a collection of articles and resources providing inspiration for blogging.
Ranging from inspiring stories why people blog, over blog directories to accessibility and design resources.
(via)
One more for the list of blog directories: blogroll.club — A Blog Directory
A space dedicated to curating a diverse and comprehensive collection of blogs, and personal sites across the web. The goal is to foster a community where content is available for anyone and everyone.
Everything about this site is hand-crafted by two human beings: JCProbably and Lou Plummer.
Russel Baylis shares this helpful article about their learnings regarding improving the working environment to reduce eye strain.
I work from home everyday, I am susceptible to eye strain, eye pain, and dizziness. Having a working environment that’s as easy on my eyes as possible is of critical importance. I'd like to share what I've learned over the years in hopes that it can be helpful to you if you work from home, and like many, have experienced WFH eye strain.
- An even, diffused lighting environment is best for the eyes
- When it comes to light brightness, too much is just as problematic as too little
- Use natural light wherever possible
- Quality of artificial light matters
- The best lighting for camera, is not necessarily the best lighting for ergonomics
- Even the perfect lighting environment will fatigue you — take breaks, and take care of yourself
(via)
Manu Moreale: Blogging: you’re doing it right
That’s all you need to know. If you’re doing it, you’re doing it right. If you have decided to reclaim ownership of your place on the web, you’re doing it right. It doesn’t matter how you did it. [...] What matters is that you’re doing it. Your effort is commendable. You deserve to be thanked so, thank you.
(via)
My new favorite type of CAPTCHA: DOOM CAPTCHA
(via)
During casual surfing I found this article from Brain Baker explaining their revised backup strategy.
The most interesting part was the brief mention of PhotoSync used to sync photos to their Linux system.
This came just at the right moment, as I was exploring options how to get photos from an iPhone to a Linux machine as seemlessly as possible.
Previous attempts with ifuse/libimobiledevice didn't work reliably, and uploading the photos to iCloud and somehow scraping/downloading them again doesn't look very future-proof either.
Thus very happy about PhotoSync which runs on the iPhone and talks a plethora of protocols on the other side (in my case I opted for SFTP).
It is a freemium app with paid in-app purchase for the pro/premium features (raw photo sync and autosync in the background).
Based on the good reviews and initial functionality testing of the free version I decided to fo for the one-time purchase to unlock the premium features.
I did setup a chrooted SFTP user to receive the photos on the Linux machine.
Then configured this SFTP access in the app which worked seamless.
So far the manual sync of existing photos and videos worked reliably over WiFi.
And I'm looking forward for the geofence-triggered autosync to run 🤞🏻
Another amazing New Year's Eve firework from Sydney. I especially like the drum and bass finale 🥳
Just completed the earlier announced backfilling of screenshots from the Internet Archive.
Overall there are now screenshots from the last 22 years split over 4 domains, multiple CSS layouts and blogging systems.
In addition to the already mentioned articles, I did optimize the resulting PNG files with oxipng to reduce their size.
Enjoy sifting through the past visuals of the blog 🎉
Alex explains in this article how to automatically take regular screenshots of their website.
The automation happens with a GitHub Action that uses Playwright to take the screenshots and then stores them in the Git repository.
Alex has made the repo public, thus we can have a look at how this is implemented.
I followed the steps listed in their repo and did setup my own scheduled screenshots repo.
It will now take some screenshots of my blog once per month.
A project for the future will be to leverage the Internet Archive to backfill my repo with blog screenshots of the last 22 years 😅
Thankfully Alex did some pioneering work on this already and wrote two articles which will become handy:
Commercial tea bags release millions of microplastics when in use.
A UAB research has characterised in detail how polymer-based commercial tea bags release millions of nanoplastics and microplastics when infused. The study shows for the first time the capacity of these particles to be absorbed by human intestinal cells, and are thus able to reach the bloodstream and spread throughout the body.
(via)
Decided to self-host the handful of code snippets I embedded into the blogposts over time.
This will be one less dependency on an external service (GitHub Gist) for running this site :-)
I choose Opengist for hosting my code snippets.
Although I already run a GitBucket instance, I decided not to use it for hosting the code snippets of the blog.
This because in the past I had some performance issues and crashes that were triggered by Bots overloading the Docker container.
The installation of Opengist went very smooth.
It does not come with many dependencies and brings it's own SQLite database file (which should be more than enough for the code snippets in the blog).
I was positively surprised by the MFA and seamless Passkey integration it provides out of the box.
Also can it be configured to allow embedding/sharing of snippets for everyone while restricting the listing and editing to logged in users only.
And as an additional security benefit it helps to reduce the complexity of my CSP policy 🔐
If you're curious to see how the code snippets are rendered, have a look at the blogposts here or here.
It's getting closer and closer... 😊
In the GitFlops: The Dangers of Terraform Automation Platforms article Elliot Ward highlights how Terraform automation platforms can be exploited to compromise cloud environments.
In particular it looks at how to exploit the terraform plan phase to execute commands and gain access to cloud infrastructure credentials.
In combination with a classic GitOps flow, where unprivileged users can open pull-requests and terraform plan is run on these pull-requests, this creates privilege escalation vulnerabilities putting the cloud infrastructure at risk.
In terms of preventing this, the recommendation is to validate Terraform config before running terraform plan on it.
One tool mentioned in the article that can be used to for this validation is Conftest.
A month ago, Elliot also presented the topic at the BSides Bern conference.
The slides of the presentation have been made available by the conference, here is a copy.
The Electronic Frontier Foundation provides the Surveillance Self-Defense guide.
When talking about security it is important to known what you want to protect.
The Your Security Plan module of the guide covers this topic and is a good starting point.
(via)
Please publish and share more from Jeff Triplett. (via)
Friends, I encourage you to publish more, indirectly meaning you should write more and then share it.
You don’t have to change the world with every post. You might publish a quick thought or two that helps encourage someone else to try something new, listen to a new song, or binge-watch a new series.
Our posts are done when you say they are. You do not have to fret about sticking to landing and having a perfect conclusion. Your posts, like this post, are done after we stop writing.
Reminds me that I should setup some POSSE mechanism for the blog.
Maybe during one of the grey and cold weekends this winter :-)
In the Delegating security remediation to employees via Slack article, Maya Kaczorowski coins the term SlackSecOps to describe automation and delegation of security tasks to employees.
The article gives a nice overview of some ideas that are more and more applied by security teams and tools.
A couple years ago such ideas were mostly custom built bots/automations at larger companies, but not shared more widely.
Nowadays there seems to be a much broader adoption of these in companies, especially the Alert and Remind categories.
The most interesting ones are Delegation and Respond, which I would claim also can have the most impact.
By delegating security remediation tasks directly to the involved persons, the handling of the task becomes more efficient as all the context is available.
And then by providing the automation to the delegee to directly perform the remediation in self-service, this critically shortens the response cycle.
With the shortened response cycle, the exposure window of a vulnerable configuration is minimized, which reduces the risk of exploitation.
Similar to the 512KB club, there exists the 250KB club.
It collects web pages that focus on performance, efficiency and accessibility.
Qualifying sites must fullfil one requirement.
The website must not exceed 256KB compressed size.
256KB Club also contains very niche sites and is great to discover some new corners of the Internet.
The linked pages are often minimalistic personal pages and geeky blogs.
I submitted my blog for inclusion in the club, as it measures less than 250KB.
It was accepted a day earlier than for the 512KB club :-)
Now the blog has its own page in the club: https://250kb.club/blog-x-way-org/
Some time ago I discovered the 512KB club.
It collects performance-focused websites from across the Internet.
Qualifying sites must fullfil two requirements to participate.
The site must provide a reasonable amount of content.
And the total uncompressed web resources must not exceed 512KB.
512KB Club is a nice resource to discover more niche sites on the Internet.
Often these are handcrafted personal sites and blogs with unique content.
They remind me of all the unique personal sites and blogs from before the web2.0/social-media/walled-garden time.
My blog is also very lightweight (currently clocking 39.48kB on the Cloudflare URL Scanner), thus I submitted it for inclusion in the list.
It was accepted recently and is now listed as part of the Green Team (sites smaller than 100KB).
In his Writing one sentence per line article, Derek Sivers explains the benefits of writing one sentence per line.
The approach leverages that whitespace in HTML source code is collapsed when being rendered in the browser.
Thus we can have a much more writer-friendly text formatting when editing the text, while still providing a nicely rendered output to whoever views the resulting page in a browser.
The main advantages outlined in the article are:
It helps you judge each sentence on its own.
It helps you vary sentence length.
It helps you move sentences.
It helps you see first and last words.
I really like this approach and will apply it in my future writing on the blog.
The indenting of text (not explicitly mentioned in the article but visible in the source) is also something I will try to adopt.
Here is how the above two paragraphs look in the source text:
<p> The main advantages outlined in the article are:<br> It helps you judge each sentence on its own.<br> It helps you vary sentence length.<br> It helps you move sentences.<br> It helps you see first and last words. </p> <p> I really like this approach and will apply it in my future writing on the blog.<br> The indenting of text (not explicitly mentioned in the article but visible in the source) is also something I will try to adopt. </p>
Turns out that the procedure for enabling Visual Voicemail with Galaxus Mobile is the same as for TalkTalk.
In my case their database entry was somehow stuck and I first needed to send a VVM OFF to 935 before starting the procedure.
When you switch to TalkTalk as your mobile phone provider, by default Visual Voicemail for your iPhone is not enabled.
And you're stuck with the 90s voiceprompt of the 'Talkbox'.
The following steps will activate Visual Voicemail for your iPhone:
VVM ON to the number 935.Building up on the changes from the canonical hints, I simplified the structure of the archive links.
Now it's /year/month/ everywhere.
Which of course brings another round of redirects to support in the nginx config to map the /archive/archive-year-month.html links to /year/month/ 🙈
In theory all previous link schemes should still work, but if you find a broken link, please let me know :-)
Finally took the time to create a /now page and add it to the blog: /now 🎉
Still need to figure out if it will eventually replace the about page or not.
For now the about page links to the now page.
Proton Mail can sign (and encrypt) emails when it knows the PGP key of the correspondent. For this is provides PGP keys to its users.
Unfortunately most of them are not searchable via the traditional PGP keyservers. With the following command you can download the public PGP key of a Proton Mail user:
curl -s 'https://api.protonmail.ch/pks/lookup?op=get&search=user@protonmail.com'
Also, just discovered that GPG Keychain on Mac detects if the clipboard contains a PGP key and asks if it should import it. Very nice feature which saves a couple clicks :-)
Added the /reading page to the blog to keep a list of various books I'm currently reading.
It is very bare-bones currently, I expect over time it will grow (both in number of books and also in amount of content, such as ratings, links and commentary).
Might take a while, stay tuned 🤓
Instead of using AI tools to tear people down, what if we used them to uplift others? Introducing Praise my GitHub profile:
Xe Iaso made this cool tool, which creates happiness ❤️
Useful trick posted by Volker Weber: enable the Orientation Lock by default and use Automation Shortcuts to toggle it when Apps such as Photos or YouTube are opened/closed.
This allows to view pictures/videos in landscape mode while other Apps remain in portrait mode, all without having to manually toggle the Orientation Lock.
There are some new blog directory sites popping up again. Nice way to discover niche personal sites outside of the big platforms.
As seen all over the place, adding udm=14 to the URL of a Google search makes the result display less crappy (no ads, no AI suggestions to eat rocks or put glue on pizza, …).
The search results themselves of course are not really getting better with this, but at least the search experience is less annoying.
For the Desktop edition of Firefox you will need to use the udm14 extension to add the udm=14 parameter by default to your search bar.
For other browsers it should be enough to modify the settings of the search URL used and add the parameter (something like https://www.google.com/search?q=%s&udm=14).
Or even better, do use an alternative search engine :-)
Brings back some faint memories of young me playing around with FrontPage (wondering why the preview rendering of an animated fullscreen background of a burning fire is making the computer go slow…)
(via)
In his 20 year anniversary post, Terence Eden explains how he uses the "On This Day" feature of his blog every morning to look back on what he was writing on this day in previous years.
Finding this very inspiring, I decided to add a similar feature to my blog.
As my blog is built with Jekyll as static pages, some plain old JavaScript was needed to surface the posts of this day without having to rebuild the page daily.
And here we have now the On this day page :-)
"If you don't fit... Maybe you haven't found the right puzzle." — Admiral Wonderboat (via)
Tiny Fragments is a fun little puzzle game made by Daniel Moreno (via)
100 more things you can do with your personal website — a follow-up to the popular post from last month :-)

Dog Poo Golf, a Wii Sports Golf-style browser game (with the music!) where you fling dog poop bags into a garbage can. 🐶💩⛳ (via kottke.org)
100 things you can do on your personal website — lots of ideas/inspirations also for this blog :-)
(via)
Please Blog — a plea for less Big Web and more Small Web and an encouraging article to write your own blog. It also touches on the part about writing on your own domain (so to keep your content yours and not be at risk of a third-party commercial 'social' service going away).
Don’t wait for the Pulitzer piece. Tell me about your ride to work, about your food, what flavor ice cream you like. Let me be part of happiness and sadness. Show me, that there is a human being out there that, agree or not, I can relate to. Because without it, we are just actors in a sea of actors, marketing, proselytizing, advocating, and threatening towards each other in an always vicious circle of striving for a relevance that only buys us more marketing, more proselytizing, more advocating, and more threats.
(discovered via Thomas Gigold)
It's time again to do some cleanup of my blogroll before the links start to turn into 404 errors :-)
Removed:
Following in the trend of replacing tables, I've revived the old statistics page.
Now using less markup as it is built with <div> and CSS only (the display: inline-block; property was particularly helpful).
(the Jekyll/Liquid templating to generate the data for it looks quite horrific though…)
As mentioned before, I'm a supporter of the Cool URIs don't change approach.
Thus I try to keep all the URLs of this blog working (or at least make them redirect to the new place where the content is located).
Not always an easy task with old domains and multiple blogging engines accumulated over the years.
To help me with that (and ensure I don't break anything when updating a 10+ year old mod_rewrite config) I created a short Bash script to test the redirect behavior.
It contains a list of URLs and their expected redirect target, goes through them with curl and checks that the correct Location: header is returned.
As it might be useful for others in similar situations, the script can be found here.
I miss human curation — Where are my internet friends? And where are their weird blogs? (via)
Seems that after donating to Wikipedia there is a redirect to this page, which sets a cookie to no longer show the donation banners.
Resonating article from Mike Grindle about personal blogging and how it fits into todays Internet: Why Personal Blogging Still Rules
Before the social media craze or publishing platforms, and long before ‘content creator’ was a job title, blogs served as one of the primary forms of online expression and communication.
Everything on your blog was made to look and feel the way you wanted. If it didn’t, you rolled your sleeves up and coded that stuff in like the webmaster you were. And if the masses didn’t like it, who cared? They had no obligations to you, and you had none to them.
Hiding beneath the drivel that is Google’s search results, and all the trackers, cookies, ads and curated feeds that come with them, personal blogs and sites of all shapes and sizes are still there. They’re thriving even in a kind of interconnected web beneath the web.
The blogs on this small or “indie” web come in many shapes and sizes. […] But at their core, they all have one characteristic in common: they’re there because their owners wanted to carve out their space on the internet.
Your blog doesn’t have to be big and fancy. It doesn’t have to outrank everyone on Google, make money or “convert leads” to be important. It can be something that exists for its own sake, as your place to express yourself in whatever manner you please.
(via)
As usual, Sydney is a bit ahead of us. Great memories, long time ago :-)
While closing an old account I had to communicate using the infamous NATO/ICAO phonetic alphabet (US banks like to exchange the 20+ character long IBANs via poor-quality call-center phonelines).
As it has been a while since I last used it, I created a handy table to quickly lookup the code words: nato.sigint.ch
Special feature: when queried by curl (eg. without a text/html Accept header) it returns the table as plaintext :-)
# curl nato.sigint.ch A Alpha S Sierra B Bravo T Tango C Charlie U Uniform D Delta V Victor E Echo W Whiskey F Foxtrot X X-ray G Golf Y Yankee H Hotel Z Zulu I India 0 Zero J Juliett 1 One K Kilo 2 Two L Lima 3 Three M Mike 4 Four N November 5 Five O Oscar 6 Six P Papa 7 Seven Q Quebec 8 Eight R Romeo 9 Niner
nitter provides a free and open source alternative front-end to Twitter. It talks with the API and does not show any JavaScript or ads (thus no 'forced-login' overlay after reading 5 tweets or similar nastiness).
The source code for it is available on GitHub.
It does a direct mapping of the profile URLs, thus https://twitter.com/sheeshee becomes https://nitter.net/sheeshee
On June 2nd 2002 I published the first (test) entry in this weblog. The first entry has disappeared since (thus making the second entry the first one in the archive of June 2002).

Compared to 20 years ago, the about page no longer needs to explain what a weblog is.
Interesting though that the linked definition of a weblog from back then already did foresee the rise and fall in popularity of weblogs which happend during the last two decades.
To me it seems in the last 1-2 years there has been an increase again in activity around personal weblogs; curious to see if this revival trend continues.
Also the weblog here has changed quite a bit. Initially its content was more on the pure web-logging side (commenting on interesting links I encountered during my daily Internet surfing) mixed with some kind of a journal/commentary of my day-to-day life. Later on it moved more towards a 'knowledge dump' on technical topics mixed with some music discoveries and random personal post from festivals and travels. And lately it has been rather sparse again with posts, still mostly on technical topics around coding, networking, security mixed with some personal posts commenting on the current world situation.
The frequency of posts also followed the changes in content where early on there sometimes were multiple posts per day, nowadays there can be multiple months without any post and there were even entire years where nothing new was posted; let's see how this goes in the future :-)
From the list of linked Blogs in 2002, only deep-resonance aka mk is still active, special shout-out to Markus for the continuous persistence.
To the next twenty years :-)
Today I went to Bern to the rally for peace.
My motivation was to show support for the people suffering in this war and to send a signal to our swiss government that the population wants clear participation in sanctions (while remaining neutral, the two in my view are not exclusive!).
Swiss media reported that this was the largest rally for peace in Switzerland since the rallies against the war in Iraq in 2003. That I can link to my own blog entry regarding the rally for peace from 19 years ago, makes me sad.
Clearly we as human species did not progress enough on this topic :-(
Besides showing up to the rally, I also did donate to the ICRC to provide humanitarian aid and I do encourage you to do the same.
Wordle seems to be the trending topic these days.
It's a word game similar to the french Motus game show (resp. the american Lingo game show).
Wordle 200 4/6
⬜⬜⬜🟩⬜
⬜⬜🟨🟩⬜
⬜⬜⬜🟩🟩
🟩🟩🟩🟩🟩
TrueWealth hat's nicht so mit Prozentrechnen:

This Page is Designed to Last — a manifesto from Jeff Huang for preserving content on the web, where he advocates to keep content on the web available and pledges to keep his site available for the next 10 years.
Having my content in this weblog online since 2002, I can very much relate to this initiative and additionally would like to point to the efforts of archive.org (aka. The Internet Archive).
The wayback machine of archive.org allows to see old versions of websites, even when the website itself is no longer available.
For me personally this became critically useful when the database of my weblog vanished with no current backup and I then used the archived versions from archive.org to restore the missing content.
Thus I would like to encourage everyone to support the efforts of archive.org with a donation.
As some links on my blogroll start to turn into 404 errors it's time to do some cleanup and also to bring in some fresh blood :-)
Removed:
Added:
Added another interesting blog to the Links: benjojo.co.uk
Ben builds and writes about a lot of funny small projects:
Added the following blogs to the Links:
Seems like the blog/RSS thing is getting traction again: It's Time for an RSS Revival (via)
So true...

"Obey the cloud!" by Johannes Kretzschmar, licensed under CC BY-NC-SA 3.0.
Run #9 around Centennial Park. Two rounds again, this time during noon with some nice sun and a whopping 30°C :-)
Run #8 around Centennial Park. Two rounds again, and with some rain :-(
Run #7 around Centennial Park. Only one round, but the fastest one so far.
Run #6 around Centennial Park. Two rounds this time, with a slower pace though.
Run #5 around Centennial Park. Didn't have the patience to wait for the GPS to lock onto the signal, thus the late start.
Run #4 around Centennial Park, this time a bit later and thus with more sun:
Another run around Centennial Park, this time counterclockwise:
Next run around the beautiful Centennial Park:
The nice thing of being in Sydney during December is that you can go running during christmas time and it is 22°C :-)
Spot-on representation of every IKEA store's layout:
SEASONS of NORWAY - A Time-Lapse Adventure from Rustad Media on Vimeo. (via)
Today I did some cleanup of my legacy infrastructure. The repositories formerly located at cvs.x-way.org and svn.x-way.org have been converted to Git and are now available at git.x-way.org.
Also is git.x-way.org now no longer served by the old gitweb.cgi but by the fantastic GitBucket (a lightweight, self-contained GitHub clone written in Scala).
12 years ago I started this weblog with a link to www.2advanced.com.
It's now 555 posts later and I think what is most unexpected (besides that this weblog is still existing 12 years later), is that this first link from my first post is still valid (and still pointing to some Flash-only website...).
So far this weblog has survived 2 different domains, 3 different servers, multiple versions of a self-made blogging-engine, about 6 different layout designs, a database-crash, recovery via archive.org and a migration to Jekyll.
No guarantee that it will last another 12 years, but for the meantime: Cheers, and enjoy the ride!


via boingboing.net
Yesterday after work we had some beers at The Local Taphouse (including some fine porter from BrewDog to increase my shareholder value) and then we went on to go out in some clubs, in shorts and flip-flops.
Astonishingly we had no problems getting inside, anywhere else in the world this would not be possible!
This morning then up again for some early surfing at Bondi before all the tourists arrive.
And now chilling in my Kammok under the trees in the frontyard :-)

This morning I started to prepare the bagagges for my trip to 28C3 and for the two months in Sydney.
While stowing away all my stuff in boxes so I can sublet my room I found old boxes with stuff, which I did stow away over a year ago when I went to Sydney the last time and I've never even thought about since!
As I did not have time to open them today I don't even know what is in those boxes. Probably I should just throw them away when I come back from Sydney, there can't be anything important in there :-)
(via vowe.net)
The database which previously powered this weblog vanished without a trace two years ago and people only got some PHP/XML error when surfing this site since then. Unfortunately the last backup of the database was more than four years old...
To restore the content of this weblog the Webarchive from Archive.org was parsed with the help of some scripts in order to extract the missing posts. The resulting data was cross-checked with the last database backup and the generated static RSS feed files.
Then all the posts with their meta information were converted and stored in the appropriate format for the new system. Finally the layout was migrated to the new system and some glue files were created in order to provide backwards compatibility for the old link format.
After two months of restore/migration/polishing work the weblog is now online again, powered by jekyll and currently hosted with GitHub Pages.
This comment on the Gmail problems made my day:
They're testing their new offline feature :)
(via)
The trial against The Pirate Bay that started today in Stockholm, Sweden are one of the most important issues of our time. Our adversaries basically wants to close down internets and remodel it into something similar of a sodamachine serving entertainment. During the trial, the prosecutor together with a coterie of representatives for a disabled business model will put up a tacky theater by telling stories designed to convince the court that The Pirate Bay infact is a menace to society.
What differs this trial from most earlier trials is that everything in and surrounding it will whirl round and round in diverse channels of communication; to be discussed, reinterpreted, copied and critizised. Every crack in their appeal will be penetrated by the gaze of thousands upon thousands of eyes on the internets, in all the channels covering the trial. Old cliches from the antipiracy lobby wont stick. You won’t be able to say stuff like, ”you can’t compete with free” or ”filesharing is theft” without a thousand voices making fun of you.
We will create numerous scenes where quite different plays will take place. In local channels like spectrial.bloggy.se where the immediate physical surroundings of the court are being discussed. ”Which cafés nearby will give us connection?” ”How can we get electricity to the bus?” But also in international channels like Twitter, where right now the torrent of information is being translated into fifteen different languages. Translations and coverage being made by ordinary users of internets. Volunteers sign up to make trial-tourist guides to the surroundings, drive the bus or hook up audio. People fly in from far away countries to cover the trial and tell the world their video story of the Sweden they see.
Here all participants are potential actors in the Spectrial. Our channels form a meltingpot of reporting and engagement.
Our communication around the spectacle aims in no way towards an objective report on an external chain of events. Rather, the trial is a hub around which a whole new network of actors is instigated. Neither is the spectacle a question of old media against digital, social medias. Our social medias include a paper fanzine and a 32 year old bus, connecting us and others physically.
It’s not about the protocols nor the technology. It’s about using these to create new congregations, where anyone is invited and anyone can find their role, build new scenes and make their own performances.
The future is built by us. Us who participate in conversations. The future is built by us who explore how information and performativity is coming together. To refuse a debate and still expect to be able to charge consumers is since long a closed door. To also try and outlaw certain types of conversations is downright disgraceful.
The coverage of the trial is not unique in these qualities. More and more areas see the creation of conversations on and the exploration of new stances on culture and cultural economy. A gigantic collective exploration has set sails. Every route differs from the other. But they have one thing in common: The industry interests that the state is representing are never present in these conversations. This is why they wont be part in building the future.
maintain hardline kopimi
The Bureau for Piracy and The Pirate Bay
via the internets
this article was translated by proud peers of The Pirate Bay trial.thepiratebay.org
(via)
☃
As EPFL is migrating all its E-Mail services to Exchange, lets use the Exchange functionalities of the iPhone/iPod touch.
Here's the configuration to make it work:
Right after two nights with 4 hours of sleep in total (Sat Rocks On The Second Floor!), I stumble over this article: Sleep deprivation is not a badge of honor. :-)
Don't ask.
(via)
I passed the California driving test this afternoon, now the streets are no longer safe :-)
The interim driver license looks really shabby, it's just this text printed on cheap copier paper:
INTERIM DRIVER LICENSE
DXXXXXXX CLASS C
ISSUED:07-25-07 XXX XX/XX EXPIRES:09-22-07
ANDREAS RENE JAGGI SEX:M HAIR:BRN EYES:HZL
900 ISLAND DR STE 101 HT:5-11 WT:187 DOB:01-22-84
REDWOOD CITY CA 94065
THIS LICENSE IS ISSUED AS A LICENSE TO DRIVE A MOTOR VEHICLE;
IT DOES NOT ESTABLISH ELIGIBILITY FOR EMPLOYMENT, VOTER
REGISTRATION, OR PUBLIC BENEFITS.
Also the driving test itself was more like a joke than a real test. I just had to drive around for about 10 minutes. No highway driving, no complicated intersections, no 'advanced' maneuvers, no real parallel parking. In fact the "parallel parking" part was to pull over to the curb and drive backwards 3 meters (w/o any other car around of course). And the most complicated maneuvers were to change lanes and to make a left turn at an intersection.
This afternoon some asshole has stolen my bicycle.
I left it locked to the bike rack at the Hillsdale Caltrain station for 5 hours while I went shopping in SF. And now it's gone :-(
Of course I called the police, but even the deputy sheriff of San Mateo county said that I will probably never see my bike again.
So if you happen to find or see a bicycle with the following characteristics, please tell me (650.888.0140) or report to the police.
| Serial# | IDC07B22590 |
| Brand | GT |
| Model | Avalanche 3.0 (2007) |
| Color | black |
| Size | XL |
Robert will zum Wochenende noch ein paar Fakten sehen:
Mal schauen ob Andreas oder Gordon was über sich erzählen wollen.
A Vufflens-la-Ville (10 min. en voiture de l'EPFL, 45 min. en train), à louer du 10 mars au 15 septembre 2007 une chambre meublée indépendante de 32 m2 avec coin cuisine et ADSL, située dans une ancienne ferme habitée par une famille (salle d'eau en commun, possibilité d'utiliser le jardin), pour 530 francs par mois, charges comprises.
Tél. de préférence le soir au 021'701'14'61 ou au 078'645'56'83.
Heute wurde meine mit Scuttle funktionierende Linksammlung von einem Spammer heimgesucht.
Resultat: rund 10'000 Spamlinks und etwa dreimal soviele Spamtags.
Glücklicherweise lässt sich das mit nur drei SQL Befehlen entfernen:
spammer-uId ausfindig machen und entsprechenden User löschen
DELET FROM sc_users WHERE uID = spammer-uIdSpamtags löschen
DELETE FROM sc_tags WHERE bId IN (SELECT bId FROM sc_bookmarks WHERE uId = spammer-uId)
Spamlinks löschen
DELETE FROM sc_bookmarks WHERE uId = spammer-uId
Vu ces résultats, le Bachelor of Science BSc en informatique lui est décerné.
In consideration of these results the candidate is awarded the "Bachelor of Science BSc in Computer Science"
Gestern wurde mir mitgeteilt, dass mein trackback.php Script den Server zum Absturz gebracht hat!
Das erstaunt mich nicht besonders, da ich hier in letzter Zeit immer stärker mit Trackback-Spam bombardiert werde und der schützende Bayesian Spam-Filter nicht gerade sehr ressourcenschonend arbeitet.
Also gibt's ab jetzt hier keine Trackback-Unterstützung mehr. Aufrufe von trackback.php werden mit 410 oder 403 beantwortet!
Eigentlich sollte ich ja für die Prüfungen lernen und nicht vor dem Computer sitzen. Aber wenn die Motivation nicht da ist kann man nichts machen ;-)
Und dann wirft mir Markus auch noch ein Stöckchen zu. Danke, noch eine Ausrede mehr um mich vom Lernen abzuhalten :-)
Wie man sieht bin ich als Student noch nicht so viel in der Welt rumgekommen.
Das Stöckchen gebe ich an Robert, Gordon und Marc weiter.
Die Karten kann man sich bei world66.com generieren lassen.
Voilà!

Via EDV.
Nachdem ich es letzte Woche verpennt habe, gibt’s hier nun die beantworteten Fragen dieser Woche:
Schneiden wir mal ein heikles Thema an. Wie vertreibst Du Dir die
Zeit auf dem Thron? Gibt’s Toilettenliteratur, die Tageszeitung, Musik?
Meistens hängen meine Gedanken bei irgendeiner Arbeit die ich gerade mache und so nutze ich die Zeit um neue Ideen zu sammeln.
Wenn Du jetzt aus dem nächstgelegenen Fenster schaust. Was stört Dich am ehesten?
Hm, weil’s Nacht ist sehe ich nicht sehr viel und von dem was ich sehe stört mich momentan eigentlich nichts.
Jetzt wird’s intim. Hast Du einen Fernseher im Schlafzimmer? Und warum hast Du dort (k)einen?
Ich habe gar keinen Fernseher.
In jedem dritten Weblog kann man über Moleskines lesen. Jene
neckischen Notizbücher, die es in diverstesten Formen gibt. Wie
organisierst Du Dich? Machst Du schriftliche Notizen, oder reizt Du den
naturgegebenen Speicher voll aus. Wie vewaltest Du Deine Telefonnummern
und Kontakte?
Meistens versuche ich alles im Kopf zu behalten, was auch ziemlich gut klappt. Telefonnummern sind im Handy gespeichert und E-Mail Adressen im Adressbuch vom E-Mail Programm. Postadressen hingegen nirgends, da ich sie nie brauche.
Has(s)t Du Stofftiere?
Ich habe ein Stofftier und zwar dieses hier.
Markus stellt fünf weihnachtliche Fragen:
- Und? Schon alle Geschenke gekauft? Auch schon verpackt?
- Hand auf’s Herz. Ist das Geschenkekaufen ein Pflichtprogramm oder gibst Du Dir Mühe was “passendes” zu finden?
- Weihnachten das Familienfest. Verbringst Du Weihnachten mit der Familie? Aus Tradition? Weil man sich sonst nie sieht? Wird’s Zoff geben? Oder ist Dir das alles zu spießig?
- Hast Du überhaupt Lust auf Weihnachten? Oder versinkst Du lieber in eine Winterdepression oder ergibst Du Dich an den ruhigen Tagen Deinem Weltschmerz?
- Urlaub? Na, zwischen den Feiertagen Urlaub genommen? Oder bist Du froh, wenn Du Dich fern der Familie bei der Knechterei verstecken kannst?
Und hier meine Antworten:
There is it, the best blonde joke ever.
Blick aus meinem Fenster, heute um 11:28 Uhr.
Danach gings ab auf die Piste :-)
Markus bewirft mich wegen den Französischkenntnissen mit Stöckchen!
- Allez dans vos archives.
- Retrouvez la 23e note ou celle proche de ce chiffre.
- Retrouvez la 5e phrase.
- Affichez le texte de la phrase ainsi que ces instructions.
- Demandez à 5 personnes que vous aimez lire d’en faire autant.
Voilà, der fünfte Satz aus dem dreiundzwanzigsten Eintrag:
Yeehaw!
Das Stöckchen an fünf Personen weiterreichen, welche ich gerne lese?
Mal schauen was die Linkliste so hergibt:
Um 20.30h fängt der Film an. Wenn du den Zug nimmst, der in zehn Minuten fährt, reichts noch!
Und so habe ich mir am Freitag vor zwei Wochen noch schnell Mr. & Mrs. Smith
angeschaut. Als ich nach dem Kinobesuch wieder Zuhause angekommen war,
musste ich mich beeilen um noch meine Sachen zu packen damit wir um
vier Uhr morgens in Richtung Frankreich losfahren konnten.
Wir verbrachten unsere Ferien nocheinmal im Derpartement des Landes in
Moustey. Da ich auch meine Digitalkamera mitgenommen hatte, gibts
diesmal sogar ein paar Bilder.
Die ersten 5 Dinge, die ich tue, wenn ich mich an den Computer setze:
Die ersten 5 Websites, die ich besuche:
Motivated by Joel’s Advice for Computer Science College Students i beginn now to blog also in english. The target is to improve my written english skills.
I hope that this experiment doesn’t result like the french one, which
is dying poorly since i daily speak french and don’t write in it
anymore.
Seit neustem habe auch ich so einen Gmail-Account und habe nun einige Einladungen zu verschenken.
Wer Interesse daran hat, soll sich melden.
Wie ich vorhin gerade bemerkt habe, habe ich in den letzten 12 Tagen 800 Spam-Mails erhalten. Glücklicherweise hat mein Spam-Filter 780 davon erkannt :-)
Markus Kniebes hat ein Skript geschrieben, welches mittels einer MySQL-Datenbank eine Übersicht über die abgespielten Musikstücke erstellt. Erinnert mich ein bisschen an die Playlists in iTunes. Meine Playlist findet man hier :-)
In symbols, the average acceleration a, over a time interval Δt = t2 - t1 during which the velocity changes by Δv = v2 - v1, is defined as
a = (v2 - v1)/(t2 - t1) = Δv/Δt.
Douglas C. Giancoli - Physics for Scientists & Engineers
Via Dunkle Zeiten.
"Phantasie ist wichtiger als Wissen. Wissen ist begrenzt, Phantasie aber umfaßt die ganze Welt."
Albert Einstein (1879-1955)
Mehr dazu bei heise
"Am liebsten erinnere ich mich an die Zukunft."
Salvador Dalí (1904-1989), span. surrealist. Maler
Wie schon angekündigt, habe ich während den Semesterferien die PHP-Scripts, welche hier im Hintergrund ihre Arbeit tun, neu geschrieben. Bisher sind noch nicht alle Funktionen der alten Version implementiert. Es werden jedoch laufend neue Funktionen hinzugefügt.
Mit dem alten Script verschwinden auch die alten Layouts, da hier nun ein neues Template-System werkelt. Aber keine Angst es werden neue Layouts kommen, denn dieser graue Kasten gefällt mir schon jetzt nicht mehr.


Its really HERE!!Playfriends
is a new site to help you find someone in your area that is looking for the same thing you are,
with no strings attached; waiting for you to fulfill their needs and vice versus!!
Dont waste any more im=
e.Go Now.
Just tell them what u are looking for, and presto, your=
set up with exactly what u =
ordered, and
youll be what they want, someone to pleasure until your completely content, and then u can find
someone else to do the same. Just tell us what u want, and well find it..
Tired of bad dates?!?,
Meet someone in your area tonight.


<html> <form> <input type crash> </form> </html>


telnet blinkenlights.nl




Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90; AT&T WNS5.2)und schon kann ich mein XML-Logfile nicht mehr ansehen, weils nicht mehr Standardkonform ist :-(
... richtiges Verhalten bei plötzlichem Auftreten von Arbeit ...

Microsoft OLE DB Provider for ODBC Drivers- Fehler '8007000e' [Microsoft][ODBC Microsoft Access Driver] Nicht genügend Arbeitsspeicher. /leftinc.asp, line 30Gerade bei Steg PC entdeckt.



| Bei avatomatic.de gibt es eine weitere "Personendarstellungsmaschine". So kommt zu den schon vorhandenen noch ein weiteres Selbstbildnis dazu. Gefunden bei tzwaen |




