{"id":2464,"date":"2025-01-26T21:41:12","date_gmt":"2025-01-26T20:41:12","guid":{"rendered":"https:\/\/calomelano.it\/?p=2464"},"modified":"2025-01-26T22:02:48","modified_gmt":"2025-01-26T21:02:48","slug":"a-new-start-for-the-news-aggregator","status":"publish","type":"post","link":"https:\/\/calomelano.it\/?p=2464","title":{"rendered":"A new start for the news aggregator"},"content":{"rendered":"\n<p>Questo articolo \u00e8 disponibile (in una forma lievemente diversa) anche <a href=\"https:\/\/calomelano.it\/?p=2461\">in italiano<\/a>.<\/p>\n\n\n\n<p>The time has come to reassess <a href=\"https:\/\/calomelano.it\/?p=1550\">the Ethical Information Group side-project<\/a> which has kept the <a href=\"https:\/\/notizie.calomelano.it\">https:\/\/notizie.calomelano.it<\/a> <strong>news aggregation<\/strong> service up and running for the last 8 years, and made it recently reach the milestones of <strong>4 million<\/strong> aggregated articles and <strong>46 GB<\/strong> of archived data.<\/p>\n\n\n\n<p>The Ethical Information Group project was <strong>fun and instructive<\/strong> to pursue, and also very <strong>useful<\/strong> (almost life-saving) for the very few users who use it, but it did not achieve the initial objectives of <strong>dissemination<\/strong>, <strong>reuse<\/strong> of the software, and creation of a governing <strong>non-profit association<\/strong>. I am responsible for these <strong>failures<\/strong> for having:<\/p>\n\n\n\n<ul>\n<li>set goals that are too vague and opinionated<\/li>\n\n\n\n<li>created an ugly mess of names (Ethical Information Group, calo.news, notizie.calomelano.it, calomelano social club) and even an unintelligible acronym (GIS, Italian for Gruppo di Informazione Solidale)<\/li>\n\n\n\n<li>created a technical monster that integrates the single-sign-on of discourse, a niche micro-framework for the backend, a lot of custom SQL, and a good frontend framework but weirdly used.<\/li>\n<\/ul>\n\n\n\n<p>Either we turn it off or we try a <strong>new start<\/strong> for the news aggregation platform, bringing it into a different infrastructure to optimize costs and make it sustainable, while rethinking the objectives, the philosophy, the name (who said brand?) and above all simplifying it.<\/p>\n\n\n\n<p>Technically it is <strong>complex<\/strong> task because the <strong>engine<\/strong> currently is an <a href=\"https:\/\/gitlab.com\/simevo\/calo.news\">open-source software<\/a> developed from scratch, which in recent years has accumulated a lot of dust and direly needs some love (see: <strong>technical debt<\/strong>). To open it up to reuse and new contributors, a <strong>complete rewrite<\/strong> must be taken into account&#8230; a lot of work, but I think it&#8217;s worth a try! Full disclosure: in fact, I&#8217;ve been working on it for some time and today I can share the new open-source software that will power <a href=\"https:\/\/notizie.calomelano.it\">https:\/\/notizie.calomelano.it<\/a> from now on: <a href=\"https:\/\/gitlab.com\/simevo\/flash\">Flash<\/a>. Same logo, but a simpler and <strong>leaner architecture<\/strong>, while the technologies used are more <strong>solid<\/strong>, <strong>modern<\/strong> and <strong>powerful<\/strong>.<\/p>\n\n\n\n<p>In addition to the name, the high-level scope changes: from &#8220;<em>an open-source news platform with aggregation, ranking and conversations<\/em>&#8221; it is reduced to &#8220;<em>aggregation and ranking<\/em>&#8220;. In other words, <strong>conversations<\/strong> are now considered out-of-scope, because we have understood, even more so in these times of proliferation of new social networks (Mastodon, Bluesky, Pixelfed, Lemmy, Xiaohongshu etc.) that the right place for conversations are, in fact, social networks.<\/p>\n\n\n\n<p>The other important change is that we lift the <strong>requirement<\/strong> that <strong>users purchase digital news subscriptions<\/strong>, so that we can skip the very tedious associated accounting and the annoying email notifications to the tune of &#8220;<em>Attention your virtual account is in the red!<\/em>&#8221; and &#8220;<em>Account deactivation<\/em>&#8220;. The use of the aggregator remains reserved to the registered users, but these users have no obligation.<\/p>\n\n\n\n<p>The basic concept remains, that being meant for private use and without commercial purposes, unlike other aggregators, this one [rather self-confidently thinks it] can grab from the sources the <strong>full text<\/strong> of all the articles it aggregates; in this way it acts first of all as an <strong>archive<\/strong> (against censorship, link rot etc.), and then enables us to <strong>process<\/strong>, search, order, filter these texts (&#8230; in the future, perhaps even with the new techniques of Machine Learning), always in a way that <strong>respects user data<\/strong>.<\/p>\n\n\n\n<p>The <a href=\"https:\/\/gitlab.com\/simevo\/flash\">new software<\/a> is currently very <strong>incomplete<\/strong> compared to the old one; to give an idea, it lacks: full-text search, text-to-speech, automatic translations, personalized feeds, downloads and newsletters.<\/p>\n\n\n\n<p>This can also be a plus, in the sense that we can shape it together. I promise to be more open in sharing the project goals and roadmap <a href=\"https:\/\/hachyderm.io\/@paolog\">on social media<\/a>!<\/p>\n\n\n\n<p>Bye bye for now.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Questo articolo \u00e8 disponibile (in una forma lievemente diversa) anche in italiano. The time has come to reassess the Ethical Information Group side-project which has kept the https:\/\/notizie.calomelano.it news aggregation service up and running for the last 8 years, and made it recently reach the milestones of 4 million aggregated articles and 46 GB of [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"https:\/\/calomelano.it\/?p=2464\">Leggi tutto&#8230;<\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/calomelano.it\/index.php?rest_route=\/wp\/v2\/posts\/2464"}],"collection":[{"href":"https:\/\/calomelano.it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/calomelano.it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/calomelano.it\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/calomelano.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2464"}],"version-history":[{"count":7,"href":"https:\/\/calomelano.it\/index.php?rest_route=\/wp\/v2\/posts\/2464\/revisions"}],"predecessor-version":[{"id":2485,"href":"https:\/\/calomelano.it\/index.php?rest_route=\/wp\/v2\/posts\/2464\/revisions\/2485"}],"wp:attachment":[{"href":"https:\/\/calomelano.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2464"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/calomelano.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2464"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/calomelano.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}