<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[Lukas Z's Blog]]></title>
  <link href="http://www.lukaszielinski.de/atom.xml" rel="self"/>
  <link href="http://www.lukaszielinski.de/"/>
  <updated>2026-03-30T12:48:54+00:00</updated>
  <id>http://www.lukaszielinski.de/</id>
  <author>
    <name><![CDATA[LZ]]></name>
    
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[How the Mainstream Saves Art]]></title>
    <link href="http://www.lukaszielinski.de/blog/posts/2026/03/30/how-the-mainstream-saves-art/"/>
    <updated>2026-03-30T14:06:00+00:00</updated>
    <id>http://www.lukaszielinski.de/blog/posts/2026/03/30/how-the-mainstream-saves-art</id>
    <content type="html"><![CDATA[<p><img src="https://www.lukaszielinski.de/blog/images/jf_social_media.jpeg" alt="AI generated art" /></p>

<p>It feels that it might become more and more futile to put things online. Not only do we feed the social media machines of big corporations when we do that. If it’s any “good”, it gets copied immediately. And AI bots will scoop it up in 0.001 seconds.</p>

<p>It’s instantly stolen, if you like.</p>

<p>But fine art, the kind that makes you think perhaps, the kind that perhaps captures a truth that is hard to put in words even, the kind that ultimately matters, I mean.. that’s a bit different.</p>

<p>It’s less commerically useful. (Unless you are a collector or art dealer..)</p>

<p>It’s not happening in the mainstream and therefore it’s of limited use to thieves, copycats and AI bots.</p>

<p>So, if we’re lucky, those who make that kind of art may keep on producing, even if the rest give up.</p>

<p>And therefore, the mainstream saves art because that’s where the money is made instead.</p>

<p>P.S.: I notice that the excessive use of social media has corrupted my thinking in implicitely assuming that it matters a lot, even when it doesn’t. It’s just entertainment. Counterpoint: Jesus Christ had just 12 followers, and look at the impact he has.</p>

<p>P.P.S.: The image is AI generated, but inspired by the art of Jeffrey Smart. <a href="https://www.wikiart.org/en/jeffrey-smart">Check out some of his works here.</a> </p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[I Don't use Google Search Anymore]]></title>
    <link href="http://www.lukaszielinski.de/blog/posts/2026/03/17/i-dont-use-google-search-anymore/"/>
    <updated>2026-03-17T15:15:00+00:00</updated>
    <id>http://www.lukaszielinski.de/blog/posts/2026/03/17/i-dont-use-google-search-anymore</id>
    <content type="html"><![CDATA[<p>I noticed that I haven’t used Google Search in a long time..</p>

<p>Instead, I go to <a href="http://google.com/ai">http://google.com/ai</a> and get my answers (and links if needed) there.</p>

<p>I don’t wish to ever go back.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[I Made an App For Analog Photographers]]></title>
    <link href="http://www.lukaszielinski.de/blog/posts/2026/03/16/i-made-an-app-for-analog-photographers/"/>
    <updated>2026-03-16T14:00:00+00:00</updated>
    <id>http://www.lukaszielinski.de/blog/posts/2026/03/16/i-made-an-app-for-analog-photographers</id>
    <content type="html"><![CDATA[<p>This is a “scratch your own itch” app for photography. </p>

<p>It’s called Graupe, a portmanteau of “Grain” (as in analog film grain) and “Loupe” (as in the magnifying device you can use to spot the grain).</p>

<p>Here is the App Store link: <a href="https://www.google.com/url?sa=t&amp;source=web&amp;rct=j&amp;opi=89978449&amp;url=https://apps.apple.com/de/app/graupe/id6759452286">Graupe for iOS</a></p>

<p>Features:</p>

<ul>
  <li>depth of field calculation (for zone focusing)</li>
  <li>light meter (because the one on my 1970s Canon is broken)</li>
  <li>GPS photo tracking (also useful for analog experiments)</li>
  <li>film roll tracking (what’s being developed, what’s in which camera)</li>
  <li>equipment tracking (why not)</li>
</ul>

<p>Everything is pretty customizable, too.</p>

<p>Please give it a try, it’s free without any tracking or ads.</p>

<p>Screens from the App Store page:</p>

<p><img src="https://www.lukaszielinski.de/blog/images/graupe1_light_meter.jpeg" alt="Graupe Analog App" style="width:200px;" />
<img src="https://www.lukaszielinski.de/blog/images/graupe2_dof_calculator.jpeg" alt="Graupe Analog App" style="width:200px;" />
<img src="https://www.lukaszielinski.de/blog/images/graupe3_film_rolls.jpeg" alt="Graupe Analog App" style="width:200px;" /></p>

<p>Feedback is appreciated.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Trolley Problems]]></title>
    <link href="http://www.lukaszielinski.de/blog/posts/2026/03/12/trolley-problems/"/>
    <updated>2026-03-12T09:35:00+00:00</updated>
    <id>http://www.lukaszielinski.de/blog/posts/2026/03/12/trolley-problems</id>
    <content type="html"><![CDATA[<p><img src="https://www.lukaszielinski.de/blog/images/trainswitchmanga.jpeg" alt="trolley problem" style="width:500px;" /></p>

<p><a href="https://david-sommer.eu/html/projects/trolley_problems.html">This is great.</a> Basically a long collection of variations on the Trolley Problem meme.</p>

<p>(P.S. it took so many tries to generate that picture. And even then I had to crop out the errors. Perhaps artists are not out of work yet..)</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Clustering of Hacker News "What Are You Working on?" Comments]]></title>
    <link href="http://www.lukaszielinski.de/blog/posts/2026/03/09/clustering-of-hacker-news-what-are-you-working-on-comments/"/>
    <updated>2026-03-09T12:09:00+00:00</updated>
    <id>http://www.lukaszielinski.de/blog/posts/2026/03/09/clustering-of-hacker-news-what-are-you-working-on-comments</id>
    <content type="html"><![CDATA[<p><em>I like to throw a bunch of text into my local LLM (currently a <a href="https://huggingface.co/mistralai/Devstral-Small-2-24B-Instruct-2512">Devstral-Small-2-24B-Instruct</a>) and have it cluster the contents. I like to do it for polarizing topics like politics, just to get a feel for how many people on a website seem to support or oppose a thing. And here I did it for the (monthly?) <a href="https://news.ycombinator.com/item?id=47303111">“What are you working on?” thread</a>:</em></p>

<p><em>Notes: The quotes the LLM produces are often not verbatim, but correct in meaning and tone. The percentages do not add up to 100%, which either means that either the LLM is sloppy, or simply not good enough, or that there is overlap between the clusters.</em></p>

<p><strong>PROMPT</strong>: analyse and cluster, what general ideas are people following, give memorable quotes for each cluster and quantify it somehow compared to others. <copypaste of="" whole="" hn="" commentsp="" page="" /></p>

<p><strong>ANSWER</strong>:</p>

<h1 id="analysis-of-ask-hn-what-are-you-working-on-thread">Analysis of “Ask HN: What Are You Working On?” Thread</h1>

<p>Here’s an analysis and clustering of the general ideas people are following based on the “Ask HN: What Are You Working On?” thread. I’ve categorized the projects into themes, provided memorable quotes for each cluster, and quantified their prevalence compared to others.</p>

<h2 id="ai--coding-agents-most-common-theme">1. AI &amp; Coding Agents (Most Common Theme)</h2>
<p><strong>Memorable Quote</strong>: <em>“I’m building a tool that turns my 1970s text editor into a futuristic language-learning platform with LLMs.”</em></p>

<p><strong>Quantification</strong>: ~30% of responses (e.g., OpenClaw alternatives, AI coding frameworks, LLM integration).</p>

<p><strong>Projects</strong>:</p>

<ul>
  <li><a href="https://grith.ai">grith.ai</a>: Syscall-level security for AI agents.</li>
  <li>hebbs: Memory engine for agents.</li>
  <li>Swival: Local AI coding assistant.</li>
</ul>

<h2 id="personal-productivity--habits">2. Personal Productivity &amp; Habits</h2>
<p><strong>Memorable Quote</strong>: <em>“A simple script that deducts money from my bank if I spend too much time on Instagram.”</em></p>

<p><strong>Quantification</strong>: ~15% of responses.</p>

<p><strong>Projects</strong>:</p>

<ul>
  <li>Screenleash: Deduction for time-wasting.</li>
  <li>Book Reading Habit: Micro-sessions for reading.</li>
  <li>Pingmebud: Meeting fatigue alerts.</li>
</ul>

<h2 id="creative-tools--games">3. Creative Tools &amp; Games</h2>
<p><strong>Memorable Quote</strong>: <em>“You’re a dog left at home alone getting up to mischief in a 3D top-down Zelda-style game.”</em></p>

<p><strong>Quantification</strong>: ~10% of responses.</p>

<p><strong>Projects</strong>:</p>

<ul>
  <li>Doggy Don’t Care: 3D dog mischief game.</li>
  <li>Nonodle: Daily nonogram puzzles.</li>
  <li>MadHatter: Knitting/crochet design tool.</li>
</ul>

<h2 id="education--language-learning">4. Education &amp; Language Learning</h2>
<p><strong>Memorable Quote</strong>: <em>“Forget flashcards—save ‘muddy puddles’ as Peppa Pig jumping into a video moment.”</em></p>

<p><strong>Quantification</strong>: ~10% of responses.</p>

<p><strong>Projects</strong>:</p>

<ul>
  <li>YouLingua: Video-based language learning.</li>
  <li>KPT: Verb conjugation for hard languages.</li>
  <li>Free Math Sheets: Worksheet generator.</li>
</ul>

<h2 id="developer-tools--infrastructure">5. Developer Tools &amp; Infrastructure</h2>
<p><strong>Memorable Quote</strong>: <em>“A lightweight alternative to Twilio Voice Intelligence—$0.30/hour vs $1.50/hour.”</em></p>

<p><strong>Quantification</strong>: ~10% of responses.</p>

<p><strong>Projects</strong>:</p>

<ul>
  <li>FunctionalTodo: Malleable software with AI.</li>
  <li>DB Pro: Collaborative database client.</li>
  <li>Canine: Kubernetes PaaS.</li>
</ul>

<h2 id="niche-saas--community">6. Niche SaaS &amp; Community</h2>
<p><strong>Memorable Quote</strong>: <em>“An auction site for schools without exploitative fees—because who needs that?”</em></p>

<p><strong>Quantification</strong>: ~10% of responses.</p>

<p><strong>Projects</strong>:</p>

<ul>
  <li>Aucly: School auction platform.</li>
  <li>SocialProof: Testimonial collector.</li>
  <li>Uruk: EU-based Kagi alternative.</li>
</ul>

<h2 id="hardware--iot">7. Hardware &amp; IoT</h2>
<p><strong>Memorable Quote</strong>: <em>“A ‘Smart Dealer Poker Button’ with time-sync’d IoT displays for blind draws.”</em></p>

<p><strong>Quantification</strong>: ~5% of responses.</p>

<p><strong>Projects</strong>:</p>

<ul>
  <li>Hoopi Pedal: Music effects + recording.</li>
  <li>rainy-city.com: Ambient rain sound generator.</li>
  <li>LTE sensors for horticulture.</li>
</ul>

<h2 id="open-source--experiments">8. Open Source &amp; Experiments</h2>
<p><strong>Memorable Quote</strong>: <em>“I trained a tiny LLM to answer ‘What is life?’ with ‘It is.’”</em></p>

<p><strong>Quantification</strong>: ~15% of responses.</p>

<p><strong>Projects</strong>:</p>

<ul>
  <li>fesh: Binary compression with LLM.</li>
  <li>Cranpose: Rust port of Jetpack Compose.</li>
  <li>JRECC: Java remote caching.</li>
</ul>

<h2 id="health--fitness">9. Health &amp; Fitness</h2>
<p><strong>Memorable Quote</strong>: <em>“A tracking app for my son’s 1000 books before kindergarten.”</em></p>

<p><strong>Quantification</strong>: ~5% of responses.</p>

<p><strong>Projects</strong>:</p>

<ul>
  <li>BebiLog: Premature baby tracking.</li>
  <li>HeartRoutine: Cardiologist-friendly tracking.</li>
</ul>

<h2 id="miscellaneous">10. Miscellaneous</h2>
<p><strong>Memorable Quote</strong>: <em>“A PWA habit tracker that sends your money to charities if you fail.”</em></p>

<p><strong>Quantification</strong>: ~10% of responses.</p>

<p><strong>Projects</strong>:</p>

<ul>
  <li>Euzoia: Charity-based habits.</li>
  <li>Jello: Photo-based games.</li>
  <li>Statphone: Emergency family calls.</li>
</ul>

<h2 id="quantitative-breakdown">Quantitative Breakdown</h2>

<table style="width:100%; border-collapse: collapse; margin: 25px 0;">
  <tr>
    <th style="text-align: left; padding: 8px; background-color: #f2f2f2;">Cluster</th>
    <th style="text-align: left; padding: 8px; background-color: #f2f2f2;">% of Responses</th>
    <th style="text-align: left; padding: 8px; background-color: #f2f2f2;">Keywords/Tools</th>
  </tr>
  <tr>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">AI &amp; Coding Agents</td>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">30%</td>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">LLMs, MCP, OpenClaw</td>
  </tr>
  <tr>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">Productivity</td>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">15%</td>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">Habits, time management</td>
  </tr>
  <tr>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">Creative/Games</td>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">10%</td>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">3D, puzzles, art</td>
  </tr>
  <tr>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">Education</td>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">10%</td>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">Language, math, coding</td>
  </tr>
  <tr>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">Dev Tools</td>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">10%</td>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">Databases, APIs, CI/CD</td>
  </tr>
  <tr>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">Niche SaaS</td>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">10%</td>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">Marketplaces, auctions</td>
  </tr>
  <tr>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">Hardware/IoT</td>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">5%</td>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">Sensors, IoT</td>
  </tr>
  <tr>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">Open Source</td>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">15%</td>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">Rust, Go, Python</td>
  </tr>
  <tr>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">Health/Fitness</td>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">5%</td>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">Tracking, reminders</td>
  </tr>
  <tr>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">Miscellaneous</td>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">10%</td>
    <td style="padding: 8px; border-bottom: 1px solid #ddd;">Charities, games</td>
  </tr>
</table>

<h2 id="observations">Observations:</h2>
<ul>
  <li>AI agents and developer tools dominate (~45% combined).</li>
  <li>Education and productivity tools are growing niches.</li>
  <li>Hardware/IoT projects are rare but highly specialized.</li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[If You Can Prompt a Bot, You Can Lead a Team]]></title>
    <link href="http://www.lukaszielinski.de/blog/posts/2026/03/02/if-you-can-prompt-a-bot-you-can-lead-a-team/"/>
    <updated>2026-03-02T10:42:00+00:00</updated>
    <id>http://www.lukaszielinski.de/blog/posts/2026/03/02/if-you-can-prompt-a-bot-you-can-lead-a-team</id>
    <content type="html"><![CDATA[<p>The catchy post title tries to summarise this:</p>

<p>I’ve been coding with agents for a while now and one unexpected benefit is that I now have a lower barrier to tell others what to do at work. In other words: Being a manager for my AI-coworkers made me at ease with managing my colleagues.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Apps will disappear]]></title>
    <link href="http://www.lukaszielinski.de/blog/posts/2026/02/18/apps-will-disappear/"/>
    <updated>2026-02-18T18:37:00+00:00</updated>
    <id>http://www.lukaszielinski.de/blog/posts/2026/02/18/apps-will-disappear</id>
    <content type="html"><![CDATA[<p>I now think that apps as an idea could disappear at some point. Users will simply tell Siri or another tool what they want their smartphone or computer to do, and then it will be developed ad hoc.</p>

<p>There may be some backend services, such as Yahoo Pipes, that you can or should use, but the concept of an app that you download from the store will probably disappear.</p>

<p>But that depends on whether these AIs can crack the tough nuts. At the moment, they tend to build things they have seen. But first, you can combine all kinds of things from parts, and second, the AI can then hire people to make the missing puzzle pieces.</p>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Evening in the Harbor]]></title>
    <link href="http://www.lukaszielinski.de/blog/posts/2025/07/17/evening-in-the-harbor/"/>
    <updated>2025-07-17T10:16:00+00:00</updated>
    <id>http://www.lukaszielinski.de/blog/posts/2025/07/17/evening-in-the-harbor</id>
    <content type="html"><![CDATA[<p>Finally, I got myself a good photo camera.</p>

<p>Some evenings ago I went out to play with it.</p>

<p><img src="https://www.lukaszielinski.de/blog/images/sh_fa.jpeg" alt="Harbor1" style="width:600px;" />
<img src="https://www.lukaszielinski.de/blog/images/sh_fb.jpeg" alt="Harbor2" style="width:600px;" />
<img src="https://www.lukaszielinski.de/blog/images/sh_fc.jpeg" alt="Harbor3" style="width:600px;" />
<img src="https://www.lukaszielinski.de/blog/images/sh_fd.jpeg" alt="Harbor4" style="width:600px;" />
<img src="https://www.lukaszielinski.de/blog/images/sh_fe.jpeg" alt="Harbor5" style="width:600px;" /></p>

<p>Not sure yet if I like the black and white.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Geocaching]]></title>
    <link href="http://www.lukaszielinski.de/blog/posts/2025/06/02/geocaching/"/>
    <updated>2025-06-02T11:30:00+00:00</updated>
    <id>http://www.lukaszielinski.de/blog/posts/2025/06/02/geocaching</id>
    <content type="html"><![CDATA[<p>So I installed an app and went out to find some geocaches.</p>

<p>Out of four attempted, I found just one. And I did not give up after 5 minutes. For one, riddles had to be solved and that took about an hour just for the riddles (and the walking involved).</p>

<p>Main challenges included:</p>

<ul>
  <li>Plants blocking access, for example raspberry thorns or nettles.</li>
  <li>Lack of experience, aka “What am I even looking for?”</li>
  <li>Outdated information - these caches are sometimes a decade old. The one I found, too, but what about those I did not find?</li>
  <li>GPS accuracy - 2m radius of accurracy is 4 pi square meters of area to search. This sounds like not much but I would feel more confident to have just centimeters to search. Maybe iPhone GPS is just like that, or maybe there weren’t enough visible satellites around when I tried.</li>
</ul>

<p>Benefits:</p>

<ul>
  <li>My Apple health step count skyrocketed for the day.</li>
  <li>I saw some interesting locations up close which I would ordinarily just pass by without a thought.</li>
</ul>

<p>Here are some uncommented pictures from that day.</p>

<p><img src="https://www.lukaszielinski.de/blog/images/geocaching1.jpeg" alt="Geocaching 1" style="width:500px;" />
<img src="https://www.lukaszielinski.de/blog/images/geocaching2.jpeg" alt="Geocaching 2" style="width:500px;" />
<img src="https://www.lukaszielinski.de/blog/images/geocaching3.jpeg" alt="Geocaching 3" style="width:500px;" />
<img src="https://www.lukaszielinski.de/blog/images/geocaching4.jpeg" alt="Geocaching 4" style="width:500px;" />
<img src="https://www.lukaszielinski.de/blog/images/geocaching5.jpeg" alt="Geocaching 5" style="width:500px;" /></p>

<p>I believe geocaching might be better suited for fall or winter, when some of the plants aren’t there.</p>

<p>And perhaps when fewer people are around to watch me climb into weird places..</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[humans.txt]]></title>
    <link href="http://www.lukaszielinski.de/blog/posts/2025/03/18/humans-txt/"/>
    <updated>2025-03-18T12:40:00+00:00</updated>
    <id>http://www.lukaszielinski.de/blog/posts/2025/03/18/humans-txt</id>
    <content type="html"><![CDATA[<p>I just added a <a href="https://lukaszielinski.de/humans.txt">humans.txt</a> file.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[3 games in 3 minutes]]></title>
    <link href="http://www.lukaszielinski.de/blog/posts/2025/03/13/three-games-in-3-minutes/"/>
    <updated>2025-03-13T13:25:00+00:00</updated>
    <id>http://www.lukaszielinski.de/blog/posts/2025/03/13/three-games-in-3-minutes</id>
    <content type="html"><![CDATA[<p>I just created three browser games in three minutes. </p>

<p>A Doodle Jump like, an R-Type like and a 3d space shooter.</p>

<p>Click here to play them:</p>

<ul>
  <li><a href="http://www.lukaszielinski.de/static/games/doodlejump.html">Game 1: Doodle Jump</a></li>
  <li><a href="http://www.lukaszielinski.de/static/games/rtypelike.html">Game 2: R-Type Like</a></li>
  <li><a href="http://www.lukaszielinski.de/static/games/3dshooter.html">Game 3: 3D Space Shooter</a></li>
</ul>

<p>Each was just one prompt with Claude 3.7. No corrections or retry.</p>

<p>And only the first one is playable on mobile, the others need a keyboard.</p>

<p><strong>Edit:</strong> Playing with LLMs to create these games reminded me of <a href="https://www.youtube.com/watch?v=KmuP8gsgWb8">something Steve Jobs said</a>.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Abliterated LLMs]]></title>
    <link href="http://www.lukaszielinski.de/blog/posts/2025/03/07/llm-ablation/"/>
    <updated>2025-03-07T13:00:00+00:00</updated>
    <id>http://www.lukaszielinski.de/blog/posts/2025/03/07/llm-ablation</id>
    <content type="html"><![CDATA[<p>LLMs refuse do do certain things, <em>but they <a href="https://en.wikipedia.org/wiki/Ablation_(artificial_intelligence)">can be modified</a> to be ~100% obedient and uncensored.</em> This (jailbreaking) process is called ablation and there is a cool <a href="https://www.lesswrong.com/posts/jGuXSZgv6qfdhMCuJ/refusal-in-llms-is-mediated-by-a-single-direction">article</a> on how it works.</p>

<p>If you use <strong>ollama</strong> then you can easily try “abliterated” models, just search for them <a href="https://ollama.com/search?q=abliterated">here</a>.</p>

<p>Now why are they called “abliterated” and not “ablated” models? Simply: abliteration = ablation + obliteration.</p>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[AI Generated Image]]></title>
    <link href="http://www.lukaszielinski.de/blog/posts/2025/02/28/a-generated-image/"/>
    <updated>2025-02-28T13:00:00+00:00</updated>
    <id>http://www.lukaszielinski.de/blog/posts/2025/02/28/a-generated-image</id>
    <content type="html"><![CDATA[<p>When I have to wait for something I sometimes use AI to create images. This is one of them.</p>

<p><img src="https://www.lukaszielinski.de/blog/images/desert_planet_ai.jpg" alt="Desert Planet" style="width:500px;" /></p>

<p>It is fun, but it is very difficult to get precise results.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Mini-Guide: How to run Pi-Hole on a Synology NAS]]></title>
    <link href="http://www.lukaszielinski.de/blog/posts/2025/02/27/pihole-on-synology-nas/"/>
    <updated>2025-02-27T15:15:00+00:00</updated>
    <id>http://www.lukaszielinski.de/blog/posts/2025/02/27/pihole-on-synology-nas</id>
    <content type="html"><![CDATA[<p>I installed <a href="https://en.wikipedia.org/wiki/Pi-hole">Pi-hole</a>, the adblocking DNS server, on my Synology NAS machine, and since it wasn’t as straightforward as I had hoped, here’s a mini guide that I want to share.</p>

<h2 id="step-1-install-container-manager">Step 1: Install Container Manager</h2>

<p><img src="https://www.lukaszielinski.de/blog/images/synology_container_manager.jpg" alt="Container Manager" style="width:200px;" /></p>

<p>Go to your synology console (for me it’s at <em>http://synology.local:5000</em> in my home network) and install the app “Container Manager”. It allows us to run Docker containers on the NAS.</p>

<p>If you are asked anywhere if it should run as <code>root</code>, say yes.</p>

<h2 id="step-2-create-two-folders">Step 2: Create two folders</h2>

<p>Go to <em>File Station</em> and create those two folders:</p>

<div class="bogus-wrapper"><notextile><figure class="code"> <div class="CodeRay">
  <div class="code"><pre>

/docker/pihole/etc-pihole
/docker/pihole/etc-dnsmasq.d

</pre></div>
</div>
 </figure></notextile></div>

<h2 id="step-3-run-pi-hole-in-a-docker-container">Step 3: Run Pi-hole in a Docker container</h2>

<p>Open <em>Container Manager</em> and create a new <em>project</em>. I have used this YAML-configuration.</p>

<div class="bogus-wrapper"><notextile><figure class="code"> <div class="CodeRay">
  <div class="code"><pre>

services:
  pihole:
    image: pihole/pihole:latest
    network_mode: host
    container_name: PiHole
    restart: unless-stopped
    mem_limit: 1g
    cpu_shares: 90
    environment:
      - PIHOLE_UID=1024
      - PIHOLE_GID=101
      - TZ=Europe/Berlin
      - FTLCONF_webserver_api_password=&lt;SET_YOUR_OWN_PASSWORD_HERE&gt;
      - FTLCONF_webserver_port=8080
      - IPv6=False
      - DNSMASQ_LISTENING=all
      - DNSMASQ_USER=root
    volumes:
      - /volume1/docker/pihole/pihole:/etc/pihole
      - /volume1/docker/pihole/dnsmasq.d:/etc/dnsmasq.d

</pre></div>
</div>
 </figure></notextile></div>

<p>And then run it.</p>

<p>For me this worked, but it could be that your <code>UID</code> and <code>GID</code> are different. Here’s how I found out what mine are:</p>

<h2 id="optional-step-find-uid-and-gid">Optional Step: Find UID and GID</h2>

<p>I connected with ssh into the nas, in my case the command was:</p>

<div class="bogus-wrapper"><notextile><figure class="code"> <div class="CodeRay">
  <div class="code"><pre>

ssh admin@synology.local

</pre></div>
</div>
 </figure></notextile></div>

<p>and then I just ran</p>

<div class="bogus-wrapper"><notextile><figure class="code"> <div class="CodeRay">
  <div class="code"><pre>

id

</pre></div>
</div>
 </figure></notextile></div>

<p>And then just adjust the values accordingly.</p>

<h2 id="final-words">Final words</h2>

<p>By configuring your home router or access point to assign DHCP leases with your Pi-hole DNS server as the primary resolver, any device that requests an IP address (computers, phones, etc.) will automatically begin using your Pi-hole DNS service.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Photo: Winter Sun]]></title>
    <link href="http://www.lukaszielinski.de/blog/posts/2025/02/11/photo-winter-sun/"/>
    <updated>2025-02-11T10:00:00+00:00</updated>
    <id>http://www.lukaszielinski.de/blog/posts/2025/02/11/photo-winter-sun</id>
    <content type="html"><![CDATA[<p><img src="https://www.lukaszielinski.de/blog/images/wintersun.jpg" alt="Winter sun" /></p>

<p>Taken on a sunday in February.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Link: Wikitok]]></title>
    <link href="http://www.lukaszielinski.de/blog/posts/2025/02/06/wikitok/"/>
    <updated>2025-02-06T14:10:00+00:00</updated>
    <id>http://www.lukaszielinski.de/blog/posts/2025/02/06/wikitok</id>
    <content type="html"><![CDATA[<p>Found this TikTok clone today: <a href="https://wikitok.vercel.app/">wikitok.vercel.app</a>.</p>

<p><img src="https://www.lukaszielinski.de/blog/images/wikitok.jpg" alt="WikiTok" style="width:300px;" /></p>

<p>What a fun idea. While scrolling Instagram and TikTok is rumored to make us more stupid, this could actually make us more intelligent.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Using a VPN service isn't fun]]></title>
    <link href="http://www.lukaszielinski.de/blog/posts/2025/02/05/restrictions-for-vpns/"/>
    <updated>2025-02-05T13:20:00+00:00</updated>
    <id>http://www.lukaszielinski.de/blog/posts/2025/02/05/restrictions-for-vpns</id>
    <content type="html"><![CDATA[<p>I’ve subscribed to a VPN service and it’s really not fun to use them. The problem is that Google, Youtube, and other big sites, detect it and then they spam you with Captchas. Dubious security is exchanged for obvious inconvenience.</p>

<p>A much better experience for me was running <a href="https://github.com/trailofbits/algo">Algo</a>. It sets up a VPN on a Digital Ocean server (other options are included, but I use D.O.), and then provides a simple way to set it up on multiple devices using Wireguard config files and qr codes.</p>

<p>The VPN services have the advantage that switching is faster and easier. With Algo I would have to set up my own VPN server each time. But all things considered it’s the better option for me.</p>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[A Map of Germany]]></title>
    <link href="http://www.lukaszielinski.de/blog/posts/2025/01/05/germany/"/>
    <updated>2025-01-05T23:30:00+00:00</updated>
    <id>http://www.lukaszielinski.de/blog/posts/2025/01/05/germany</id>
    <content type="html"><![CDATA[<p>Since I had fun with it yersterday, I decided to create one more tiny web app. This time it’s a map of Germany with some landmarks. I believe it’s useful to learn where things roughly are.</p>

<p><img src="https://www.lukaszielinski.de/blog/images/demap.jpg" alt="A Map of Germany" style="width:500px;" /></p>

<p>This time the LLM did 100% of the coding. I did not have to correct anything manually and the whole process to get the result you see here took about 25 minutes.</p>

<p><a href="http://www.lukaszielinski.de/static/de.html">Click here to open the map</a></p>

<p>(It probably won’t work well on mobile.)</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Star Wars Quiz]]></title>
    <link href="http://www.lukaszielinski.de/blog/posts/2025/01/04/star-wars-quiz/"/>
    <updated>2025-01-04T23:35:00+00:00</updated>
    <id>http://www.lukaszielinski.de/blog/posts/2025/01/04/star-wars-quiz</id>
    <content type="html"><![CDATA[<p>I played around with Google Gemini and chatGPT and wanted to see if I can briefly create a small fun web app.</p>

<p>I could, but when something did not work, it took some light manual tweaking and debugging to tell the LLM exactly what the problem was. But it did about 90% of all the work and the whole thing took about 30 minutes to finish.</p>

<p><a href="http://www.lukaszielinski.de/static/sw.html">Click here to play it</a></p>

<p>And may the Force be with you.</p>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[A Weird Little Trick When Xcode Canvas Preview is Stuck]]></title>
    <link href="http://www.lukaszielinski.de/blog/posts/2023/12/09/a-weird-little-trick-when-xcode-canvas-preview-is-stuck/"/>
    <updated>2023-12-09T17:23:00+00:00</updated>
    <id>http://www.lukaszielinski.de/blog/posts/2023/12/09/a-weird-little-trick-when-xcode-canvas-preview-is-stuck</id>
    <content type="html"><![CDATA[<p>When our SwiftUI app got bigger, the Canvas previews took more and more time to build, until the feature was practically no longer usable. But sometimes I still wanted to wait.</p>

<p>Well, as weird as it sounds, here’s a trick to make it appear faster:</p>

<p>Just go up to the “Product” menu and hover your mouse over the items. When you highlight “Scheme” the Canvas will get unstuck and display immediately.</p>

<p><img src="https://www.lukaszielinski.de/blog/images/canvas_scheme.png" alt="Make Xcode Canvas great again" /></p>

<p>At least this works for me in Xcode 15.0.0.</p>

<p>¯\<em>(ツ)</em>/¯</p>
]]></content>
  </entry>
  
</feed>
