Русский
Русский
English
Статистика
Реклама

Rss

Перевод Почему я по-прежнему пользуюсь RSS

08.02.2021 20:16:10 | Автор: admin


Я твёрдо верю, что Интернет и его философия максимально проявились именно в RSS.

RSS или Really Simple Syndication является (или был в прошлом, в зависимости от вашей точки зрения) средством, которое объединяет в один канал практически все онлайн-ресурсы. Вы заходите на сайт, если он вам нравится, то добавляете его RSS в свой любимый ридер и с этого момента мгновенно получаете уведомления о любом новом контенте. Вот так просто.

Расцвет RSS пришелся на эпоху Веб 2.0 (около 1999-2010 гг.), когда движущей силой многих инноваций была полная свобода делать всё, что угодно, с информацией из интернета. Конечно, всё это происходило до того, как начали развиваться социальные сети в нынешнем виде, а большинство этих концепций оказались изолированы в своих замкнутых социальных фидах.

Как только социальные сети захватили власть в интернете, если вы находите в интернете что-то и хотите следить за источником, то просто добавляете его в твиттер или подписываетесь на YouTube. Это прекрасная идея до тех пор, пока вас устраивает дизайн этого сайта или алгоритм не решит, что вам не обязательно часто видеть какой-то контент из подписки (отеческое курирование вашей ленты).

Я уже говорил раньше, что социальные сети в целом мне не интересны, но только недавно решил по-настоящему искать альтернативы лучший способ взаимодействия с Интернетом. И нашёл ответ в RSS. Я наслаждался свободой видеть источники так, как мне хотелось, гибкостью, возможностью при желании поменять ридер, полным отсутствием рекламы. Трудно было не влюбиться в RSS.

Но лишь начав работать дома и полностью уйдя в интернет, я действительно понял, насколько важен RSS для нормальной цифровой жизни. Отбирая в ленту только конкретные сайты, блоги и авторов, которые мне действительно интересны, я эффективно устранил негативные последствия социальных сетей и чрезмерного использования интернета в своей жизни.

Мне стало проще заниматься глубокой работой, так как у меня не было социальных каналов, которые можно бесконечно прокручивать. Мне стало проще оставаться в курсе событий, так как я видел действительно только последние новости, а не алгоритмическую бесконечную ленту якобы новостей. Я мог открыть ридер пару раз в день, просмотреть последние статьи и продолжать работу. Весь процесс занимает менее 5 минут не то, что открываешь твиттер или ленту в социальной сети, и два часа пролетают мгновенно

Ещё один пример использования, который я с удивлением открыл для себя, это управление совместными проектами. Проблема, на которую неоднократно жаловались те, кто работает дома вас оглушает вездесущий, постоянный звон уведомлений, поскольку бесчисленные приложения для чата и совместной работы постоянно борются за ваше внимание с новыми вопросами, комментариями и обсуждениями, которые и так уже открыты в браузере. Для меня RSS решил проблему. Вместо того чтобы каждые 10 минут проверять, не появились ли новые задачи в проекте, или преследовать коллегу вопросами, закончил ли он эту функцию, я могу просто отслеживать всё с помощью RSS. Если всплывёт что-то важное, RSS сразу доставит это мне.

Как я уже говорил, некоторым кажется, что RSS отошёл на второй план, поскольку контент всё больше изолируется внутри замкнутых социальных платформ. Однако на многих сайтах RSS всё ещё легко доступен, например:

  • Reddit по-прежнему поддерживает RSS, достаточно добавить /.rss в конец заданного URL.
  • GitHub позволяет добавить фид активности аккаунтов/организаций, за которыми вы следите, если нажать на значок фида в нижней части страницы вашего аккаунта.

    В коде страницы с коммитами любого проекта есть ссылка на фид такого вида:

    <link href="http://personeltest.ru/aways/github.com/cloudera/flume/commits/master.atom" rel="alternate" title="Recent Commits to flume:master" type="application/atom+xml">
    

  • На YouTube тоже есть поддержка RSS: достаточно вставить ID канала (серию цифр и символов из URL на главной странице канала) в следующий адрес:

    www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID
    

Получать только нужный контент и только когда захочу, переключение между ридерами на моё усмотрение, и всё это без рекламы? Для меня ни один другой сервис не сравнится с гибкостью, надёжностью и общей простотой использования, которые предлагает RSS.

Возможно, его золотой век и закончился, но RSS ещё чувствует себя вполне бодрячком при наличии таких сервисов, как Feedly и Newsboat (рекомендую), а также множеством мобильных приложений на любой платформе, позволяющих наслаждаться Интернетом в его лучшем виде.
Подробнее..

