It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: http://indiewebcamp.com/irc/feed.atom

  1. <!DOCTYPE html>
  2. <html class="h-feed">
  3. <head>
  4.  <meta charset="utf-8"/>
  5.  <title class="p-name">#indieweb 2025-07-11</title>
  6.  
  7.  <meta name="keywords" content="#indieweb"/>
  8.        <meta name="robots" content="noindex,follow"/>
  9.  
  10.  <script src="/assets/jquery-3.1.0.min.js"></script>
  11.  <script src="/assets/cookie.js"></script>
  12.  
  13.  <link rel="stylesheet" type="text/css" href="/materialize/css/materialize.min.css"/>
  14.  <script src="/materialize/js/materialize.min.js"></script>
  15.  <script src="/assets/moment.min.js"></script>
  16.  
  17.  <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"/>
  18.  
  19.  <link rel="stylesheet" type="text/css" href="/assets/styles.css"/>
  20.  
  21.  <meta name="viewport" content="width=device-width,initial-scale=1"/>
  22.  <meta name="generator" content="https://github.com/indieweb/chat.indieweb.org"/>
  23.  <link rel="pingback" href="https://webmention.io/indiewebcamp/xmlrpc"/>
  24.  <link href="https://webmention.io/indiewebcamp/webmention" rel="webmention"/>
  25.  <script src="/assets/pushstream.js"></script>
  26.  <script src="/assets/streaming.js"></script>
  27.  
  28.  <link rel="apple-touch-icon-precomposed" href="/assets/logo/indieweb.png">
  29.  
  30.  <script type="application/ld+json">
  31.  {
  32.    "@context": "http://schema.org",
  33.    "@type": "WebSite",
  34.    "url": "https://chat.indieweb.org/",
  35.    "potentialAction": {
  36.      "@type": "SearchAction",
  37.      "target": "https://indiechat.search.cweiske.de/?q={search_term_string}",
  38.      "query-input": "required name=search_term_string"
  39.    }
  40.  }
  41.  </script>
  42.  <link rel="search" title="search chat.indieweb.org" type="application/opensearchdescription+xml" href="/opensearchdescription.php"/>
  43. </head>
  44. <body>
  45. <ul class="side-nav fixed" id="slide-out">
  46.  <li><div class="userView">
  47.    <img src="/assets/user-bkg.jpg" class="background"/>
  48.    <a href="#"><img class="circle" src="/assets/logo/indieweb.png"/></a>
  49.    <a><span class="white-text name" style="font-size: 18pt;">#indieweb</span></a>
  50.    <a><span class="white-text email">2025-07-11</span></a>
  51.  </div></li>
  52.  
  53.  <li style="display: flex; flex-direction: row;">
  54.    <div style="flex: 1 1;">
  55.              <a href="./2025-07-10" rel="prev">Prev</a>
  56.          </div>
  57.    <div style="flex: 1 1;">
  58.              <a class="disabled">Next</a>
  59.          </div>
  60.  </li>
  61.  
  62.  <li class="divider"></li>
  63.  
  64.      <li class="channel current" data-channel="#indieweb">
  65.      <a href="https://chat.indieweb.org/indieweb/">#indieweb</a>
  66.    </li>
  67.      <li class="channel " data-channel="#indieweb-dev">
  68.      <a href="https://chat.indieweb.org/dev/">#dev</a>
  69.    </li>
  70.      <li class="channel " data-channel="#indieweb-wordpress">
  71.      <a href="https://chat.indieweb.org/wordpress/">#wordpress</a>
  72.    </li>
  73.      <li class="channel " data-channel="#indieweb-meta">
  74.      <a href="https://chat.indieweb.org/meta/">#meta</a>
  75.    </li>
  76.      <li class="channel " data-channel="#indieweb-stream">
  77.      <a href="https://chat.indieweb.org/stream/">#stream</a>
  78.    </li>
  79.      <li class="channel " data-channel="#microformats">
  80.      <a href="https://chat.indieweb.org/microformats/">#microformats</a>
  81.    </li>
  82.      <li class="channel " data-channel="#indieweb-known">
  83.      <a href="https://chat.indieweb.org/known/">#known</a>
  84.    </li>
  85.      <li class="channel " data-channel="#indieweb-events">
  86.      <a href="https://chat.indieweb.org/events/">#events</a>
  87.    </li>
  88.  
  89.  <li class="divider"></li>
  90.  
  91.  <li class="search">
  92.    <form action="https://indiechat.search.cweiske.de/" method="get">
  93.      <div style="position:relative">
  94.        <input type="text" name="q" id="search" placeholder="Search"/>
  95.        <button class="material-icons" type="submit">search</button>
  96.      </div>
  97.    </form>
  98.  </li>
  99.  <li>
  100.    <form action="/set-timezone.php" method="post" id="set-timezone-form">
  101.      <div class="input-field col s12">
  102.        <select class="browser-default" id="set-timezone" name="tz" onchange="document.getElementById('set-timezone-form').submit()">
  103.                      <option value="-5 GMT" >-5 GMT</option>
  104.                      <option value="Africa/Accra" >Africa/Accra</option>
  105.                      <option value="Africa/Tunis" >Africa/Tunis</option>
  106.                      <option value="America/Boise" >America/Boise</option>
  107.                      <option value="America/Chicago" >America/Chicago</option>
  108.                      <option value="America/Denver" >America/Denver</option>
  109.                      <option value="America/Detroit" >America/Detroit</option>
  110.                      <option value="America/Edmonton" >America/Edmonton</option>
  111.                      <option value="America/Halifax" >America/Halifax</option>
  112.                      <option value="America/Los_Angeles" >America/Los_Angeles</option>
  113.                      <option value="America/Los_angeles" >America/Los_angeles</option>
  114.                      <option value="America/Mexico_City" >America/Mexico_City</option>
  115.                      <option value="America/Monterrey" >America/Monterrey</option>
  116.                      <option value="America/Montreal" >America/Montreal</option>
  117.                      <option value="America/New_York" >America/New_York</option>
  118.                      <option value="America/Phoenix" >America/Phoenix</option>
  119.                      <option value="America/Santiago" >America/Santiago</option>
  120.                      <option value="America/Sao_Paulo" >America/Sao_Paulo</option>
  121.                      <option value="America/Toronto" >America/Toronto</option>
  122.                      <option value="America/Vancouver" >America/Vancouver</option>
  123.                      <option value="Asia/Bangkok" >Asia/Bangkok</option>
  124.                      <option value="Asia/Calcutta" >Asia/Calcutta</option>
  125.                      <option value="Asia/Kolkata" >Asia/Kolkata</option>
  126.                      <option value="Asia/Kuala_Lumpur" >Asia/Kuala_Lumpur</option>
  127.                      <option value="Asia/Kuching" >Asia/Kuching</option>
  128.                      <option value="Asia/Manila" >Asia/Manila</option>
  129.                      <option value="Asia/Seoul" >Asia/Seoul</option>
  130.                      <option value="Asia/Tehran" >Asia/Tehran</option>
  131.                      <option value="Asia/Tokyo" >Asia/Tokyo</option>
  132.                      <option value="Atlantic/Faroe" >Atlantic/Faroe</option>
  133.                      <option value="Atlantic/Reykjavik" >Atlantic/Reykjavik</option>
  134.                      <option value="Australia/Adelaide" >Australia/Adelaide</option>
  135.                      <option value="Australia/Brisbane" >Australia/Brisbane</option>
  136.                      <option value="Australia/Melbourne" >Australia/Melbourne</option>
  137.                      <option value="Australia/Perth" >Australia/Perth</option>
  138.                      <option value="Australia/Queensland" >Australia/Queensland</option>
  139.                      <option value="Australia/Sydney" >Australia/Sydney</option>
  140.                      <option value="CET" >CET</option>
  141.                      <option value="Canada/Eastern" >Canada/Eastern</option>
  142.                      <option value="Europe/Amsterdam" >Europe/Amsterdam</option>
  143.                      <option value="Europe/Athens" >Europe/Athens</option>
  144.                      <option value="Europe/Belfast" >Europe/Belfast</option>
  145.                      <option value="Europe/Belgrade" >Europe/Belgrade</option>
  146.                      <option value="Europe/Berlin" >Europe/Berlin</option>
  147.                      <option value="Europe/Brussels" >Europe/Brussels</option>
  148.                      <option value="Europe/Budapest" >Europe/Budapest</option>
  149.                      <option value="Europe/Copenhagen" >Europe/Copenhagen</option>
  150.                      <option value="Europe/Dublin" >Europe/Dublin</option>
  151.                      <option value="Europe/Helsinki" >Europe/Helsinki</option>
  152.                      <option value="Europe/Istanbul" >Europe/Istanbul</option>
  153.                      <option value="Europe/Lisbon" >Europe/Lisbon</option>
  154.                      <option value="Europe/London" >Europe/London</option>
  155.                      <option value="Europe/Luxembourg" >Europe/Luxembourg</option>
  156.                      <option value="Europe/Madrid" >Europe/Madrid</option>
  157.                      <option value="Europe/Moscow" >Europe/Moscow</option>
  158.                      <option value="Europe/Paris" >Europe/Paris</option>
  159.                      <option value="Europe/Prague" >Europe/Prague</option>
  160.                      <option value="Europe/Rome" >Europe/Rome</option>
  161.                      <option value="Europe/Stockholm" >Europe/Stockholm</option>
  162.                      <option value="Europe/Zurich" >Europe/Zurich</option>
  163.                      <option value="GMT" >GMT</option>
  164.                      <option value="Pacific/Auckland" >Pacific/Auckland</option>
  165.                      <option value="US/Central" >US/Central</option>
  166.                      <option value="US/Eastern" >US/Eastern</option>
  167.                      <option value="US/Pacific" >US/Pacific</option>
  168.                      <option value="UTC" selected="selected">UTC</option>
  169.                  </select>
  170.        <input type="hidden" name="location" value="/2025-07-11"/>
  171.      </div>
  172.    </form>
  173.  </li>
  174.  
  175. </ul>
  176.  
  177. <div class="navbar-fixed">
  178.  <nav>
  179.    <div class="nav-wrapper">
  180.      <a href="#" class="brand-logo">#indieweb</a>
  181.      <a href="#" data-activates="slide-out" class="button-collapse"><abbr title="menu">≡</abbr></a>
  182.  
  183.      <ul class="right">
  184.        <li>
  185.                      <a href="./2025-07-10" rel="prev"><abbr title="Previous">←</abbr></a>
  186.                  </li>
  187.        <li>
  188.                      <a class="disabled"><abbr title="Next">→</abbr></a>
  189.                  </li>
  190.      </ul>
  191.    </div>
  192.  </nav>
  193. </div>
  194.  
  195. <script>
  196. $(function(){
  197.  $(".button-collapse").sideNav();
  198.  $("li.channel").each(function(i,ch){
  199.    if(channel_unread($(ch).data('channel'))) {
  200.      $(ch).addClass('activity');
  201.    }
  202.  });
  203.  channel_read($("#active-channel").val());
  204. });
  205. </script>
  206. <main>
  207.  
  208. <h2 class="date"><span class="channel-name">#indieweb</span> 2025-07-11</h2>
  209.  
  210. <div class="logs">
  211.  <div id="log-lines">
  212.    <div class="daymark">2025-07-11 <span class="tz">UTC</span></div><div class="line join cluster">troojg joined the channel</div><div id="t1752192448316100" class="h-entry line msg-message "><div class="in"><a href="https://chat.indieweb.org/2025-07-11#t1752192448316100" class="hash">#</a> <time class="dt-published" datetime="2025-07-11T00:07:28+00:00"><a href="https://chat.indieweb.org/2025-07-11/1752192448316100" class="u-url time" title="2025-07-11T00:07:28+00:00">00:07</a></time> <span class="text"><span class="nick p-author h-card"><div class="avatar" style="opacity: .20;"><img src="https://chat.indieweb.org//assets/user.svg" width="20" height="20"/></div><span class=""><span class="p-nickname p-name">cophee</span></span></span> <span class="e-content p-name">I liked micro.blog but monthly payment makes it hard to recommend for new people ):</span></span></div></div>
  213.  
  214. <div id="t1752192448321800" class="h-entry line msg-message "><div class="in"><a href="https://chat.indieweb.org/2025-07-11#t1752192448321800" class="hash">#</a> <time class="dt-published" datetime="2025-07-11T00:07:28+00:00"><a href="https://chat.indieweb.org/2025-07-11/1752192448321800" class="u-url time" title="2025-07-11T00:07:28+00:00">00:07</a></time> <span class="text"><span class="nick p-author h-card"><div class="avatar" style="opacity: .20;"><img src="https://chat.indieweb.org//assets/user.svg" width="20" height="20"/></div><span class=""><span class="p-nickname p-name">cophee</span></span></span> <span class="e-content p-name">@[snarfed]</span></span></div></div>
  215.  
  216. <div id="t1752192461806800" class="h-entry line msg-message "><div class="in"><a href="https://chat.indieweb.org/2025-07-11#t1752192461806800" class="hash">#</a> <time class="dt-published" datetime="2025-07-11T00:07:41+00:00"><a href="https://chat.indieweb.org/2025-07-11/1752192461806800" class="u-url time" title="2025-07-11T00:07:41+00:00">00:07</a></time> <span class="text"><span class="nick p-author h-card"><div class="avatar" style="opacity: .20;"><img src="https://chat.indieweb.org//assets/user.svg" width="20" height="20"/></div><span class=""><span class="p-nickname p-name">cophee</span></span></span> <span class="e-content p-name">even if it's cheap</span></span></div></div>
  217.  
  218. <div id="t1752192801122100" class="h-entry line msg-message "><div class="in"><a href="https://chat.indieweb.org/2025-07-11#t1752192801122100" class="hash">#</a> <time class="dt-published" datetime="2025-07-11T00:13:21+00:00"><a href="https://chat.indieweb.org/2025-07-11/1752192801122100" class="u-url time" title="2025-07-11T00:13:21+00:00">00:13</a></time> <span class="text"><span class="nick p-author h-card"><div class="avatar" style="opacity: .20;"><img src="https://chat.indieweb.org//assets/user.svg" width="20" height="20"/></div><span class=""><a href="http://snarfed.org" class="author p-nickname p-name u-url" target="_blank">[snarfed]</a></span></span> <span class="e-content p-name">normalize paying for services!</span></span></div></div>
  219.  
  220. <div class="line join cluster">mateusrc and mald0r0r joined the channel</div><div id="t1752194266357400" class="h-entry line msg-message "><div class="in"><a href="https://chat.indieweb.org/2025-07-11#t1752194266357400" class="hash">#</a> <time class="dt-published" datetime="2025-07-11T00:37:46+00:00"><a href="https://chat.indieweb.org/2025-07-11/1752194266357400" class="u-url time" title="2025-07-11T00:37:46+00:00">00:37</a></time> <span class="text"><span class="nick p-author h-card"><div class="avatar"><img src="https://chat.indieweb.org/img.php?url=https%3A%2F%2Fartlung.com%2Fblog%2Fwp-content%2Fuploads%2F2023%2F02%2FIMG_9150-100x100.jpeg&amp;sig=bf5205ec7e437b92c48d301a8696f37a67ee151da9802ae424df370e520cea23" width="20" height="20" class="u-photo"/></div><span class=""><a href="http://artlung.com" class="author p-nickname p-name u-url" target="_blank">[artlung]</a></span></span> <span class="e-content p-name">100% services that are good ought to be paid for, and if you can't recommend it you can't recommend it. but also gifting accounts are a nice option for some services. and payment plans on an annual basis can mitigate things. and some services provide lifetime or other models.</span></span></div></div>
  221.  
  222. <div id="t1752194291391800" class="h-entry line msg-message "><div class="in"><a href="https://chat.indieweb.org/2025-07-11#t1752194291391800" class="hash">#</a> <time class="dt-published" datetime="2025-07-11T00:38:11+00:00"><a href="https://chat.indieweb.org/2025-07-11/1752194291391800" class="u-url time" title="2025-07-11T00:38:11+00:00">00:38</a></time> <span class="text"><span class="nick p-author h-card"><div class="avatar"><img src="https://chat.indieweb.org/img.php?url=https%3A%2F%2Fartlung.com%2Fblog%2Fwp-content%2Fuploads%2F2023%2F02%2FIMG_9150-100x100.jpeg&amp;sig=bf5205ec7e437b92c48d301a8696f37a67ee151da9802ae424df370e520cea23" width="20" height="20" class="u-photo"/></div><span class=""><a href="http://artlung.com" class="author p-nickname p-name u-url" target="_blank">[artlung]</a></span></span> <span class="e-content p-name">snarfed++ normalize paying for services that have value.</span></span></div></div>
  223.  
  224. <div id="t1752194291594900" class="h-entry line msg-message "><div class="in"><a href="https://chat.indieweb.org/2025-07-11#t1752194291594900" class="hash">#</a> <time class="dt-published" datetime="2025-07-11T00:38:11+00:00"><a href="https://chat.indieweb.org/2025-07-11/1752194291594900" class="u-url time" title="2025-07-11T00:38:11+00:00">00:38</a></time> <span class="text"><span class="nick p-author h-card"><div class="avatar"><img src="https://chat.indieweb.org/img.php?url=http%3A%2F%2Floqi.me%2Flogo%2Floqisaur.png&amp;sig=3571041228810c0664972bd517c3e0cb2b50fe82c7359f310bed393df91a84e0" width="20" height="20" class="u-photo"/></div><span class=""><a href="http://loqi.me" class="author p-nickname p-name u-url" target="_blank">Loqi</a></span></span> <span class="e-content p-name">snarfed has 29 karma in this channel over the last year (74 in all channels)</span></span></div></div>
  225.  
  226. <div id="t1752194352957200" class="h-entry line msg-message "><div class="in"><a href="https://chat.indieweb.org/2025-07-11#t1752194352957200" class="hash">#</a> <time class="dt-published" datetime="2025-07-11T00:39:12+00:00"><a href="https://chat.indieweb.org/2025-07-11/1752194352957200" class="u-url time" title="2025-07-11T00:39:12+00:00">00:39</a></time> <span class="text"><span class="nick p-author h-card"><div class="avatar"><img src="https://chat.indieweb.org/img.php?url=https%3A%2F%2Fartlung.com%2Fblog%2Fwp-content%2Fuploads%2F2023%2F02%2FIMG_9150-100x100.jpeg&amp;sig=bf5205ec7e437b92c48d301a8696f37a67ee151da9802ae424df370e520cea23" width="20" height="20" class="u-photo"/></div><span class=""><a href="http://artlung.com" class="author p-nickname p-name u-url" target="_blank">[artlung]</a></span></span> <span class="e-content p-name">I recommended <a href="http://micro.blog" target="_blank">http://micro.blog</a> and a few other services to my brother in law just a few weeks ago. he's been traveling but I hope he kicks the tires on services and finds a match.</span></span></div></div>
  227.  
  228. <div id="t1752194372462000" class="h-entry line msg-message "><div class="in"><a href="https://chat.indieweb.org/2025-07-11#t1752194372462000" class="hash">#</a> <time class="dt-published" datetime="2025-07-11T00:39:32+00:00"><a href="https://chat.indieweb.org/2025-07-11/1752194372462000" class="u-url time" title="2025-07-11T00:39:32+00:00">00:39</a></time> <span class="text"><span class="nick p-author h-card"><div class="avatar"><img src="https://chat.indieweb.org/img.php?url=https%3A%2F%2Ftantek.com%2Flogo.jpg&amp;sig=fdc026586d46976e19df06a113be643ff26d1dec5e3cb4e70d23224b6b3de6d0" width="20" height="20" class="u-photo"/></div><span class=""><a href="http://Tantek.com" class="author p-nickname p-name u-url" target="_blank">[tantek]</a></span></span> <span class="e-content p-name">People pay 10x for mobile phones, they can afford <a href="http://micro.blog" target="_blank">http://micro.blog</a></span></span></div></div>
  229.  
  230. <div class="line join cluster">mald0r0r joined the channel</div><div id="t1752197818660000" class="h-entry line msg-message "><div class="in"><a href="https://chat.indieweb.org/2025-07-11#t1752197818660000" class="hash">#</a> <time class="dt-published" datetime="2025-07-11T01:36:58+00:00"><a href="https://chat.indieweb.org/2025-07-11/1752197818660000" class="u-url time" title="2025-07-11T01:36:58+00:00">01:36</a></time> <span class="text"><span class="nick p-author h-card"><div class="avatar" style="opacity: .20;"><img src="https://chat.indieweb.org//assets/user.svg" width="20" height="20"/></div><span class=""><span class="p-nickname p-name">veqq</span></span></span> <span class="e-content p-name">Good luck to you and your brother!</span></span></div></div>
  231.  
  232. <div class="line join cluster">kebokyo, Owal, mald0r0r, [0x3b0b] and milkii joined the channel</div><div id="t1752203842032200" class="h-entry line msg-message "><div class="in"><a href="https://chat.indieweb.org/2025-07-11#t1752203842032200" class="hash">#</a> <time class="dt-published" datetime="2025-07-11T03:17:22+00:00"><a href="https://chat.indieweb.org/2025-07-11/1752203842032200" class="u-url time" title="2025-07-11T03:17:22+00:00">03:17</a></time> <span class="text"><span class="nick p-author h-card"><div class="avatar"><img src="https://chat.indieweb.org/img.php?url=https%3A%2F%2Fmat.tl%2Fimg%2Fmattl.png&amp;sig=3baa9eea4b901261eba9345857e842a0fc803ac63883e93d9e9a3b5b352183c4" width="20" height="20" class="u-photo"/></div><span class=""><a href="http://mat.tl" class="author p-nickname p-name u-url" target="_blank">[mattl]</a></span></span> <span class="e-content p-name">I do wonder about pricing in other countries/economies. Steam prices games differently per region but those purchases are tied to the account.</span></span></div></div>
  233.  
  234. <div class="line join cluster">mald0r0r, kebokyo, [benji], [aciccarello], geoffo, bterry2 and [morganm] joined the channel</div><div id="t1752207918316800" class="h-entry line msg-message "><div class="in"><a href="https://chat.indieweb.org/2025-07-11#t1752207918316800" class="hash">#</a> <time class="dt-published" datetime="2025-07-11T04:25:18+00:00"><a href="https://chat.indieweb.org/2025-07-11/1752207918316800" class="u-url time" title="2025-07-11T04:25:18+00:00">04:25</a></time> <span class="text"><span class="nick p-author h-card"><div class="avatar"><img src="https://chat.indieweb.org/img.php?url=http%3A%2F%2Floqi.me%2Flogo%2Floqisaur.png&amp;sig=3571041228810c0664972bd517c3e0cb2b50fe82c7359f310bed393df91a84e0" width="20" height="20" class="u-photo"/></div><span class=""><a href="http://loqi.me" class="author p-nickname p-name u-url" target="_blank">Loqi</a></span></span> <span class="e-content p-name">[indienews] New post: "RSS is (not) dead (yet)" <a href="https://audmcname.com/comics/rss-is-not-dead-yet/" target="_blank">https://audmcname.com/comics/rss-is-not-dead-yet/</a> (from <a href="https://beesbuzz.biz/blog/chatter/12630-RSS-is-not-dead-yet" target="_blank">https://beesbuzz.biz/blog/chatter/12630-RSS-is-not-dead-yet</a>)</span></span></div></div>
  235.  
  236. <div class="line join cluster">kebokyo, mald0r0r, GuestZero and thegreekgeek__ joined the channel</div><div id="t1752215214529200" class="h-entry line msg-message "><div class="in"><a href="https://chat.indieweb.org/2025-07-11#t1752215214529200" class="hash">#</a> <time class="dt-published" datetime="2025-07-11T06:26:54+00:00"><a href="https://chat.indieweb.org/2025-07-11/1752215214529200" class="u-url time" title="2025-07-11T06:26:54+00:00">06:26</a></time> <span class="text"><span class="nick p-author h-card"><div class="avatar"><img src="https://chat.indieweb.org/img.php?url=https%3A%2F%2Fdoesnm.p.psf.lt%2Favatar.png&amp;sig=81d254b643cd764c00256099c2e6e4a920b4670b596dfeb051aadef163e24574" width="20" height="20" class="u-photo"/></div><span class=""><a href="http://doesnm.cc" class="author p-nickname p-name u-url" target="_blank">doesnm</a></span></span> <span class="e-content p-name">[tantek]: are you rent your phone?</span></span></div></div>
  237.  
  238. <div class="line join cluster">kebokyo and mald0r0r joined the channel</div><div id="t1752216791069400" class="h-entry line msg-message "><div class="in"><a href="https://chat.indieweb.org/2025-07-11#t1752216791069400" class="hash">#</a> <time class="dt-published" datetime="2025-07-11T06:53:11+00:00"><a href="https://chat.indieweb.org/2025-07-11/1752216791069400" class="u-url time" title="2025-07-11T06:53:11+00:00">06:53</a></time> <span class="text"><span class="nick p-author h-card"><div class="avatar"><img src="https://chat.indieweb.org/img.php?url=https%3A%2F%2Ftantek.com%2Flogo.jpg&amp;sig=fdc026586d46976e19df06a113be643ff26d1dec5e3cb4e70d23224b6b3de6d0" width="20" height="20" class="u-photo"/></div><span class=""><a href="http://Tantek.com" class="author p-nickname p-name u-url" target="_blank">[tantek]</a></span></span> <span class="e-content p-name">doesnm, typical smartphone service costs &gt;10x more annually than a domain + <a href="http://micro.blog" target="_blank">http://micro.blog</a></span></span></div></div>
  239.  
  240. <div id="t1752216897543800" class="h-entry line msg-message "><div class="in"><a href="https://chat.indieweb.org/2025-07-11#t1752216897543800" class="hash">#</a> <time class="dt-published" datetime="2025-07-11T06:54:57+00:00"><a href="https://chat.indieweb.org/2025-07-11/1752216897543800" class="u-url time" title="2025-07-11T06:54:57+00:00">06:54</a></time> <span class="text"><span class="nick p-author h-card"><div class="avatar"><img src="https://chat.indieweb.org/img.php?url=https%3A%2F%2Fdoesnm.p.psf.lt%2Favatar.png&amp;sig=81d254b643cd764c00256099c2e6e4a920b4670b596dfeb051aadef163e24574" width="20" height="20" class="u-photo"/></div><span class=""><a href="http://doesnm.cc" class="author p-nickname p-name u-url" target="_blank">doesnm</a></span></span> <span class="e-content p-name">or, you mean isp costs</span></span></div></div>
  241.  
  242. <div id="t1752216941077200" class="h-entry line msg-message "><div class="in"><a href="https://chat.indieweb.org/2025-07-11#t1752216941077200" class="hash">#</a> <time class="dt-published" datetime="2025-07-11T06:55:41+00:00"><a href="https://chat.indieweb.org/2025-07-11/1752216941077200" class="u-url time" title="2025-07-11T06:55:41+00:00">06:55</a></time> <span class="text"><span class="nick p-author h-card"><div class="avatar"><img src="https://chat.indieweb.org/img.php?url=https%3A%2F%2Fdoesnm.p.psf.lt%2Favatar.png&amp;sig=81d254b643cd764c00256099c2e6e4a920b4670b596dfeb051aadef163e24574" width="20" height="20" class="u-photo"/></div><span class=""><a href="http://doesnm.cc" class="author p-nickname p-name u-url" target="_blank">doesnm</a></span></span> <span class="e-content p-name">domain costs are per-year so it might incorrectly to compare</span></span></div></div>
  243.  
  244. <div id="t1752216970083000" class="h-entry line msg-message "><div class="in"><a href="https://chat.indieweb.org/2025-07-11#t1752216970083000" class="hash">#</a> <time class="dt-published" datetime="2025-07-11T06:56:10+00:00"><a href="https://chat.indieweb.org/2025-07-11/1752216970083000" class="u-url time" title="2025-07-11T06:56:10+00:00">06:56</a></time> <span class="text"><span class="nick p-author h-card"><div class="avatar"><img src="https://chat.indieweb.org/img.php?url=https%3A%2F%2Fdoesnm.p.psf.lt%2Favatar.png&amp;sig=81d254b643cd764c00256099c2e6e4a920b4670b596dfeb051aadef163e24574" width="20" height="20" class="u-photo"/></div><span class=""><a href="http://doesnm.cc" class="author p-nickname p-name u-url" target="_blank">doesnm</a></span></span> <span class="e-content p-name">but yeah, isp costs are higher that micro.blog plan</span></span></div></div>
  245.  
  246. <div class="line join cluster">kebokyo, Guest54 and mald0r0r joined the channel</div><div id="t1752217859588800" class="h-entry line msg-message "><div class="in"><a href="https://chat.indieweb.org/2025-07-11#t1752217859588800" class="hash">#</a> <time class="dt-published" datetime="2025-07-11T07:10:59+00:00"><a href="https://chat.indieweb.org/2025-07-11/1752217859588800" class="u-url time" title="2025-07-11T07:10:59+00:00">07:10</a></time> <span class="text"><span class="nick p-author h-card"><div class="avatar" style="opacity: .20;"><img src="https://chat.indieweb.org//assets/user.svg" width="20" height="20"/></div><span class=""><span class="p-nickname p-name">.pi.r2.</span></span></span> <span class="e-content p-name">@doesm I think just the annualized cost of the hardware? $60/yr would be equivalent $300 every 5 years, most people spend more on their smartphone purchases</span></span></div></div>
  247.  
  248. <div class="line join cluster">kebokyo and mald0r0r joined the channel</div>  </div>
  249.  <span id="bottom"></span>
  250. </div>
  251.  
  252.  <input id="active-channel" type="hidden" value="#indieweb">
  253.  <input id="tz-offset" type="hidden" value="+00:00">
  254.  
  255. <div id="chat-footer">
  256.      <div id="join_prompt">
  257.  <button type="button" id="join_btn">Join the Chat</button>
  258.  (or join via <a href="https://indieweb.org/discuss#Join_Discussions">Discord, IRC<!--, Matrix official bridge disabled --></a>,
  259.  or <a href="https://chat.indieweb.org/slack">Slack</a>).
  260.  Any problems? Please file an
  261.  <a href="https://github.com/indieweb/chat.indieweb.org/issues">issue on GitHub</a>.
  262. </div>
  263.  
  264. <div id="signin" class="hidden">
  265.  enter nickname: <input type="text" id="nickname" autocomplete="off" />
  266. </div>
  267.  
  268. <div id="connection_status" class="hidden">
  269.  <input type="text" readonly="readonly" id="connection_status_field" />
  270. </div>
  271.  
  272. <div id="chat" class="hidden">
  273.  <input type="text" id="message" autocomplete="off" />
  274.  <span id="notify_control" class="hidden">
  275.    <button type="button" id="notify_btn">Enable Notifications</button>
  276.  </span>
  277. </div>
  278.  
  279.  
  280. <div id="irc_notice" class="hidden"><div class="pad">
  281.  <button type="button" class="close" id="close_notice_btn">×</button>
  282.  <span class="nick" id="irc_notice_nick"></span>
  283.  <span class="text" id="irc_notice_text"></span>
  284. </div></div>
  285.  
  286.  
  287. <style type="text/css">
  288. .hidden {
  289.  display: none;
  290. }
  291. #join_prompt button {
  292.  padding: 4px;
  293.  font-size: 15px;
  294.  background: #94dfef;
  295.  border: 1px #78cee1 solid;
  296.  border-radius: 4px;
  297. }
  298. #notify_control button {
  299.  font-size: 15px;
  300.  background: #ccc;
  301.  border: 1px #999 solid;
  302.  border-radius: 4px;
  303.  float:right;
  304. }
  305. #notify_control button.enabled {
  306.  border: 1px #78cee1 solid;
  307.  background: #94dfef;
  308. }
  309. #connection_status_field {
  310.  width: 300px;
  311. }
  312. #message {
  313.  font-size: 15px;
  314.  width: 400px;
  315. }
  316. #irc_notice {
  317.  position: absolute;
  318.  bottom: 60px;
  319.  left: 20px;
  320.  background: #f2dede;
  321.  border: 2px #ebccd1 solid;
  322.  color: #a94442;
  323.  border-radius: 4px;
  324. }
  325. #irc_notice .pad {
  326.  margin: 15px;
  327. }
  328. #irc_notice .nick {
  329.  font-weight: bold;
  330. }
  331. #irc_notice .close {
  332.  position: relative;
  333.  top: -6px;
  334.  right: -9px;
  335.  border: 0;
  336.  float: right;
  337.  cursor: pointer;
  338.  background: 0 0;
  339.  -webkit-appearance: none;
  340.  font-size: 21px;
  341.  font-weight: 700;
  342.  line-height: 1;
  343.  color: #000;
  344.  text-shadow: 0 1px 0 #fff;
  345.  opacity: 0.2;
  346.  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  347. }
  348. #irc_notice .close:hover {
  349.  opacity: 0.5;
  350. }
  351. </style>
  352.  
  353. <script>
  354. document.getElementById('close_notice_btn').addEventListener('click', function(){
  355.  document.getElementById('irc_notice').classList.add('hidden');
  356. });
  357.  
  358.  var join_btn = document.getElementById('join_btn');
  359.  var notify_btn = document.getElementById('notify_btn');
  360.  var message_box = document.getElementById('message');
  361.  var nick_field = document.getElementById('nickname');
  362.  var status_field = document.getElementById('connection_status_field');
  363.  var notify = false;
  364.  var nickname;
  365.  var nickname_regex = null;
  366.  var nickname_self_regex = null;
  367.  var connected = false;
  368.  var chat_session = false;
  369.  
  370.  join_btn.addEventListener('click', function(){
  371.    document.getElementById('join_prompt').classList.add('hidden');
  372.    document.getElementById('signin').classList.remove('hidden');
  373.    document.querySelector('.logs').classList.add('active-chat');
  374.    if(get_nick_from_cookie()) {
  375.      nick_field.value = get_nick_from_cookie();
  376.    }
  377.    nick_field.focus();
  378.    window.scrollTo(0,document.body.offsetHeight);
  379.  
  380.    var nick_key_listener = function(e) {
  381.      if(e.keyCode == 13) {
  382.        if(!connected) {
  383.          show_notice("connecting...","connecting to the chat room...");
  384.        }
  385.      }
  386.    };
  387.    nick_field.addEventListener("keypress", nick_key_listener);
  388.    
  389.  });
  390.  
  391.  notify_btn.addEventListener('click', function(){
  392.    if(notify){
  393.        notify = false;
  394.        notify_btn.classList.remove('enabled');
  395.        notify_btn.innerHTML = 'Enabled Notifications';
  396.    } else {
  397.        if (!("Notification" in window)) {
  398.            alert("Notifications not supported on this browser.");
  399.        } else if (Notification.permission === "granted") {
  400.            notify = true;
  401.            notify_btn.classList.add('enabled');
  402.            notify_btn.innerHTML = 'Disable Notifications';
  403.        } else if (Notification.permission !== 'denied') {
  404.            Notification.requestPermission(function (permission) {
  405.                if (permission === "granted") {
  406.                    notify = true;
  407.                    notify_btn.classList.add('enabled');
  408.                    notify_btn.innerHTML = 'Disable Notifications';
  409.                }
  410.            });
  411.        }
  412.    }
  413.  });
  414.  
  415.  nick_field.addEventListener('keypress', function(e){
  416.    if(e.keyCode == 13) {
  417.      set_nick(nick_field.value);
  418.      document.getElementById('message').focus();
  419.      join(nickname);
  420.      activate_chat_field();
  421.    }
  422.  });
  423.  
  424. function activate_chat_field() {
  425.  document.getElementById('signin').classList.add('hidden');
  426.  document.getElementById('chat').classList.remove('hidden');
  427.  document.querySelector('.logs').classList.add('active-chat');
  428.  var message_key_listener = function(e) {
  429.    if(e.keyCode == 13) {
  430.      console.log("Sending to IRC: "+message_box.value);
  431.      if(!connected) {
  432.        show_notice("connecting...","connecting to the chat room...");
  433.      }
  434.      send(message_box.value);
  435.    }
  436.  };
  437.  message_box.addEventListener("keypress", message_key_listener);
  438. }
  439.  
  440. function get_nick_from_cookie() {
  441.  return Cookies.get("nickname");
  442. }
  443.  
  444. function set_nick(nick) {
  445.  nickname = nick;
  446.  nickname_regex = new RegExp(nickname, "i");
  447.  nickname_self_regex = new RegExp('^# \\d\\d:\\d\\d \\[?'+nickname, "i");
  448.  Cookies.set("nickname", nickname);
  449. }
  450.  
  451. function get_session_from_cookie() {
  452.  return Cookies.get("gatewaysession");
  453. }
  454.  
  455. function set_session(session) {
  456.  chat_session = session;
  457.  Cookies.set("gatewaysession", session);
  458. }
  459.  
  460. function show_notice(nick, text) {
  461.  document.getElementById('irc_notice').classList.remove('hidden');
  462.  document.getElementById('irc_notice_nick').innerHTML = nick;
  463.  document.getElementById('irc_notice_text').innerHTML = text;
  464. }
  465. function hide_notice() {
  466.  document.getElementById('irc_notice').classList.add('hidden');
  467.  document.getElementById('irc_notice_nick').innerHTML = "";
  468.  document.getElementById('irc_notice_text').innerHTML = "";
  469. }
  470. function check_alert(data){
  471.  if(!connected) {
  472.    console.log("Not connected. Got text: ");
  473.    console.log(data);
  474.    if(data.nick == nickname) {
  475.      connected = true;
  476.      console.log("Connected");
  477.      hide_notice();
  478.    }
  479.  }
  480.  if(notify){
  481.    if(data.line.match(nickname_regex) && data.nick != nickname) {
  482.      if (!("Notification" in window)) {
  483.          console.log("Notifications not supported on this browser.");
  484.      } else if (Notification.permission === "granted") {
  485.          var notification = new Notification(text);
  486.      } else if (Notification.permission !== 'denied') {
  487.          Notification.requestPermission();
  488.      }
  489.    }
  490.  }
  491. }
  492. function send(text) {
  493.  xhr = new XMLHttpRequest();
  494.  
  495.  xhr.open('POST', encodeURI('/send.php?action=input'));
  496.  xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  497.  xhr.onload = function() {
  498.    var response = JSON.parse(xhr.responseText);
  499.    if (xhr.status === 200 && response.username) {
  500.      console.log("sent");
  501.      message_box.value = '';
  502.    }
  503.    else {
  504.      alert('Request failed: ' + response.error);
  505.    }
  506.  };
  507.  xhr.send('user_name=' + encodeURIComponent(nickname)
  508.    + '&text=' + encodeURIComponent(text)
  509.    + '&session=' + encodeURIComponent(chat_session)
  510.    + '&channel=' + encodeURIComponent(document.getElementById('active-channel').value));
  511. }
  512. function join(nick) {
  513.  xhr = new XMLHttpRequest();
  514.  
  515.  xhr.open('POST', encodeURI('/send.php?action=join'));
  516.  xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  517.  xhr.onload = function() {
  518.    console.log("Got status "+xhr.status);
  519.    var response = JSON.parse(xhr.responseText);
  520.    console.log(response);
  521.    if (response.status=="connecting") {
  522.      console.log("connecting...");
  523.      set_session(response.session);
  524.    } else if(response.status=="connected") {
  525.      connected = true;
  526.      console.log("connected");
  527.      set_session(response.session);
  528.      hide_notice();
  529.    } else {
  530.      alert('Request failed.  Returned status of ' + xhr.status);
  531.    }
  532.  };
  533.  xhr.send('user_name=' + encodeURIComponent(nickname) + '&channel=' + encodeURIComponent(document.getElementById('active-channel').value));
  534. }
  535.  
  536. // Check if there is an active session in the cookie
  537. if(chat_session=get_session_from_cookie()) {
  538.  xhr = new XMLHttpRequest();
  539.  
  540.  xhr.open('POST', encodeURI('/send.php?action=session'));
  541.  xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  542.  xhr.onload = function() {
  543.    var response = JSON.parse(xhr.responseText);
  544.    if(response && response.username) {
  545.      set_nick(response.username);
  546.      connected = true;
  547.      hide_notice();
  548.      document.getElementById('join_prompt').classList.add('hidden');
  549.      document.getElementById('signin').classList.add('hidden');
  550.      document.getElementById('chat').classList.remove('hidden');
  551.      activate_chat_field();
  552.      window.scrollTo(0,document.body.offsetHeight);
  553.    } else {
  554.      set_session("");
  555.    }
  556.  }
  557.  xhr.send('session=' + encodeURIComponent(chat_session));
  558. }
  559.  
  560. </script>
  561.  
  562.  <div class="clear"></div>
  563. </div>
  564.  
  565. <script type="text/javascript">/*<![CDATA[*/
  566.  if(window.location.hash && window.location.hash != '#top' && window.location.hash != '#bottom') {
  567.    var n = document.getElementById(window.location.hash.replace('#',''));
  568.    n.classList.add('hilite');
  569.  }
  570.  window.addEventListener("hashchange", function(){
  571.    var n = document.getElementsByClassName('line');
  572.    Array.prototype.filter.call(n, function(el){ el.classList.remove('hilite') });
  573.    var n = document.getElementById(window.location.hash.replace('#',''));
  574.    n.classList.add('hilite');
  575.  }, false);
  576. /*]]>*/</script>
  577.  
  578. </main>
  579.  
  580. </body>
  581. </html>
  582.  
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda