<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>probonas.net</title><link>https://yannis.probonas.net/</link><description>Recent content on probonas.net</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://yannis.probonas.net/index.xml" rel="self" type="application/rss+xml"/><item><title>IP Directory</title><link>https://yannis.probonas.net/projects/ip2c-microservice/</link><pubDate>Sat, 10 Aug 2024 00:00:00 +0000</pubDate><guid>https://yannis.probonas.net/projects/ip2c-microservice/</guid><description>A simple microservice that supports querying and retrieving information for any IP. Supports caching and utilizes a cron job to update the information stored.</description></item><item><title>AI News Briefing for Glance</title><link>https://yannis.probonas.net/projects/glance-ai-briefing/</link><pubDate>Sat, 13 Jun 2026 00:00:00 +0000</pubDate><guid>https://yannis.probonas.net/projects/glance-ai-briefing/</guid><description>AI-curated news from your RSS feeds, right on your Glance dashboard.</description></item><item><title>AI News Briefing: a Glance extension that curates your RSS feeds</title><link>https://yannis.probonas.net/blog/ai-news-briefing-glance/</link><pubDate>Sat, 13 Jun 2026 00:00:00 +0000</pubDate><guid>https://yannis.probonas.net/blog/ai-news-briefing-glance/</guid><description>&lt;script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous">&lt;/script>
&lt;script src=https://yannis.probonas.net/js/load-photoswipe.js>&lt;/script>


&lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.1/photoswipe.min.css" integrity="sha256-sCl5PUOGMLfFYctzDW3MtRib0ctyUvI9Qsmq2wXOeBY=" crossorigin="anonymous" />
&lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.1/default-skin/default-skin.min.css" integrity="sha256-BFeI1V+Vh1Rk37wswuOYn5lsTcaU96hGaI7OUVCLjPc=" crossorigin="anonymous" />
&lt;script src="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.1/photoswipe.min.js" integrity="sha256-UplRCs9v4KXVJvVY+p+RSo5Q4ilAUXh7kpjyIP5odyc=" crossorigin="anonymous">&lt;/script>
&lt;script src="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.1/photoswipe-ui-default.min.js" integrity="sha256-PWHOlUzc96pMc8ThwRIXPn8yH4NOLu42RQ0b9SpnpFk=" crossorigin="anonymous">&lt;/script>


&lt;div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">

&lt;div class="pswp__bg">&lt;/div>

&lt;div class="pswp__scroll-wrap">
 
 &lt;div class="pswp__container">
 &lt;div class="pswp__item">&lt;/div>
 &lt;div class="pswp__item">&lt;/div>
 &lt;div class="pswp__item">&lt;/div>
 &lt;/div>
 
 &lt;div class="pswp__ui pswp__ui--hidden">
 &lt;div class="pswp__top-bar">
 
 &lt;div class="pswp__counter">&lt;/div>
 &lt;button class="pswp__button pswp__button--close" title="Close (Esc)">&lt;/button>
 &lt;button class="pswp__button pswp__button--share" title="Share">&lt;/button>
 &lt;button class="pswp__button pswp__button--fs" title="Toggle fullscreen">&lt;/button>
 &lt;button class="pswp__button pswp__button--zoom" title="Zoom in/out">&lt;/button>
 
 
 &lt;div class="pswp__preloader">
 &lt;div class="pswp__preloader__icn">
 &lt;div class="pswp__preloader__cut">
 &lt;div class="pswp__preloader__donut">&lt;/div>
 &lt;/div>
 &lt;/div>
 &lt;/div>
 &lt;/div>
 &lt;div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
 &lt;div class="pswp__share-tooltip">&lt;/div>
 &lt;/div>
 &lt;button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)">
 &lt;/button>
 &lt;button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)">
 &lt;/button>
 &lt;div class="pswp__caption">
 &lt;div class="pswp__caption__center">&lt;/div>
 &lt;/div>
 &lt;/div>
 &lt;/div>
&lt;/div>

&lt;p>I built a small &lt;a href="https://github.com/glanceapp/glance">Glance&lt;/a> extension that uses AI to curate news from your RSS feeds. It&amp;rsquo;s called &lt;a href="https://github.com/probonas/glance-ai-briefing">AI News Briefing&lt;/a>, and it solves a simple problem: my RSS feeds produce too many headlines, and I only want to see the ones that matter.&lt;/p>

&lt;link rel="stylesheet" href=https://yannis.probonas.net/css/hugo-easy-gallery.css />
&lt;div class="box" >
 &lt;figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
 &lt;div class="img">
 &lt;img itemprop="thumbnail" src="https://yannis.probonas.net/blog/ai-news-briefing-glance/screenshot-home-full.png" />
 &lt;/div>
 &lt;a href="https://yannis.probonas.net/blog/ai-news-briefing-glance/screenshot-home-full.png" itemprop="contentUrl">&lt;/a>
 &lt;figcaption>&lt;h4>The briefing widget on my Glance dashboard&lt;/h4>
 &lt;/figcaption>
 &lt;/figure>
&lt;/div>

&lt;h2 id="how-it-works">How it works&lt;/h2>
&lt;p>The extension runs as a tiny HTTP server that Glance calls on its refresh cycle. On each request, it reads the RSS feeds from your Glance configuration, fetches the latest headlines, and sends them to an LLM (DeepSeek is for now the only provider supported) with a prompt asking it to pick the most significant stories. The LLM returns a ranked list with short summaries, and the extension renders them as styled HTML. Results are cached between refresh cycles so repeated dashboard loads don&amp;rsquo;t trigger unnecessary API calls — the LLM is only queried when the cache expires, keeping things fast and cost-effective.&lt;/p></description></item><item><title>AI-infused software is eating up the world</title><link>https://yannis.probonas.net/blog/ai-infused-software/</link><pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate><guid>https://yannis.probonas.net/blog/ai-infused-software/</guid><description>&lt;p class="indent">Ever since Marc Andreessen coined the now-famous quote in 2011, millions of software companies have been established. Low interest rates led to an excess of available capital, and the relatively low cost of building software compared with most other industries drove that growth for the most part. But what enabled this growth in the first place was the fact that computing was, at its core, cheap and that costs were predictable. With AI, this has changed.&lt;/p></description></item><item><title>Practical tips for the Superpowers workflow</title><link>https://yannis.probonas.net/blog/superpowers-practical-tips/</link><pubDate>Sun, 03 May 2026 00:00:00 +0000</pubDate><guid>https://yannis.probonas.net/blog/superpowers-practical-tips/</guid><description>How to turn Superpowers from a bundle of agent skills into a daily workflow: gates, composition, and habits that stop thrash.</description></item><item><title>I Vibe Coded a Windows XP Hugo Theme</title><link>https://yannis.probonas.net/blog/hugo-theme-windowsxp/</link><pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate><guid>https://yannis.probonas.net/blog/hugo-theme-windowsxp/</guid><description>A Hugo theme that recreates the Windows XP Luna Blue desktop in the browser, with a Windows Mobile 2003 mode for phones.</description></item><item><title>Windows XP Hugo Theme</title><link>https://yannis.probonas.net/projects/hugo-theme-windowsxp/</link><pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate><guid>https://yannis.probonas.net/projects/hugo-theme-windowsxp/</guid><description>A Hugo theme that recreates the Windows XP Luna Blue desktop in the browser — draggable windows, start menu, taskbar, Explorer views, and a Windows Mobile 2003 mode for mobile.</description></item><item><title>Mirror a GitLab Repo to GitHub via SSH</title><link>https://yannis.probonas.net/blog/mirror-gitlab-to-github-ssh/</link><pubDate>Sat, 26 Jul 2025 00:00:00 +0000</pubDate><guid>https://yannis.probonas.net/blog/mirror-gitlab-to-github-ssh/</guid><description>A concise, step-by-step guide to automatically mirror your GitLab repositories to GitHub using SSH.</description></item><item><title>Pipeline ETL</title><link>https://yannis.probonas.net/projects/pipeline/</link><pubDate>Tue, 06 Jun 2023 00:00:00 +0000</pubDate><guid>https://yannis.probonas.net/projects/pipeline/</guid><description>Getty&amp;rsquo;s Institute ETL workflow, producing semantically enriched information on artworks and their provenance from legacy systems.</description></item><item><title>bias goggles: Exploring the Bias of Web Domains Through the Eyes of Users</title><link>https://yannis.probonas.net/publication/conference-paper/</link><pubDate>Sun, 01 Jan 2017 00:00:00 +0000</pubDate><guid>https://yannis.probonas.net/publication/conference-paper/</guid><description/></item><item><title>Browser plugin - Bias Goggles</title><link>https://yannis.probonas.net/projects/bias-googles/</link><pubDate>Fri, 20 Mar 2020 00:00:00 +0000</pubDate><guid>https://yannis.probonas.net/projects/bias-googles/</guid><description>A browser plugin that allowed users to explore the bias of the sites they visited, using both predefined and custom criteria.</description></item><item><title>about me</title><link>https://yannis.probonas.net/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://yannis.probonas.net/about/</guid><description>&lt;p>Hello! I&amp;rsquo;m Yannis Probonas (pronounced: [yaˈ-nis pɾobonaˈs]), a software engineer based in Heraklion, Crete. I currently work at &lt;a href="https://fairlo.se/">Fairlo&lt;/a>.
I previously worked at &lt;a href="https://optasia.com/">Optasia&lt;/a>, where I was involved in the development of the company&amp;rsquo;s TELCO-specific microservices.
Early in my career, I spent 2 years designing and implementing ad-hoc ETL solutions for academic institutions,
where I was responsible for developing the &lt;a href="https://www.getty.edu/research/">Getty&lt;/a> &lt;a href="https://github.com/thegetty/pipeline">pipeline&lt;/a>, which produced semantically enriched information
on artworks and their provenance from legacy systems.&lt;/p></description></item><item><title>Curriculum Vitae</title><link>https://yannis.probonas.net/cv/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://yannis.probonas.net/cv/</guid><description>&lt;p>Download my CV:&lt;/p>
&lt;a class="btn" href="https://yannis.probonas.net/yannis-probonas-2025-cv.pdf" role="button">Download CV (PDF, 154 KB)&lt;/a>

&lt;p>&lt;em>Last updated: 2025&lt;/em>&lt;/p></description></item></channel></rss>