Контент ВКонтакте не заслуживает ВКонтакте

12.03.2021 10:04:49 | Автор: admin

После отмены очных пар объем времени, проводимого мной в интернете, значительно возрос. Довольно быстро я нашел себя в бесконечном листании лент, и в лучших традициях прокрастинации, вместо того, чтобы заняться делом, я решил прибраться в своей интернет-комнате.

Чтобы избавиться от необходимости по очереди листать уйму сайтов, люди придумали RSS. Нынешнее состояние RSS можно назвать удовлетворительным, основная проблема - поддержка варьируется от сайта к сайту, но тулинг для создания RSS лент из "сырых" сайтов есть.

После часа настройки newsboat я осознал, что основной функционал RSS-ридеров уже несколько лет имеется в ВК, но отсутствует стимул его использовать.

Было лучше

Говорят, что раньше интернет был другим, и я могу с этим согласиться. Мои первые воспоминания об интернете - помегабайтные карточки доступа, IE как доминирующий на рынке браузер и Rambler в качестве поисковика по умолчанию.

Мои первые воспоминания о ВК - flash-игры, эндпоинты, оканчивающиеся на .php, золотые полоски под аватарками, однострочные JS-скрипты для получения бесплатных голосов, и ссылка на профиль загрузившего трек на странице поиска аудио. Для меня много лет интернетом в его романтическом смысле был именно ВК, где можно было находить интересных людей, следить за их творчеством или просто же предаваться бесконечному блужданию в поисках нового.

Как следствие продолжающейся монополизации интернета горсткой частных компаний, общественное мнение о соцсетях сместилось в негативную сторону, но по-прежнему большинство продолжает ими пользоваться, и я не могу их (себя) в чем-то винить. Если игнорировать аддиктивные аспекты, то это вполне удобные инструменты для общения, создания и просмотра контента. И всего того, что еще сегодня предлагают суперсервисы.

Но будем откровенны: полностью избежать поведенческой манипуляции в современном интернете не получится, что рано или поздно сказывается на ментальном здоровье. Одним из способов "интернет-детокса" является отказ от бесконечных алгоритмических лент, которые заменяют конечными, вручную собранными пользователем тематическими лентами.

Было бы странно, если рекламный бизнес позволит пользователям не смотреть бесконечно на рекламу каждые N постов, и одновременно даст возможность не раскрывать часть информации о своих интересах...

Да и сейчас неплохо: RSS-like ленты прямо в ВК

Настраиваемые вкладки новостей появились не позже обновления интерфейса в 2016 году, но заметил я их еще пару лет спустя. Концептуально они ничем не отличаются от RSS лент.

Во вкладку можно добавить любые сообщества или людей, на которых подписан пользователь, и затем их посты будут появляться в этой вкладке. Важное отличие от обычной ленты помимо выбора источников - ограничение показа по давности публикации (около 2 недель). Не хватает маркировки "прочитано", но совершенно ясно, почему ее нет.

Убираем единицы из вектора пользователя

Если отписаться от сообщества после того, как оно было добавлено во вкладку, его отображаемость во вкладке не изменится.

Однако вкладки не исключают полностью шанс пропустить пост от автора, который вам особенно интересен. В такой ситуации удобнее так же сгруппировать авторов по тематике, но не на уровне их публикаций, а на уровне отдельных страниц, и самостоятельно проверять их на наличие обновлений.

Точечное управление контентом

Закладки предельно просты - помечаешь что-то как важное, и затем оно отображается в списке важного. Метки - способ дальнейшей классификации закладок по отдельным категориям.

По списку всего, что можно пометить важным, достаточно четко вырисовывается картина ВК как замкнутого в себе интернета. У некоторых это вызовет чувство тревоги, а на Хабре можно выразить восхищение инженерами, построившими эти сервисы.

Альтернативой закладкам могут быть непосредственные уведомления об обновлениях. Интересно, что их можно включить, даже не подписавшись и не добавив в закладки автора. В таком виде эта фича больше подходит для сталкинга, либо для чего-то важного, но не интересующего на постоянной основе.

И напоследок, при нажатии на "Записи сообщества" (только в веб-версии) можно получить нумерованный список всех публикаций и относительно быстро переместиться в заданный временной отрезок.

Cтимулы

Я никогда не занимался ведением сообщества ВК в целях заработка, и у меня нет статистики изменения заработков администраторов с приходом единой площадки размещения рекламы в сообществах. Зато однажды я наткнулся на сообщество таких администраторов, общающихся на насущные темы в свободной форме. Немного просмотрев его, несложно сделать вывод о том, что монетизация сообществ как минимум несовершенна.

Сообщества прекращают быть активными, в основном, из-за утраты интереса авторов. Причины этому могут быть разные - неудовлетворенность обратной связью, взросление, или страйк за неоригинальный контент. Чтобы оставаться привлекательным для рекламодателей и пробиваться через эвристики алгоритмических лент, авторам приходиться соответствовать целому ряду требований "нормального" контента, что не может не сказаться на его качестве, а иногда и на форме представления.

Поэтому авторы выбирают другие площадки, в лучшем случае имеющие самые примитивные инструменты для фильтрации, что выливается в беспорядочную реку контента. Разработчики площадки вскоре вызовутся помочь пользователям увидеть наиболее важное с полностью новой лентой новостей...


Но ведь нет ничего плохого, чтобы написать конвертацию каналов Телеграма в RSS ленты, там все стабильно.

Подробнее..

Извлечь максимум из новостей в интернете, часть 1

04.04.2021 22:19:50 | Автор: admin

Извлечь максимум из новостей в интернете

Навеяно статьей Почему я по-прежнему пользуюсь RSS

Я сам очень активно использую формат новостей, чем и хотел бы поделиться с сообществом.

Будут скриншоты и, возможно, немного избыточных пояснений.

Будут следующие части:

  1. Часть 1:

  • Какую информацию я вообще потребляю через новости;

  • Чтение программами (rss-агрегаторами) - что использую лично я;

  • Форматы RSS и Atom, как их можно обрабатывать программами на локальном компьютере;

  1. Часть 2:

  • Автоматизаторы (zapier, ifttt);

  1. Часть 3:

  • Как я автоматизировал доставку аудио-подкастов на свой плеер.

Часть 1

Какую информацию я вообще потребляю с помощью новостей

Раньше, когда я много времени проводил в метро по пути на работу и обратно, то загружал новости в свой планшет и потом, уже без интернета спокойно читал то, что было интересно (не все помнят, но интернет в метро был не всегда!). Например, баш и ЖЖ поставляют контент в формате RSS. Новости со всего мира от лента.ру есть в формате RSS. Поговаривают, что в древние времена и твиттер можно было читать через ленту новостей в формате RSS! Но потом пришли жадные менеджеры и сказали, что так они не получат много денег, поэтому RSS исчез из твиттера.

Потом я стал подходить к новостям с точки зрения работы. Например, мне надо отслеживать когда вышли новые версии конфигураций .

Потом обнаружил, что многие другие, интересные мне темы (например, аудиоподкасты) тоже можно отслеживать через ленту новостей. Вот, например, Радио Маяк.

Чтение программами (rss-агрегаторами)

Чтобы читать новости на планшете, можно использовать любую подходящую программу. Благо, их очень много - для Андроида, для Apple и для десктопов.

В какой-то момент пришлось удалить читалку новостей с планшета, т.к. это сильно мешало сну - в постели чтение новостей перед сном могло занимать до часа. Но это уже другая история.

Для десктопа я раньше использовал RSS Owl:

RSS OwlRSS Owl

А потом с удивлением открыл для себя продукт от JetBrains: OMEA Reader:

JetBrains OMEA ReaderJetBrains OMEA Reader

Функционал у продукта JetBrains просто космический, поэтому как только я на него перешёл, то уже и не уходил:

  • можно ставить комментарии к новостям

  • можно фильтровать новости и по отборам назначать тэги, выделять цветом или выдавать оповещения на экране

  • иерархическая группировка лент новостей

  • и многое-многое другое.

Форматы RSS и Atom, как их можно обрабатывать программами на локальном компьютере

Новости, по сути - это простой xml-файл. Есть формат RSS (очень старый формат, непонятно кто его поддерживает и будет ли он развиваться). Мне он не очень нравится:

  • из-за формата дат - <pubDate>Sun, 28 May 2017 09:00:00 GMT</pubDate>, что затрудняло для меня автоматическую обработку

  • из-за того, что непонятна спецификация RSS, (во всяком случае я нашёл несколько разных вариантов). Расскажу про особенности его обработки дальше. Тем не менее, это самый узнаваемый и устоявшийся формат, известный всем.

На замену RSS фирма Google придумала свой формат - Atom, и вроде бы даже поддерживает его.

Файлы из интернета, в том числе и новости, можно читать с помощью curl, wget и (почему-бы и нет?) с помощью Power-shell.

Пока писал статью, с удивлением узнал, что в Windows 10 curl уже есть из коробки и не надо ничего скачивать и настраивать. Приятно.

Curl:

chcp 65001    curl ^    --header "user-agent: cURL automated task" ^    --output "%TEMP%\updates.xml" ^    "https://news.webits.1c.ru/news/Updates/atom"

Если на компьютере включен Антивирус Касперского, то можно получить ошибку curl: (35) schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - Функция отзыва не смогла произвести проверку отзыва для сертификата. Я просто отключил антивирус на 5 минут.

Файл записывается без BOM, что может вызвать проблемы с дальнейшей обработкой. Наверное это как-то настроено на сервере.

Power-shell:

# file: Get-News-001.ps1  Clear-Host    $webClient = New-Object Net.WebClient  $webClient.UseDefaultCredentials = $true  $webClient.Proxy.Credentials = $webClient.Credentials  $webClient.Headers.Add("user-agent", "PowerShell automated task")    # Подозреваю, что из-за того, что данные передаются без BOM, то получение данных  # через DownloadString с последующим выводом выдаст на экран кракозябры.  # Поэтому в явном виде преобразуем в UTF8  $newsData = $webClient.DownloadData("https://news.webits.1c.ru/news/Updates/atom")    Write-Host ([System.Text.Encoding]::UTF8).GetString($newsData)

Не забываем, что в power-shell надо включить возможность запуска неподписанных макросов. Это делается или в настройках вашей IDE, или прямо в командной строке, параметром -ExecutionPolicy=RemoteSigned

powershell -file "Get-News-001.ps1" -ExecutionPolicy=RemoteSigned

Что нам это даст? Пока ничего интересного. Но так как новости - это структурированный текст в формате xml, почему-бы не обработать его? Например, найти новость по значению какой-нибудь категории?

Найдём в новостях от 1С новости со значениями категорий Вид новости обновления=Публикация новой версии и Продукт=Комплексная автоматизация

Пример кода:

# file: Get-News-002.ps1Clear-Host# Настройки отбора, в виде массива$CategoryProducts = @(    # "Продукт=1С:Библиотека стандартных подсистем", # Заполнить!    "Продукт=Комплексная автоматизация" # Заполнить!)$CategoryNewsTypes = @(    "Вид новости обновлений=Публикация новой версии")$webClient = New-Object Net.WebClient$webClient.UseDefaultCredentials = $true$webClient.Proxy.Credentials = $webClient.Credentials$webClient.Headers.Add("user-agent", "PowerShell automated task")# Т.к. данные без BOM, то лучше явно преобразовать.$newsData = $webClient.DownloadData("https://news.webits.1c.ru/news/Updates/atom")[xml]$news = ([System.Text.Encoding]::UTF8).GetString($newsData)#[xml]$news = Get-Content -Encoding UTF8 -LiteralPath "$($env:TEMP)\updates.xml"for($c1=0;$c1 -lt $news.feed.entry.Count;$c1++){    # Получим новость    $entry = $news.feed.entry[$c1]    $ProductName    = ""    $bFoundProduct  = $false    $bFoundNewsType = $false    for($c2=0;$c2 -lt $entry.category.Count;$c2++){        # Получим и проверим категории новости        $CategoryProducts | ForEach-Object {            if($entry.category[$c2].term -eq $_){                $ProductName = $entry.category[$c2].term                $bFoundProduct = $true            }        }        $CategoryNewsTypes | ForEach-Object {            if($entry.category[$c2].term -eq $_){                $bFoundNewsType = $true            }        }    }    if ($bFoundProduct -and $bFoundNewsType) {        Write-Host ("Найдена подходящая новость. УИН: {0}, Заголовок: {1}" -f ($entry.id, $entry.title))    }}

Уже интереснее. А что мы можем сделать, если нашли нужную категорию? Например, можно самому себе отправить письмо.

Напишем код сразу так, чтобы письмо о выходе новости не отправлялось несколько раз - в отдельном файлике будем хранить entry.id - уникальный идентификатор новости и дату отправки.

# file: Get-News-003.ps1Clear-Host# Файл с информацией об отправленных email.$sendedEmailsPath = "$($env:TEMP)\sended.csv" # Заполнить!if(Test-Path $sendedEmailsPath){    # Файл существует} else {    # Файла не существует - создать пустой файл    Add-Content -LiteralPath $sendedEmailsPath -Encoding UTF8 -Force -Value ""}$sendedEmails = Get-Content -LiteralPath $sendedEmailsPath -Encoding UTF8 -Force# Настройки почты$CurrentDate        = Get-Date $CurrentDate_String = Get-Date -Format "yyyy-MM-dd HH:mm:ss"$From               = "news_center_tester@mail.ru" # Заполнить!$To                 = "old-coder-75@mail.ru" # Заполнить!$EncodingUTF8       = [System.Text.Encoding]::UTF8$UserName           = "news_center_tester" # Заполнить!$Password           = "*****" # Заполнить!$Credential         = New-Object -TypeName System.Management.Automation.PSCredential($UserName, (ConvertTo-SecureString $Password -AsPlainText -Force))$SMTPServer         = "smtp.mail.ru" # Заполнить!$SMTPPort           = 587 # Заполнить!# Настройки отбора, в виде массива$CategoryProducts = @(    # "Продукт=1С:Библиотека стандартных подсистем", # Заполнить!    "Продукт=Комплексная автоматизация" # Заполнить!)$CategoryNewsTypes = @(    "Вид новости обновлений=Публикация новой версии")$webClient = New-Object Net.WebClient$webClient.UseDefaultCredentials = $true$webClient.Proxy.Credentials = $webClient.Credentials$webClient.Headers.Add("user-agent", "PowerShell automated task")$newsData = $webClient.DownloadData("https://news.webits.1c.ru/news/Updates/atom")[xml]$news = ([System.Text.Encoding]::UTF8).GetString($newsData)#[xml]$news = Get-Content -Encoding UTF8 -LiteralPath "$($env:TEMP)\updates.xml"for($c1=0;$c1 -lt $news.feed.entry.Count;$c1++){    # Получим новость    $entry = $news.feed.entry[$c1]    $ProductName    = ""    $bFoundProduct  = $false    $bFoundNewsType = $false    for($c2=0;$c2 -lt $entry.category.Count;$c2++){        # Получим и проверим категории новости        $CategoryProducts | ForEach-Object {            if($entry.category[$c2].term -eq $_){                $ProductName = $entry.category[$c2].term                $bFoundProduct = $true            }        }        $CategoryNewsTypes | ForEach-Object {            if($entry.category[$c2].term -eq $_){                $bFoundNewsType = $true            }        }    }    if ($bFoundProduct -and $bFoundNewsType) {           Write-Host ("Найдена подходящая новость. УИН: {0}, Заголовок: {1}" -f ($entry.id, $entry.title))        # Проверим, была ли информация уже отправлена по email?        # Информация об отправке email хранится по каждому id новости в лог-файле $sendedEmailsPath.        $bEmailWasSent = $false        foreach ($sendedEmail in $sendedEmails) {            if ( $sendedEmail.StartsWith($entry.id) ) {                $bEmailWasSent = $true                break            }        }        # По этой новости ещё не создавался email.        if ($bEmailWasSent -eq $false){            Write-Host "По подходящей новости отправляем емейл..."            # Отправить почту            $Subject = $entry.title            $Body = "<h1>Выход новой версии</h1>" + `                "<p>" + `                $entry.summary."#cdata-section" + `                "</p>"            Send-MailMessage `                -From $From `                -To $To `                -Body $Body `                -BodyAsHtml `                -Credential $Credential `                -Encoding $EncodingUTF8 `                -SmtpServer $SMTPServer `                -Subject $Subject `                -Priority High `                -UseSsl `                -Port $SMTPPort `                -Verbose                            # Записать в лог, чтобы повторно не отправлять почту по этой новости            $LogString = $entry.id + ";" + $CurrentDate_String + ";"            Add-Content -LiteralPath $sendedEmailsPath -Encoding UTF8 -Force -Value $LogString        } else {               Write-Host "По подходящей новости уже был отправлен емейл."        }    }}

Хм. Не хочется вызывать скрипт ручками. Было бы неплохо это вызывать регулярно, например каждые 2 часа. Настроим "Планировщик заданий". В окне запуска (Win+R) вызовем "taskschd.msc".

Добавим новое расписание:

Настроим частоту запуска каждые 4 часа (триггер):

Добавим запуск скрипта (Действие):

Путь к программе powershell.exe надо указывать полный. И в аргументах - или полный путь к скрипту в параметре -file, или заполнить Рабочая папка.

Немного тюнинга - не люблю всплывающие окна. А при выполнении задания по расписанию, каждые 4 часа вылезает на весь экран окно выполнения скрипта. Можно запускать код power-shell через SilentCMD или CreateProcessHidden. Правда, на последнюю ругается антивирус, но не сильно.

У этого способа проверки новостей есть такой минус - требуется, чтобы этот компьютер был постоянно включен. Поэтому в следующих частях расскажу, как автоматизировать чтение новостей с помощью сервисов автоматизации и как я себе скачиваю подкасты.

Что ж, надеюсь, что информация оказалась полезной.
С интересом почитаю комментарии.

Остальные главы постараюсь в ближайшее время выложить.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru