<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>The Log — Emre Yakut</title>
  <link>https://emreyakut.com/blog/en/</link>
  <atom:link href="https://emreyakut.com/blog/en/feed.xml" rel="self" type="application/rss+xml"/>
  <description>Emre Yakut’s working log. Metering systems, CRM, customer portals, mobile apps, simulations and servers — named, linked and measured. A record of what I actually built through 2026.</description>
  <language>en</language>
  <lastBuildDate>Tue, 15 Sep 2026 06:00:00 GMT</lastBuildDate>
  <item>
    <title>Why almost everything I build has “sim” in the name</title>
    <link>https://emreyakut.com/blog/en/my-habit-of-simulating-everything/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/my-habit-of-simulating-everything/</guid>
    <pubDate>Tue, 15 Sep 2026 06:00:00 GMT</pubDate>
    <description>Fly4cast, Mutfaksim, ArenaSim, QuantDesk, StageLightning. They look like different projects. They are not. All of them try to say what will happen to something that has not happened yet.</description>
    <category>Simulation</category>
    <category>Systems</category>
  </item>
  <item>
    <title>If it cannot be measured, it says “not verified”</title>
    <link>https://emreyakut.com/blog/en/if-it-cannot-be-measured-it-says-not-verified/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/if-it-cannot-be-measured-it-says-not-verified/</guid>
    <pubDate>Mon, 14 Sep 2026 06:00:00 GMT</pubDate>
    <description>I ran the same technical audit by hand for every client: two hours, missing something each time. I turned it into an engine. The hard part was not the scoring formula — it was deciding not to produce a number.</description>
    <category>Metering</category>
    <category>Systems</category>
  </item>
  <item>
    <title>What can you cook with what you have — and a site that publishes itself</title>
    <link>https://emreyakut.com/blog/en/a-site-that-publishes-itself/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/a-site-that-publishes-itself/</guid>
    <pubDate>Sun, 13 Sep 2026 06:00:00 GMT</pubDate>
    <description>Mutfaksim tells you what comes out of whatever is in your fridge. Then moving its content to social media by hand felt absurd, so the site started publishing itself — along with three bugs.</description>
    <category>Simulation</category>
    <category>Systems</category>
    <category>Debugging</category>
  </item>
  <item>
    <title>“Will this fit instead of that one?” — a compatibility engine</title>
    <link>https://emreyakut.com/blog/en/will-this-part-fit-instead-of-that-one/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/will-this-part-fit-instead-of-that-one/</guid>
    <pubDate>Sat, 12 Sep 2026 06:00:00 GMT</pubDate>
    <description>In a technical product shop the most common question is not price. It is “my model is discontinued, what can I fit instead?”. I built an engine to answer it — and shipped it switched off.</description>
    <category>Portals</category>
    <category>Systems</category>
  </item>
  <item>
    <title>Things that get solved by a fire</title>
    <link>https://emreyakut.com/blog/en/things-that-get-solved-by-a-fire/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/things-that-get-solved-by-a-fire/</guid>
    <pubDate>Fri, 11 Sep 2026 06:00:00 GMT</pubDate>
    <description>I did not make my best architectural decisions at a screen. Most of them arrived somewhere with no phone signal, by a fire, while doing nothing at all.</description>
    <category>Life</category>
  </item>
  <item>
    <title>“The site won’t open” and “the payment isn’t showing”: two root causes</title>
    <link>https://emreyakut.com/blog/en/the-site-wont-open-two-root-causes/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/the-site-wont-open-two-root-causes/</guid>
    <pubDate>Thu, 10 Sep 2026 06:00:00 GMT</pubDate>
    <description>Two complaints in one week. One was “the site never opens, but I can get in”; the other “the customer paid and it isn’t in the system”. Both had causes in places that produce no error.</description>
    <category>Servers</category>
    <category>Debugging</category>
  </item>
  <item>
    <title>Don’t walk the disk, read its ledger — and two tools that tidy my desk</title>
    <link>https://emreyakut.com/blog/en/dont-walk-the-disk-read-its-ledger/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/dont-walk-the-disk-read-its-ledger/</guid>
    <pubDate>Wed, 09 Sep 2026 06:00:00 GMT</pubDate>
    <description>I wrote a disk analyser. Walking folder by folder took nine minutes to scan 1.4 million files. NTFS already keeps a record of every one of them in a single table.</description>
    <category>Protocol</category>
    <category>Systems</category>
  </item>
  <item>
    <title>The watchman said “all clear”, because it was counting the wrong stage</title>
    <link>https://emreyakut.com/blog/en/the-watchman-was-counting-the-wrong-stage/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/the-watchman-was-counting-the-wrong-stage/</guid>
    <pubDate>Tue, 08 Sep 2026 06:00:00 GMT</pubDate>
    <description>There was a mail loop on the server and my monitoring script had been reporting “bounces = 0” for a month. The number was correct. What it measured was wrong.</description>
    <category>Servers</category>
    <category>Protocol</category>
    <category>Debugging</category>
  </item>
  <item>
    <title>Who spoke, where from, what now — three separate questions</title>
    <link>https://emreyakut.com/blog/en/who-spoke-where-from-what-now/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/who-spoke-where-from-what-now/</guid>
    <pubDate>Mon, 07 Sep 2026 06:00:00 GMT</pubDate>
    <description>NEO is an always-listening assistant at home. My first mistake was treating those three as one question. Splitting them raised accuracy and made it visible where the system was going wrong.</description>
    <category>Sound &amp; light</category>
    <category>AI &amp; Claude</category>
    <category>Systems</category>
  </item>
  <item>
    <title>Settings that are silently ignored, and 8.9 seconds becoming 1.8</title>
    <link>https://emreyakut.com/blog/en/flags-that-are-silently-ignored/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/flags-that-are-silently-ignored/</guid>
    <pubDate>Sun, 06 Sep 2026 06:00:00 GMT</pubDate>
    <description>My voice assistant’s brain was far too slow. I was passing settings as command-line flags and all of them appeared to be accepted. Reading the start-up event showed the truth: none had been applied.</description>
    <category>AI &amp; Claude</category>
    <category>Debugging</category>
  </item>
  <item>
    <title>I built my own server and put the house behind a tunnel</title>
    <link>https://emreyakut.com/blog/en/my-own-server-and-tunnel/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/my-own-server-and-tunnel/</guid>
    <pubDate>Sat, 05 Sep 2026 06:00:00 GMT</pubDate>
    <description>My personal projects had lived on a client server for years. I separated them: my own VPS, my own VPN. PC, phone and a VR headset now come in over the same tunnel — and the reason was not technical.</description>
    <category>Servers</category>
    <category>Systems</category>
  </item>
  <item>
    <title>I wrote a trading engine that decides on its own</title>
    <link>https://emreyakut.com/blog/en/an-engine-that-trades-on-its-own/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/an-engine-that-trades-on-its-own/</guid>
    <pubDate>Fri, 04 Sep 2026 06:00:00 GMT</pubDate>
    <description>QuantDesk watches the market around the clock, decides which regime it is in, enables the strategies that suit it, and rejects any trade whose expectancy cannot pay the fees. Its most valuable part is not the strategy — it is the measurement.</description>
    <category>Simulation</category>
    <category>Metering</category>
  </item>
  <item>
    <title>I wrote my own captcha — five layers, four of them invisible</title>
    <link>https://emreyakut.com/blog/en/i-wrote-my-own-captcha/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/i-wrote-my-own-captcha/</guid>
    <pubDate>Thu, 03 Sep 2026 06:00:00 GMT</pubDate>
    <description>I did not want an off-the-shelf bot shield: it exposes the user to a third party, does not work in some countries, and image puzzles tire humans as much as bots.</description>
    <category>Systems</category>
  </item>
  <item>
    <title>The root of determinism: the language’s own randomness</title>
    <link>https://emreyakut.com/blog/en/the-root-of-determinism/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/the-root-of-determinism/</guid>
    <pubDate>Wed, 02 Sep 2026 06:00:00 GMT</pubDate>
    <description>In ArenaSim the server and the browser had to play the same match. I gave both the same seed and got different results. The culprit was not my code.</description>
    <category>Simulation</category>
    <category>Debugging</category>
  </item>
  <item>
    <title>The spreadsheet was right, the system was wrong</title>
    <link>https://emreyakut.com/blog/en/the-spreadsheet-was-right-the-system-was-wrong/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/the-spreadsheet-was-right-the-system-was-wrong/</guid>
    <pubDate>Mon, 31 Aug 2026 06:00:00 GMT</pubDate>
    <description>Automating a cash-flow report, the ERP and the hand-kept spreadsheet disagreed. My reflex was to distrust the spreadsheet. Going line by line, my assumption collapsed.</description>
    <category>Metering</category>
    <category>Debugging</category>
  </item>
  <item>
    <title>I have no Mac, and an iOS app</title>
    <link>https://emreyakut.com/blog/en/i-have-no-mac-and-an-ios-app/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/i-have-no-mac-and-an-ios-app/</guid>
    <pubDate>Fri, 28 Aug 2026 06:00:00 GMT</pubDate>
    <description>I wrote Fly4cast’s iOS build on Windows, compiled it in the cloud and shipped it to TestFlight. The hard part was not the code — it was signing. Signing is not a build step, it is a chain of identity.</description>
    <category>Mobile</category>
    <category>Debugging</category>
  </item>
  <item>
    <title>I caught a hallucination live, and it became a product rule</title>
    <link>https://emreyakut.com/blog/en/catching-a-hallucination-live/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/catching-a-hallucination-live/</guid>
    <pubDate>Tue, 25 Aug 2026 06:00:00 GMT</pubDate>
    <description>We were building a conversational layer over an ERP. The model proposed an endpoint that does not exist — fluent, plausible, entirely invented. That moment produced the product’s most important rule.</description>
    <category>AI &amp; Claude</category>
    <category>Systems</category>
  </item>
  <item>
    <title>My instrument mistook silence for reverb</title>
    <link>https://emreyakut.com/blog/en/my-instrument-mistook-silence-for-reverb/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/my-instrument-mistook-silence-for-reverb/</guid>
    <pubDate>Mon, 24 Aug 2026 06:00:00 GMT</pubDate>
    <description>I wrote a tool to measure my room’s reverberation time. It produced sensible numbers. Then I made the room completely silent and it kept producing the same numbers.</description>
    <category>Metering</category>
    <category>Sound &amp; light</category>
    <category>Debugging</category>
  </item>
  <item>
    <title>render(t): no accumulated state, so it can rewind</title>
    <link>https://emreyakut.com/blog/en/render-t-a-pure-function-of-time/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/render-t-a-pure-function-of-time/</guid>
    <pubDate>Sat, 22 Aug 2026 06:00:00 GMT</pubDate>
    <description>The light show had to rewind together with the track. What made that work was not a complex synchronisation scheme but a single rule: no effect may remember the previous frame.</description>
    <category>Simulation</category>
    <category>Sound &amp; light</category>
  </item>
  <item>
    <title>Nobody answers anybody on a DMX cable</title>
    <link>https://emreyakut.com/blog/en/nobody-answers-anybody-on-a-dmx-cable/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/nobody-answers-anybody-on-a-dmx-cable/</guid>
    <pubDate>Fri, 21 Aug 2026 06:00:00 GMT</pubDate>
    <description>My lighting interface refused to talk to any software. I swapped its driver, wrote raw bytes at it, and the lights came on. Why a forty-year-old protocol is still standing.</description>
    <category>Protocol</category>
    <category>Sound &amp; light</category>
  </item>
  <item>
    <title>Send fewer commands to make the lights faster</title>
    <link>https://emreyakut.com/blog/en/send-fewer-commands-to-make-lights-faster/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/send-fewer-commands-to-make-lights-faster/</guid>
    <pubDate>Thu, 20 Aug 2026 06:00:00 GMT</pubDate>
    <description>I wired my bulbs to the music. A colour command on every beat. The lights fell behind, then stalled, then started flashing at random. The fix was not sending faster.</description>
    <category>Sound &amp; light</category>
    <category>Protocol</category>
    <category>Debugging</category>
  </item>
  <item>
    <title>Scanning my home network: six minutes on the wrong layer</title>
    <link>https://emreyakut.com/blog/en/pick-the-right-layer-arp/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/pick-the-right-layer-arp/</guid>
    <pubDate>Wed, 19 Aug 2026 06:00:00 GMT</pubDate>
    <description>I wanted to list the devices on my own network. I scanned with TCP — six minutes later it was still at 18%. Then I dropped one layer and it finished in three seconds.</description>
    <category>Protocol</category>
    <category>Debugging</category>
  </item>
  <item>
    <title>Decoding a flight log: same extension, two different worlds</title>
    <link>https://emreyakut.com/blog/en/decoding-a-flight-log/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/decoding-a-flight-log/</guid>
    <pubDate>Mon, 17 Aug 2026 06:00:00 GMT</pubDate>
    <description>The .txt a drone leaves behind is not plain text. Older versions you can decode on your own machine; newer ones require a key from the manufacturer’s server. One version byte decides which.</description>
    <category>Protocol</category>
    <category>Mobile</category>
  </item>
  <item>
    <title>Ninety pages, three languages, one source</title>
    <link>https://emreyakut.com/blog/en/ninety-pages-three-languages-one-source/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/ninety-pages-three-languages-one-source/</guid>
    <pubDate>Thu, 13 Aug 2026 06:00:00 GMT</pubDate>
    <description>A mechanical contractor’s corporate site came to ninety pages — Turkish, English, German. I did not write ninety files. I generated ninety files.</description>
    <category>Systems</category>
  </item>
  <item>
    <title>Sixteen cells vanished: the generic class name trap</title>
    <link>https://emreyakut.com/blog/en/sixteen-cells-vanished/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/sixteen-cells-vanished/</guid>
    <pubDate>Sun, 09 Aug 2026 06:00:00 GMT</pubDate>
    <description>The sequencer cells in my site’s groovebox went invisible one morning. No JavaScript error, nothing in the console. The cause was two CSS classes with the same name in two different files.</description>
    <category>Debugging</category>
  </item>
  <item>
    <title>Press the button before you write the proposal</title>
    <link>https://emreyakut.com/blog/en/press-the-button-before-you-write-the-proposal/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/press-the-button-before-you-write-the-proposal/</guid>
    <pubDate>Wed, 05 Aug 2026 06:00:00 GMT</pubDate>
    <description>I was preparing a draft for a luxury car service. I opened their site, clicked “Book an appointment”, and PHP errors poured onto the screen. That became the subject of the whole proposal.</description>
    <category>Field</category>
    <category>Debugging</category>
  </item>
  <item>
    <title>“Can I fly?” is a decision, not a score</title>
    <link>https://emreyakut.com/blog/en/can-i-fly-is-not-a-score/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/can-i-fly-is-not-a-score/</guid>
    <pubDate>Tue, 28 Jul 2026 06:00:00 GMT</pubDate>
    <description>The hard part of Fly4cast was not fetching weather data. It was saying what the wind measured at ground level will be at 100 metres — and not collapsing that answer into a single percentage.</description>
    <category>Metering</category>
    <category>Mobile</category>
    <category>Simulation</category>
  </item>
  <item>
    <title>From a 77-page PDF to 68 products</title>
    <link>https://emreyakut.com/blog/en/from-a-catalogue-pdf-to-68-products/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/from-a-catalogue-pdf-to-68-products/</guid>
    <pubDate>Thu, 23 Jul 2026 06:00:00 GMT</pubDate>
    <description>A home-textile manufacturer’s only decent digital asset was a 49 MB catalogue PDF. I extracted the product tree out of it — and walked into two traps.</description>
    <category>Metering</category>
    <category>Field</category>
  </item>
  <item>
    <title>How I actually work with AI — a terminal, not a chat box</title>
    <link>https://emreyakut.com/blog/en/how-i-actually-work-with-ai/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/how-i-actually-work-with-ai/</guid>
    <pubDate>Sun, 12 Jul 2026 06:00:00 GMT</pubDate>
    <description>I shipped several times more this year than in previous ones. Not because I work more. I moved AI out of a chat window and into the projects, the file system and the terminal.</description>
    <category>AI &amp; Claude</category>
    <category>Systems</category>
  </item>
  <item>
    <title>Let them fill in the decision, not the form</title>
    <link>https://emreyakut.com/blog/en/let-them-fill-in-the-decision-not-the-form/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/let-them-fill-in-the-decision-not-the-form/</guid>
    <pubDate>Wed, 08 Jul 2026 06:00:00 GMT</pubDate>
    <description>Writing the request form for an inspection laboratory, I realised something: people do not know the answer to “which inspection type do you want?”. They do not need to — the system can work it out.</description>
    <category>Field</category>
    <category>Systems</category>
  </item>
  <item>
    <title>Rakı has no mathematics, but it has an order</title>
    <link>https://emreyakut.com/blog/en/raki-has-an-order/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/raki-has-an-order/</guid>
    <pubDate>Mon, 06 Jul 2026 06:00:00 GMT</pubDate>
    <description>One measure of rakı, two of water, ice last. That is not tradition, it is physics — and it is exactly the class of bug I had been chasing all week.</description>
    <category>Life</category>
  </item>
  <item>
    <title>Twenty-nine commits in a day: building a dealership platform from the bottom</title>
    <link>https://emreyakut.com/blog/en/nine-layers-in-one-day/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/nine-layers-in-one-day/</guid>
    <pubDate>Fri, 03 Jul 2026 06:00:00 GMT</pubDate>
    <description>I built a car dealership’s operating system from scratch. I started at the schema, not the screen, and finished nine layers in one day — each one working on its own. Not out of haste; the opposite.</description>
    <category>Systems</category>
  </item>
  <item>
    <title>I taught my site to think</title>
    <link>https://emreyakut.com/blog/en/i-taught-my-site-to-think/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/i-taught-my-site-to-think/</guid>
    <pubDate>Thu, 02 Jul 2026 06:00:00 GMT</pubDate>
    <description>I put a “thought simulator” in the middle of my own site. You drop in a concept — “Billing” — and the system decomposes it into what it needs. Eight steps later you arrive at “sleep”.</description>
    <category>Simulation</category>
    <category>Systems</category>
  </item>
  <item>
    <title>Watching how the system is actually used</title>
    <link>https://emreyakut.com/blog/en/watching-how-the-system-is-actually-used/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/watching-how-the-system-is-actually-used/</guid>
    <pubDate>Wed, 24 Jun 2026 06:00:00 GMT</pubDate>
    <description>Thirty people work inside a CRM. Which screens are really used, where does someone get stuck, which three steps repeat every single day? Nobody knew. I built a panel — then I gave that data to an AI.</description>
    <category>Systems</category>
    <category>AI &amp; Claude</category>
  </item>
  <item>
    <title>I wrote an admin panel without a framework</title>
    <link>https://emreyakut.com/blog/en/i-wrote-a-console-because-a-panel-was-needed/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/i-wrote-a-console-because-a-panel-was-needed/</guid>
    <pubDate>Thu, 18 Jun 2026 06:00:00 GMT</pubDate>
    <description>A server was needed to issue licences to field terminals. Instead of installing a framework and pulling 40 MB of dependencies I wrote six classes. Under 900 lines, and the same code still runs.</description>
    <category>Systems</category>
    <category>Field</category>
  </item>
  <item>
    <title>Moving two thousand invoices into the background</title>
    <link>https://emreyakut.com/blog/en/moving-two-thousand-invoices-into-the-background/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/moving-two-thousand-invoices-into-the-background/</guid>
    <pubDate>Thu, 11 Jun 2026 06:00:00 GMT</pubDate>
    <description>At period close somebody has to press “render all invoices to PDF”. The server carries it for four minutes, then the browser gives up and nobody knows what happened. First I measured where it was actually stuck.</description>
    <category>Systems</category>
    <category>Metering</category>
  </item>
  <item>
    <title>Moving a ten-year-old system without forking it</title>
    <link>https://emreyakut.com/blog/en/moving-a-ten-year-old-system-without-forking-it/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/moving-a-ten-year-old-system-without-forking-it/</guid>
    <pubDate>Tue, 02 Jun 2026 06:00:00 GMT</pubDate>
    <description>The CRM ran on PHP 5.6 and had to reach 8.3. The classic route is to branch a copy and modernise that — which had already been tried here and died at 85%. This time I did not make a copy.</description>
    <category>Systems</category>
    <category>Debugging</category>
  </item>
  <item>
    <title>“A DN20 clamp-on ultrasonic water meter” — searching a catalogue in a sentence</title>
    <link>https://emreyakut.com/blog/en/searching-a-catalogue-in-plain-language/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/searching-a-catalogue-in-plain-language/</guid>
    <pubDate>Thu, 21 May 2026 06:00:00 GMT</pubDate>
    <description>A salesperson describes the product but does not know the code. The catalogue has 4,000 items. I closed the gap with AI — without ever letting the AI invent a product.</description>
    <category>AI &amp; Claude</category>
    <category>Systems</category>
  </item>
  <item>
    <title>How a heating bill is actually calculated</title>
    <link>https://emreyakut.com/blog/en/how-a-heating-bill-is-actually-calculated/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/how-a-heating-bill-is-actually-calculated/</guid>
    <pubDate>Sat, 09 May 2026 06:00:00 GMT</pubDate>
    <description>Everyone in the building has their own meter read. Then they see the bill and say “I did not burn that much”. Both are true — because half the bill comes from your meter and half from the building’s total.</description>
    <category>Metering</category>
    <category>Systems</category>
  </item>
  <item>
    <title>I rewrote the portal that shows the bill</title>
    <link>https://emreyakut.com/blog/en/rewriting-the-resident-portal/</link>
    <guid isPermaLink="true">https://emreyakut.com/blog/en/rewriting-the-resident-portal/</guid>
    <pubDate>Wed, 22 Apr 2026 06:00:00 GMT</pubDate>
    <description>Someone living in a flat wants to see their heating bill. Sounds simple. But the bill lives in another system, the meter in another table, and a tenant who moved out must have their history frozen. That is why I rewrote it from scratch.</description>
    <category>Portals</category>
    <category>Systems</category>
  </item>
</channel>
</rss>
