Архив рубрики: Интернет

Advent of Code 2022: Day 9

Вариация на тему змейки — это любопытно. Задачка решилась бы быстро, если бы не моя невнимательность.

Проклятая невнимательность! Она стоила мне пары часов бесплодных поисков ошибок в формулах перемещения узла.

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

Для начала — сделал узелки — «головы» и «хвосты» (и это я не про самогоноварение сейчас).

class RopeKnot {
    public Set<List<Integer>> visited = new HashSet<>();
    public int x;
    public int y;
}

class Head extends RopeKnot {
    public void doStep(String direction) {
        if ("R".equals(direction)) this.x++;
        if ("L".equals(direction)) this.x--;
        if ("U".equals(direction)) this.y++;
        if ("D".equals(direction)) this.y--;
    }
}

class Tail extends RopeKnot {
    private final RopeKnot head;
    public Tail(RopeKnot head) {
        this.head = head;
    }
    public void doFollow() {
        int dX = head.x - this.x;
        int dY = head.y - this.y;
        if (Math.abs(dX) == 2 && dY == 0) {
            this.x += dX > 0 ? 1 : -1;
        } else if (Math.abs(dY) == 2 && dX == 0) {
            this.y += dY > 0 ? 1 : -1;
        } else if (Math.sqrt(Math.pow(dX, 2) + Math.pow(dY, 2)) > 2d) {
            this.x += dX > 0 ? 1 : -1;
            this.y += dY > 0 ? 1 : -1;
        }
        visited.add(List.of(this.x, this.y));
    }
}

Вот где здесь можно ошибиться? Инкремент, декремент, три вида перемещения — положительно — негде! Однако — именно здесь я и пытался безуспешно найти сбой.

Читать далее Advent of Code 2022: Day 9

Huginn, Yahoo Pipes, Habr и фид ленты комментариев

Huginn Agent event flow

Понадобилось мне получать с Хабра ленту комментариев пользователя в каком-то удобном виде, чтобы не заходить периодически на сайт для проверки её обновления. Очевидное решение — RSS.

В базе Хабр позволяет подписаться на профиль пользователя, или, по RSS, на ленту его публикаций. А вот для комментариев подобной возможности не предусмотрено (сама лента комментариев имеет вид https://habr.com/ru/users/user-name/comments/).

Первая мысль — воспользоваться Yahoo Pipes, ведь когда-то уже использовал его для решения подобных задач. Увы — оказалось, что сервис давно закрыт. Помолчим минуту (он был хорош!) и рассмотрим доступные альтернативы.

Читать далее Huginn, Yahoo Pipes, Habr и фид ленты комментариев

Цифровое телевещание IPTV

www.oc.ru
IPTV — цифровое телевидение, использующее интернет-протокол (IP). Услуга IPTV входит в сервисный пакет провайдера, то есть той организации, которая оснащала ваше жилье подключением к сети Интернет или ставила широкополосной ADSL — модем. Как предоставляется такая услуга и при каких условиях можно узнать на официальном сайте провайдера – здесь же скачать и плей — лист (список каналов) IPTV. Иногда провайдеры дают зашифрованный цифровой поток за дополнительную плату. В этих условиях требуется специальная телеприставка — плей-лист не поможет.

Как смотреть IPTV

  • Использовать телевизор SMART (со встроенным доступом к интернету) — некий симбиоз компьютера и TV. Поэтому, если вы хотите поменять старый телевизор и уже имеете дома качественный интернет — поинтересуйтесь моделями, которые имеют Ethernet или порты Wi — Fi и «дружат» с IPTV. Специалисты говорят — лучше подойдут определенные модели корейских брендов, в которых «прошит» специальный IP- проигрыватель. Останется только скачать плей — лист вашего поставщика интернета — и смотреть.
  • В роли сервера применить свой компьютер. Это можно сделать, установив на него программу, которая будет транслировать цифровой поток в формате, «понятном» для телевизора (DLNA). Компьютер работает как «переводчик» для телевизора. Недостатки этого способа: во время просмотра телепередач компьютер должен работать.
  • DLNA–сервер установить непосредственно на роутер. Для этого понадобится перепрошить роутер — сделать его «переводчиком» сигнала IPTV для телевизора. И тогда компьютер уже включать не надо.
  • Использовать IPTV на компьютере или соединить его видеокабелем с телевизором. Способ самый простой и наименее затратный — подойдет для любителей минимализма, которым не важен 40 — дюймовый экран. Скачайте плей-лист — и смотрите себе телепрограммы на здоровье. Платить будете только за интернет, без дополнительных затрат на оборудование.

Бесплатный Linux-shell с Tmux на борту

Возникла у меня как-то нужда в получении linux-shell на стороннем сервере с постоянным доступом в сеть (тот же парсер ТИЦ запустить например). При этом шелл должен был удовлетворять двум условиям: быть бесплатным и иметь возможность оставить запущенное приложение работать «в фоне», без поддержания постоянного соединения удаленной машиной. Помимо этого, хотелось несколько большего, чем возможность использовать простые dtach или nohup, а значит — нужно наличие на удаленной машине терминального мультиплексора (Screen или Tmux). Мой выбор пал на bshellz, удовлетворяющий всем условиям, включая наличие Tmux. Вот что они предлагают после прохождения бесплатной регистрации:

— Возможность разместить свой сайт на домене http://имя_пользователя.bshellz.net
— 50 Мб дискового пространства
— Электронный адрес вида: имя_пользователя@bshellz.net
— Возможность использовать одну базу MySQL, наличие phpmyadmin: https://services.bshellz.net/phpmyadmin/

Читать далее Бесплатный Linux-shell с Tmux на борту

Биржа GoGetLinks — покупаем ссылки правильно

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

В принципе, тема эта актуальна и сейчас, появился даже инструмент для автоматизации процесса заработка — система Быстропост. Им на субподряд можно отдать работу в том числе и с GoGetLinks, за цену в 50-55 руб. обещают написать заметку под требования оптимизатора и вместе со ссылкой разместить её на вашем сайте. Думаю, что если сайтов много — это неплохой способ сэкономить время, при нынешних ценах на ссылки Быстропост забирает от 50-60% дохода, выполняя всю работу.

Но в этот раз я хочу рассказать о GoGetLinks с точки зрения покупки ссылок. При правильном подборе источников это весьма полезно для сайта, особенно на первых порах, пока нет естественного прироста ссылочной массы. На подборе доноров для покупки ссылок и остановлюсь подробней.
Читать далее Биржа GoGetLinks — покупаем ссылки правильно

Простой скрипт для увеличения посещаемости блога в Живом Журнале

Около трёх месяцев назад в комментариях к скрипту для добвления друзей в жж Zanzanoza предложил попробовать ещё один способ увеличения количества своих читателей в ЖЖ. Суть способа проста — залогинившись под нужным аккаунтом, заходить на страницы профилей жж-юзеров в расчете на то, что посещение зафиксируется в статистике их журналов и какой-то процент посещённых в ответ заинтересуется нашим журналом.

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

HelpMyBlog — продвигай блог бесплатно и помогай другим

Пару недель назад наткнулся на достаточно молодой сервис, призванный помочь блоггерам и веб-мастерам в раскрутке своих творений. Называется он HelpMyBlog и использует для помощи в раскрутке достаточно простой, но эффективный принцип «ты — мне, я — тебе».

Суть работы с сервисом очень проста — после регистрации достаточно добавить свой блог в каталог и ждать помощи от других пользователей. Например, в своём блоге вы рассказываете о том, как сделать красивый коллаж, приводите примеры коллажей, описания нужных инструментов (графических редакторов и т.п.), принципы компоновки коллажа. Или делитесь знаниями о том, как собрать игровой компьютер — какое подбирать железо, как его разгонять, версии драйверов и твики для повышения производительности и так далее. Обе темы достаточно интересные, блог после добавления появляется в разделе «новые блоги» на главной странице сервиса. Пользователи, которым подходит тематика ваших статей, начинают «помогать» блогу — переходить на него, комментировать, распространять ссылку в соц. сетях (твиттер, вконтакт, фейсбук). За публикацию ссылки и переходы по ней начисляются баллы.

Вы поступаете аналогично, помогая понравившимся блогам из каталога и получая баллы. Эти баллы потом можно поменять на «гарантированные клики» — ваш блог будет висеть на главной странице, а за клики по ссылке на него будет начисляться удвоенное количество баллов, что стимулирует распространение ссылки. Или баллы можно обменять на вывод своего блога в верхние позиции каталога (первое, второе или третье места).

Идея проста — чем больше помогаешь другим, распространяя ссылку на их блоги (а они в ответ — на твой), тем больше получаешь баллов. А чем больше получаешь баллов — тем больше помогают тебе благодаря гарантированным кликам (один такой стоит 4 балла заказавшему и приносит 2 балла кликнувшему). Ключ к успеху — хороший аккаунт в одной или нескольких соц. сетях. По опыту — проще всего раскрутить и использовать твиттер. При семи сотнях читателей на ссылку кликают 20-30 раз (особенно если выбирать интересные читателям блоги) и если выбирать блоги с главной страницы — можно получить 40-60 баллов соответственно.

Я попробовал — и мне понравилось, да и кому может не понравиться бесплатная раскрутка блога? 🙂 Предлагаю попробовать и вам!

Как я делал интернет-магазин

Когда я касаюсь темы заработка в интернете, я обычно рассматриваю этот вопрос с точки зрения заработка на блоге или сайте, так как сталкивался с этим лично. Однако тема разработки интернет магазина мне тоже немного знакома — я делал интернет-магазин по просьбе одного знакомого. Хотя «делал» — громко сказано, на самом деле я просто развернул готовое решение на своём хостинге и подключил к нему доменное имя. В принципе, если стоит задача быстро получить работоспособный и не слишком сложный магазин — такой путь выглядит весьма привлекательным. Дело за малым — выбрать движок интернет-магазина и установить его.

Вариант первый — использовать надстройку или плагин для CMS, изначально не являющейся магазином (например — тот же WordPress, можно даже разработать собственный плагин). Из готовых плагинов можно отметить следующие:

  • WordPress e-Commerce Plugin — существует в виде платной и бесплатной версии, один из самых известных плагинов такого рода. Имеет большое количество подключаемых модулей (в основном тоже платных).
  • WordPress Quick Shop — полностью бесплатный и достаточно мощный, в большинстве случаев ничем не уступит предыдущему, так что для создания интернет-магазина на wordpress можно смело выбирать именно его.

Вариант второй, который в итоге показался мне более правильным — использовать готовую CMS, предназначенную для создания именно интернет-магазина. На моём хостинге на выбор предлагается вот такой внушительный список CMS для интернет-магазина: ShopSite, PrestaShop, Avactis, Magento, CubeCart, OSCommerce, Zen Cart, AgoraCart, OpenCart и TomatoCart. Из всех перечисленных я остановился на OSCommerce в силу её бесплатности (распространяется под лицензией GNU GPL), расширяемости (поддержка плагинов, которых существует уже огромное количество), наличия поддержки разных языков (включая русский) и нескольких валют (включая рубль), между которыми возможна автоматическая конвертация. Также у OSCommerce простая и понятная админка, через которую легко подключить языки и валюты, установить собственный шаблон оформления и наполнить магазин товарами (движок поддерживает неограниченное количество товаров и категорий).

Ну а уже определившись с CMS для магазина, оставалось только выбрать доменное имя и зарегистрировать его, прописать его на хостинге и установить саму CMS при помощи SimpleScripts. На всё про всё — 15 минут времени. Допускаю, что мой выбор движка для интернет-магазина не идеален — может быть кто-то подскажет решение лучше?

Cборка модулей ядра для dd-wrt

Не смотря на то, что dd-wrt имеет достаточное количество собранных пакетов, доступных через пакетный менеджер, кое-чего иногда все же не хватает. Можно в принципе написать аналог этого «чего-то» на том же Perl и спокойно запустить на роутере, но такой подход в случае с относительно сложным и большим приложением нерационален. А в случае с нехваткой поддержки ядром прошивки нужных функций — и вовсе очень затруднителен. И тогда на помощь приходит старый добрый способ сборки из исходников, осложняющийся в данном случае тем фактом, что собирать на самом роутере не слишком удобно в силу ограниченности его ресурсов, а сборке на производительной машине препятствует разница в архитектурах процессоров (у DIR-620 это MIPS), если у вас конечно нет доступа к производительной MIPS-машине с аналогичной архитектурой ЦПУ 🙂 Вывод — нужен кросс-компилятор. О процессе сборки приложений и модулей ядра под dd-wrt на DIR-620 при помощи кросс-компилятора и пойдет речь ниже.
Читать далее Cборка модулей ядра для dd-wrt

Прогон сайта по RSS-агргаторам

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

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

http://blogrider.ru/catalog/blogs/add
http://www.blogdir.ru/add_blog/
http://alfaru.com/rss/addrss.html
http://rssreader.ru/addfeed
http://www.iblogger.ru
http://rss.zssn.org.ua/
http://redtram.ru/pages/addsource/
http://litecat.com/?link=add
http://liverss.ru/
http://news.nofollow.ru/?page=addrss
http://subscribe.ru/faq/lenta/submitrss.html
http://catalog.gpmv.ru/add/1
http://www.plazoo.com/ru/addrss.asp
http://www.all-rss.co.cc/
http://www.prime-rss.ru/add.php
http://blogs.yandex.ru/add.xml
http://prostir.kiev.ua/index.php?nma=blog&fla=add
http://izzet.com.ua/index.php?nma=blog&fla=add
http://www.arkadia-ko.com/kms_blog+add.html
http://rssdirectory.ru/addfeed.html?catid=
http://kmstudio.com.ua/index.php?nma=blog&fla=add
http://www.blogo.ru/submit.php
http://subbota.co.ua/index.php?nma=blog&fla=add
http://rss-farm.ru/catalog.aspx
http://blogs.yandex.ru/add-catalogue.xml
http://directory.google.com/Top/World/Russian/Компьютеры/Интернет/В_сети/Блоги/
http://blograte.ru/
http://www.blogbooster.ru/index.php?do=basic
http://bloglink.ru/adlink?white=1
http://www.websmoke.ru/free_add_blog.php
http://content.mail.ru/cgi-bin/list.cgi?action=rss_add
http://blogrider.ru/catalog/blogs/add/
http://rsslenta.ru/registration
http://www.newshit.ru/news/rsswork?mode=add
http://dobrobot.com/
http://www.listwww.com/add.php

Неплохим шагом будет использование бесплатной программы для добавления в RSS под названием RSS Adder — мало того, что она содержит базу из РСС-лент — в нее очень просто внести свои ленты и потом за пару кликов добавлять в них нужный сайт!