<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator>
  <link href="https://technocidal.com/feed.xml" rel="self" type="application/atom+xml" />
  <link href="https://technocidal.com/" rel="alternate" type="text/html" />
  <updated>2026-03-27T18:00:08+01:00</updated>
  <id>https://technocidal.com/feed.xml</id>
  <title type="html">Technocidal</title>
  <subtitle>Technocidal is created by me, Johannes Ebeling. I&apos;m a father, software engineer and aspiring coffee snob.</subtitle>
  <author>
    <name>Johannes Ebeling</name>
  </author>
  
  <entry>
    <title type="html">Libratone - My favorite Speakers</title>
    <link href="https://technocidal.com/2025/11/22/libratone-black-friday/" rel="alternate" type="text/html" title="Libratone - My favorite Speakers" />
    <published>2025-11-22T00:00:00+01:00</published>
    <updated>2025-11-22T00:00:00+01:00</updated>
    <id>https://technocidal.com/2025/11/22/libratone-black-friday</id>
    <content type="html" xml:base="https://technocidal.com/2025/11/22/libratone-black-friday/">
      <![CDATA[<p>If you’re in the market for a high-quality Bluetooth/WiFi speaker,
Libratone has started its Black Friday sale.
We own the Libratone Zipp and Zipp Mini 2 and are really happy with them.
They are fully AirPlay-compatible, robust, and, at least in my opinion, look quite good.
The newer models have an optional Alexa integration that is turned off by default.</p>

<p>Plus, Libratone is a European company 🇪🇺.</p>

<p><a href="https://libratone.shop/pages/black-friday-2025">https://libratone.shop/pages/black-friday-2025</a></p>
]]>
    </content>
    <author>
      
      <name>Johannes Ebeling</name>
      
    </author>
    
    <summary type="html">
      <![CDATA[If you’re in the market for a high-quality Bluetooth/WiFi speaker, Libratone has started its Black Friday sale. We own the Libratone Zipp and Zipp Mini 2 and are really happy with them. They are fully AirPlay-compatible, robust, and, at least in my opinion, look quite good. The newer models have...]]>
    </summary>
    
  </entry>
  
  <entry>
    <title type="html">Repost - Turning a Decommissioned iPhone into a UniFi Protect Camera</title>
    <link href="https://technocidal.com/2025/08/16/repost-iphone-unifi-protect/" rel="alternate" type="text/html" title="Repost - Turning a Decommissioned iPhone into a UniFi Protect Camera" />
    <published>2025-08-16T00:00:00+02:00</published>
    <updated>2025-08-16T00:00:00+02:00</updated>
    <id>https://technocidal.com/2025/08/16/repost-iphone-unifi-protect</id>
    <content type="html" xml:base="https://technocidal.com/2025/08/16/repost-iphone-unifi-protect/">
      <![CDATA[<p>I finally have a use for the many old iPhones in my closet that don’t make the cut as webcams anymore.</p>

<p><a href="https://caseyliss.com/2025/8/15/a-rube-goldberg-camera">Casey Liss - Turning a Decommissioned iPhone into a UniFi Protect Camera</a></p>
]]>
    </content>
    <author>
      
      <name>Johannes Ebeling</name>
      
    </author>
    
    <summary type="html">
      <![CDATA[I finally have a use for the many old iPhones in my closet that don’t make the cut as webcams anymore.
]]>
    </summary>
    
  </entry>
  
  <entry>
    <title type="html">App Defaults</title>
    <link href="https://technocidal.com/2023/12/07/app-defaults/" rel="alternate" type="text/html" title="App Defaults" />
    <published>2023-12-07T00:00:00+01:00</published>
    <updated>2024-05-16T00:00:00+02:00</updated>
    <id>https://technocidal.com/2023/12/07/app-defaults</id>
    <content type="html" xml:base="https://technocidal.com/2023/12/07/app-defaults/">
      <![CDATA[<p>Inspired by <a href="https://listen.hemisphericviews.com/097">Hemispheric Views 097 - Duel of the Defaults!</a> and this post by <a href="https://rknight.me/app-defaults/">Robb Knight</a> I wanted to list all the apps I use sorted into the various categories as defined by Andrew:</p>

<h2 id="-mail-client">📨 Mail Client</h2>

<p>Mail.app</p>

<h2 id="-mail-server">📮 Mail Server</h2>

<p><a href="https://ref.fm/u29479296">Fastmail</a> - This is my referral link</p>

<h2 id="-notes">📝 Notes</h2>

<p><a href="https://www.craft.do/">Craft</a></p>

<h2 id="-to-do">✅ To-Do</h2>

<p><a href="https://www.craft.do/">Craft</a></p>

<h2 id="-iphone-photo-shooting">📷 iPhone Photo Shooting</h2>

<ul>
  <li><a href="https://halide.cam/">Halide</a></li>
</ul>

<h2 id="-photo-management">🟦 Photo Management</h2>

<p>Photos.app</p>

<h2 id="-calendar">📆 Calendar</h2>

<p>Calendar.app</p>

<h2 id="-cloud-file-storage">📁 Cloud File Storage</h2>

<p>iCloud Drive</p>

<h2 id="-browser">🌐 Browser</h2>

<p>Safari.app</p>

<h2 id="-chat">💬 Chat</h2>

<ul>
  <li>Messages.app</li>
  <li><a href="https://signal.org">Signal</a></li>
</ul>

<h2 id="-bookmarks--read-it-later">🔖 Bookmarks / Read It Later</h2>

<ul>
  <li>Shortcut that adds stuff to a <a href="https://www.craft.do/">Craft</a> document</li>
  <li><a href="https://reeder.app">Reeder</a></li>
</ul>

<h2 id="-word-processing">📜 Word Processing</h2>

<p><a href="https://www.craft.do/">Craft</a></p>

<h2 id="-spreadsheets">📈 Spreadsheets</h2>

<p>Numbers.app</p>

<h2 id="-presentations">📊 Presentations</h2>

<p>Keynote.app</p>

<h2 id="-shopping-lists">🛒 Shopping Lists</h2>

<p><a href="https://www.getbring.com">Bring!</a></p>

<h2 id="-meal-planning">🍴 Meal Planning</h2>

<p><a href="https://www.paprikaapp.com/">Paprika</a></p>

<h2 id="-budgeting-and-personal-finance">💰 Budgeting and Personal Finance</h2>

<p><a href="https://moneymoney-app.com/">MoneyMoney</a></p>

<h2 id="-news">📰 News</h2>

<p>Mastodon</p>

<h2 id="-music">🎵 Music</h2>

<p>Music.app</p>

<h2 id="-podcasts">🎤 Podcasts</h2>

<p><a href="https://overcast.fm/">Overcast</a></p>

<h2 id="-password-management">🔐 Password Management</h2>

<p><a href="https://1password.com/">1Password</a></p>
]]>
    </content>
    <author>
      
      <name>Johannes Ebeling</name>
      
    </author>
    
    <summary type="html">
      <![CDATA[Inspired by Hemispheric Views 097 - Duel of the Defaults! and this post by Robb Knight I wanted to list all the apps I use sorted into the various categories as defined by Andrew:
]]>
    </summary>
    
  </entry>
  
  <entry>
    <title type="html">Networking without Apple</title>
    <link href="https://technocidal.com/2023/10/29/networking-without-apple/" rel="alternate" type="text/html" title="Networking without Apple" />
    <published>2023-10-29T00:00:00+02:00</published>
    <updated>2023-10-29T00:00:00+02:00</updated>
    <id>https://technocidal.com/2023/10/29/networking-without-apple</id>
    <content type="html" xml:base="https://technocidal.com/2023/10/29/networking-without-apple/">
      <![CDATA[<p>About a year ago, I took advantage of a fantastic deal on Amazon and purchased a new router. I had been planning to revamp my home network for some time. Our Wi-Fi speed and coverage were never satisfactory, and there were several dead spots throughout our apartment.</p>

<p>Up until that point, we had been using an <a href="https://support.apple.com/kb/sp680?locale=de_CH">AirPort Extreme A1521</a>, the last model Apple produced in the Extreme line. Overall, I was quite happy with it. It was a well-equipped router with Gigabit LAN/WAN and the ability to attach a hard drive. It also had an aesthetically pleasing design that I didn’t mind displaying in the open. One of the most appealing features of Apple AirPort, as well as <a href="https://en.wikipedia.org/wiki/AirPort_Time_Capsule">AirPort Time Capsule</a>, was the ability to use them as targets for <a href="https://en.wikipedia.org/wiki/Time_Machine_(macOS)">Time Machine backups</a> without needing a separate Mac or an external drive. At the peak of my Apple networking journey, my home network consisted of at least one AirPort Extreme and multiple AirPort Express acting as repeaters and AirPlay targets for speakers throughout my apartment. This setup allowed me to run Time Machine backups for both my private and work MacBook, as well as stream media to my Apple TV using the same hard drive.</p>

<p>However, as time went on, these devices grew old, and there were no replacements in sight. The software started to deteriorate slowly but surely. The AirPort configuration tool looked outdated on modern operating systems, as it hadn’t received updates in a long time. I experienced multiple network crashes, and Time Machine backups would unexpectedly stop without any notification. The once reliable disk-sharing feature became buggy, and copying files to or from the attached hard drive would sometimes fail altogether.</p>

<p>Thus, I began searching for a replacement. I ultimately settled on the <a href="https://www.linksys.com/mr7500---tri-band-axe6600-mesh-wifi-6e-router/MR7500.html">Linksys Hydra Pro 6E</a>, a Wi-Fi 6E capable router. At the time of purchase, these routers were still relatively rare, and the Linksys Hydra Pro 6E was one of the few tri-band capable options, meaning it supported broadcasting the same SSID using the 2.4GHz, 5GHz, and 6GHz bands simultaneously. This was important because most smart home devices prefer the 2.4GHz band, and it would have been inconvenient to have them on a separate SSID.</p>

<p>Ever since I set up the Hydra Pro 6E router, my apartment has been free from any Wi-Fi issues. It provides me with the full bandwidth of my fiber internet connection throughout my entire living space. Surprisingly, even during work calls, my connection remains stable and strong, outperforming my colleagues who work in an office where networking is managed by knowledgeable professionals.</p>

<p>However, it’s important to note that it is immidiately apparent that this router is not manufactured by Apple. Sadly, Apple no longer makes routers at all. The Hydra Pro 6E may not have the aggressive or “gamer” aesthetic that most other routers seem to go for, but it certainly doesn’t look as sleek as an AirPort. The <a href="https://www.linksys.com/mx6203-tri-band-mesh-wifi-6e-system-3-pack/MX6203.html">Linksys Velop</a> system is certainly visually more appealing, but it was three times more expensive than the Hydra at the time of purchase, and I don’t really need the three access points that it comes with.</p>

<p>There are also some opportunities that Apple may have missed by not having a product in this category anymore. This became especially apparent when my partner and I were getting things ready to move out of our apartment and had to store some of our belongings. As we couldn’t take our TV with us, I decided to sell it. After selling it, I dismantled our media cabinet, which involved unplugging all the different devices, including the Apple TV. Later that evening, I realized that I couldn’t access our Homekit lights. It didn’t occur to me initially, but as our Apple TV also served as the Home Hub, I couldn’t store it away yet if I wanted to control our lights until the day of our move. Consequently, the Apple TV had to be placed in the network closet with only its power cable attached. If Apple had a modern router, it would likely function as a Home Hub as well. Perhaps Matter will eventually address this issue when more devices can act as Thread border routers. Until then, one of the most crucial aspects of my home network, HomeKit, can only be accessed by keeping an Apple TV or HomePod nearby, even if they aren’t required for their primary purposes.</p>
]]>
    </content>
    <author>
      
      <name>Johannes Ebeling</name>
      
    </author>
    
    <summary type="html">
      <![CDATA[About a year ago, I took advantage of a fantastic deal on Amazon and purchased a new router. I had been planning to revamp my home network for some time. Our Wi-Fi speed and coverage were never satisfactory, and there were several dead spots throughout our apartment.
]]>
    </summary>
    
  </entry>
  
  <entry>
    <title type="html">A small photography update</title>
    <link href="https://technocidal.com/2022/08/06/a-small-photography-update/" rel="alternate" type="text/html" title="A small photography update" />
    <published>2022-08-06T00:00:00+02:00</published>
    <updated>2022-08-06T00:00:00+02:00</updated>
    <id>https://technocidal.com/2022/08/06/a-small-photography-update</id>
    <content type="html" xml:base="https://technocidal.com/2022/08/06/a-small-photography-update/">
      <![CDATA[<p>Just posted <a href="https://unsplash.com/photos/-N3okQeK5zQ">one of my Hamburg pictures</a>
from earlier this year to Unsplash.</p>
]]>
    </content>
    <author>
      
      <name>Johannes Ebeling</name>
      
    </author>
    
    <summary type="html">
      <![CDATA[Just posted one of my Hamburg pictures
from earlier this year to Unsplash.
]]>
    </summary>
    
  </entry>
  
  <entry>
    <title type="html">Building a home coffee setup</title>
    <link href="https://technocidal.com/2022/07/25/building-a-home-coffee-setup/" rel="alternate" type="text/html" title="Building a home coffee setup" />
    <published>2022-07-25T00:00:00+02:00</published>
    <updated>2022-07-25T00:00:00+02:00</updated>
    <id>https://technocidal.com/2022/07/25/building-a-home-coffee-setup</id>
    <content type="html" xml:base="https://technocidal.com/2022/07/25/building-a-home-coffee-setup/">
      <![CDATA[<p>For many years now the way that I’ve been improving my coffee game was by taking
a lot more care buying coffee beans as I was a bit initimidated
by the sheer amount of options when it comes to fancy home coffee setups.</p>

<p>We already own a Melitta Caffeo CI, an AeroPress plus Porlex Grinder combo,
a fairly simple drip coffee maker, a V60-style pour-over brewer
and a siphone coffee maker that I got as a gift.
So quite a collection of gadgets but no consistent theme
and some crucial pieces are missing, e.g. an actual grinder.
We use the Melitta superautomatic the most.
It does a passable job at creating coffee drinks when provided
with high-quality coffee beans.
You really need to spend some money as any imperfections during roasting
get amplified a lot.</p>

<p>It’s far from perfect. The brewer isn’t able to create actual espresso,
it suffers from horrible retention and static issues
that lead to a lot of coffee being wasted
and I’ve also repaired it more times then I can count.</p>

<p>This lead to my wife and me getting more and more frustrated
and ultimately deciding to build an actual coffee setup from scratch.
Our goal is to integrate it seamlessly into our existing kitchen
using the <a href="https://www.youtube.com/watch?v=gj9xtpdIwvI">Decent coffee cart concept</a>
as our main point of inspiration.</p>

<p>We’re still in the early stages of planning, but we indent
to finish the overall project by the end of the year.</p>

<p>You can visit <a href="https://www.craft.do/s/GEeIMi3MclIEU5">the Craft project page</a>
to follow our progress.</p>
]]>
    </content>
    <author>
      
      <name>Johannes Ebeling</name>
      
    </author>
    
    <summary type="html">
      <![CDATA[For many years now the way that I’ve been improving my coffee game was by taking
a lot more care buying coffee beans as I was a bit initimidated
by the sheer amount of options when it comes to fancy home coffee setups.
]]>
    </summary>
    
  </entry>
  
  <entry>
    <title type="html">SwiftUI - Displaying Web Content</title>
    <link href="https://technocidal.com/2022/05/01/swiftui-displaying-web-content/" rel="alternate" type="text/html" title="SwiftUI - Displaying Web Content" />
    <published>2022-05-01T00:00:00+02:00</published>
    <updated>2022-05-01T00:00:00+02:00</updated>
    <id>https://technocidal.com/2022/05/01/swiftui-displaying-web-content</id>
    <content type="html" xml:base="https://technocidal.com/2022/05/01/swiftui-displaying-web-content/">
      <![CDATA[<p>SwiftUI was first released almost 3 years ago but it’s still lacking some pretty fundamental functionality. I’m partial to the issue that you can’t change the background color of list items in a list-style <code class="language-plaintext highlighter-rouge">Picker</code> or any layout specifics of that component to be honest. Admittedly this is a minor annoyance when you realise that there is no SwiftUI equivalent for <code class="language-plaintext highlighter-rouge">WKWebView</code>. Luckily the implementation of a simple UIKit wrapper is straight forward.</p>

<blockquote>
  <h2 id="update">Update</h2>

  <p>Although this method works great for opening links to external content inside an app I’d highly discourage you from using it for that purpose. Due to the excellent research by <a href="https://krausefx.com/blog/announcing-inappbrowsercom-see-what-javascript-commands-get-executed-in-an-in-app-browser">Felix Krause</a> it became apparent that this is misused by a lot of companies to track users, attribute ads or personalize content. Developers should take this as a hint to switch to <code class="language-plaintext highlighter-rouge">SFSafariViewController</code> or open Safari outright. Felix goes into a lot more details so I <strong>highly</strong> encourage you to check out his work.</p>

  <p>It’s still completely fine to use this to show web content like HTML responses from your own servers, a Markdown preview screen for an editor or maybe a specific piece of UI was just easier to build using web technologies.</p>
</blockquote>

<h2 id="implementation">Implementation</h2>

<p>To get things started open a new file and import <code class="language-plaintext highlighter-rouge">WebKit</code>. We need this to have access to <code class="language-plaintext highlighter-rouge">WKWebView</code> which is Apples replacement for <code class="language-plaintext highlighter-rouge">UIWebView</code>.</p>

<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">import</span> <span class="kt">WebKit</span>
</code></pre></div></div>

<p>Create a new struct called <code class="language-plaintext highlighter-rouge">WebView</code> which should conform to <code class="language-plaintext highlighter-rouge">UIViewRepresentable</code>.</p>

<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">import</span> <span class="kt">WebKit</span>

<span class="kd">struct</span> <span class="kt">WebView</span><span class="p">:</span> <span class="kt">UIViewRepresentable</span> <span class="p">{</span>
<span class="o">...</span>
<span class="p">}</span>
</code></pre></div></div>

<p><em>Keeping with Apples naming conventions for SwiftUI it should just be called <code class="language-plaintext highlighter-rouge">Web</code> but that seemed a bit odd to me. It also confused me when I realised that Apple did <strong>exactly</strong> that when they called the SwiftUI equivalent for <code class="language-plaintext highlighter-rouge">MKMapView</code> just <code class="language-plaintext highlighter-rouge">Map</code>.</em></p>

<p>Add a property called <code class="language-plaintext highlighter-rouge">url</code>. You can define this with <code class="language-plaintext highlighter-rouge">String</code> or <code class="language-plaintext highlighter-rouge">URL</code> as its type depending on where you want to implement the error handling in case the supplied URL is invalid.</p>

<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">import</span> <span class="kt">WebKit</span>

<span class="kd">struct</span> <span class="kt">WebView</span><span class="p">:</span> <span class="kt">UIViewRepresentable</span> <span class="p">{</span>

  <span class="k">let</span> <span class="nv">url</span><span class="p">:</span> <span class="kt">String</span>
<span class="p">}</span>
</code></pre></div></div>

<p>Now you’re ready to implement the two methods required by the <code class="language-plaintext highlighter-rouge">UIViewRepresentable</code> protocol. Let’s start with <code class="language-plaintext highlighter-rouge">makeUIView(context:)</code>.</p>

<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">import</span> <span class="kt">WebKit</span>

<span class="kd">struct</span> <span class="kt">WebView</span><span class="p">:</span> <span class="kt">UIViewRepresentable</span> <span class="p">{</span>

  <span class="o">...</span>

  <span class="kd">func</span> <span class="nf">makeUIView</span><span class="p">(</span><span class="nv">context</span><span class="p">:</span> <span class="kt">Context</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">WKWebView</span> <span class="p">{</span>
      <span class="kt">WKWebView</span><span class="p">()</span>
  <span class="p">}</span>
<span class="p">}</span>
</code></pre></div></div>

<p>Pretty straight forward, right? Now we just need to load the supplied URL and we’re done. Continue by implementing the second required function like so.</p>

<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">import</span> <span class="kt">WebKit</span>

<span class="kd">struct</span> <span class="kt">WebView</span><span class="p">:</span> <span class="kt">UIViewRepresentable</span> <span class="p">{</span>

  <span class="o">...</span>

  <span class="kd">func</span> <span class="nf">updateUIView</span><span class="p">(</span><span class="n">_</span> <span class="nv">uiView</span><span class="p">:</span> <span class="kt">WKWebView</span><span class="p">,</span> <span class="nv">context</span><span class="p">:</span> <span class="kt">Context</span><span class="p">)</span> <span class="p">{</span>
      <span class="k">guard</span> <span class="k">let</span> <span class="nv">url</span> <span class="o">=</span> <span class="kt">URL</span><span class="p">(</span><span class="nv">string</span><span class="p">:</span> <span class="n">url</span><span class="p">)</span> <span class="k">else</span> <span class="p">{</span>
          <span class="k">return</span>
      <span class="p">}</span>
      <span class="k">let</span> <span class="nv">request</span> <span class="o">=</span> <span class="kt">URLRequest</span><span class="p">(</span><span class="nv">url</span><span class="p">:</span> <span class="n">url</span><span class="p">)</span>
      <span class="n">uiView</span><span class="o">.</span><span class="nf">load</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
  <span class="p">}</span>
<span class="p">}</span>
</code></pre></div></div>

<p>This function tries to create a URL using the provided string. If it succeeds the newly created URL is passed to a <code class="language-plaintext highlighter-rouge">URLRequest</code> which is subsequently handed to the <code class="language-plaintext highlighter-rouge">load(_:)</code> function of our <code class="language-plaintext highlighter-rouge">WKWebView</code> instance.</p>

<p>That’s all there is to it. Be aware that <code class="language-plaintext highlighter-rouge">WKWebView</code> is not equivalent to <code class="language-plaintext highlighter-rouge">SFSafariViewController</code> which basically embeds Safari into your application giving users access to Password Autofill for example.</p>

<h2 id="conclusion">Conclusion</h2>

<p>Wrapping <code class="language-plaintext highlighter-rouge">WKWebView</code> like this gives you a quick and easy way to show web content inside your application.</p>

<p>If you found this helpful, feel free to let me know. You can send me an E-Mail to <a href="mailto:johannes@technocidal.com">johannes@technocidal.com</a> or find me on Mastodon <a href="https://mastodon.social/@technocidal">@technocidal</a>.</p>
]]>
    </content>
    <author>
      
      <name>Johannes Ebeling</name>
      
    </author>
    
    <summary type="html">
      <![CDATA[SwiftUI was first released almost 3 years ago but it’s still lacking some pretty fundamental functionality. I’m partial to the issue that you can’t change the background color of list items in a list-style Picker or any layout specifics of that component to be honest. Admittedly this is a minor...]]>
    </summary>
    
  </entry>
  
  <entry>
    <title type="html">Unsplash</title>
    <link href="https://technocidal.com/2022/02/14/unsplash/" rel="alternate" type="text/html" title="Unsplash" />
    <published>2022-02-14T00:00:00+01:00</published>
    <updated>2022-02-14T00:00:00+01:00</updated>
    <id>https://technocidal.com/2022/02/14/unsplash</id>
    <content type="html" xml:base="https://technocidal.com/2022/02/14/unsplash/">
      <![CDATA[<p>A couple of weeks ago I’ve submitted pictures I took to Unsplash for the first time.
This was a weird experience for me. Photography appears to be such a widespread hobby amongst programmers, that it feels almost too cliché to admit to it publicly.
Getting into cameras seems to be just what you do, when you work in technology.</p>

<p>While posting to social media always felt low stakes, publishing you work on a dedicated photography platform like Unsplash felt intimidating.</p>

<p>When choosing some of my first pictures I realised how hard it can be to not be too critical with your own work.
The first album I’m going through now contains all the pictures I took during a vacation to Israel.
This was one of the most interesting experiences of my whole life, so it seemed like a good choice to start there.
But is there anything interesting in there?
I mean, most of the “tourist street photography style” pictures mainly make sense to me and a good chunk of the album are basically pictures I took for the sake of having a picture of what I saw during the trip.
They are pretty recognisable by their poor composition, contrast and obvious lack of care.
I just wanted a picture to remember that when I visited Masada, an ancient Roman fortress, there was a tiny model of the whole structure that had dollhouse-like mosaic floors.</p>

<p>Going through the album made me realise that one motive came up again and again - <strong>Flowers</strong>.</p>

<p>Everyone likes pictures of flowers. You can look through the profile pictures/home screens of the older part of your family and I bet that a lot of them will have picked flowers to put there.
That’s where I started.
I edited and uploaded a picture of an almond tree flower. It’s a start and let’s see where this goes.</p>
]]>
    </content>
    <author>
      
      <name>Johannes Ebeling</name>
      
    </author>
    
    <summary type="html">
      <![CDATA[A couple of weeks ago I’ve submitted pictures I took to Unsplash for the first time. This was a weird experience for me. Photography appears to be such a widespread hobby amongst programmers, that it feels almost too cliché to admit to it publicly. Getting into cameras seems to be...]]>
    </summary>
    
  </entry>
  
  <entry>
    <title type="html">Hi! Nice to meet you.</title>
    <link href="https://technocidal.com/2022/01/31/hi!-nice-to-meet-you/" rel="alternate" type="text/html" title="Hi! Nice to meet you." />
    <published>2022-01-31T00:00:00+01:00</published>
    <updated>2022-01-31T00:00:00+01:00</updated>
    <id>https://technocidal.com/2022/01/31/hi!-nice-to-meet-you</id>
    <content type="html" xml:base="https://technocidal.com/2022/01/31/hi!-nice-to-meet-you/">
      <![CDATA[<p>I’m glad you’ve stumbled upon my fifth, no sixth, maybe tenth (who keeps count…) attempt at creating a personal website/blog.
I intent to upload as much stuff as possible here. Expect notes, discoveries and maybe even some occasional wisdom.</p>

<p>This site will mainly focus on technology and the ups and downs of working in software engineering.
My intention for this site is for it to be helpful sometimes and a place of shared suffering at other times. I’ve a strong background developing for Apple platforms.</p>

<p>Feel free to <a href="mailto:johannes@technocidal.com">contact me</a> 📧.</p>
]]>
    </content>
    <author>
      
      <name>Johannes Ebeling</name>
      
    </author>
    
    <summary type="html">
      <![CDATA[I’m glad you’ve stumbled upon my fifth, no sixth, maybe tenth (who keeps count…) attempt at creating a personal website/blog.
I intent to upload as much stuff as possible here. Expect notes, discoveries and maybe even some occasional wisdom.
]]>
    </summary>
    
  </entry>
  
</feed>
