Архив рубрики: Блоггинг

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

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

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

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

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

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

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

Халявная реклама на twite.ru

Рекалама на twite.ru бесплатно!

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

Существует еще одна возможность распорядиться своими средствами на twite.ru — их можно перекинуть на свой «аккаунт рекламодателя», при этом не нужно проходить проверку модераторами, средства остаются в системе. Вывод простой — можно зарабатывать средства на рекламу своего сайта при помощи ботов. И если твиттер-аккаунт для добавления в систему в качестве рекламной площадки нужно минимально раскрутить, то ЖЖ добавляется элементарно и без всяких проверок (хотя для раскрученного ЖЖ-аккаунта естественно выдаются более привлекательные рекламные предложения).
Читать далее Халявная реклама на twite.ru

Создание сайта как первый шаг к заработку в интернете

Я довольно много пишу разных заметок на такие темы, как продвижение сайта, его оптимизация и заработок в интернете. В общем-то эти темы — одни из преобладающих, чаще наверное только про Perl пишу. Взять хотя бы пару заметок из недавних: Быстроробот – что это такое — посвящена поисковой оптимизации, а Интернет-магазин как простой способ заработать в интернете — соответственно про заработок в интернете. Объединяет все эти заметки одна особенность — в них почти всегда речь идёт о работе с уже готовым сайтом, но ведь сайт тоже откуда-то нужно взять? О создании сайта предлагаю поговорить на сей раз.

Для начала разделю задачу создания сайта на две большие группы:

Создание профессионального сайта

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

Создание личного сайта/блога

На создании блога остановлюсь подробней. Во-первых — почему блог? Потому, что блог предполагает формат часто обновляемого ресурса, а частое обновление — один из ключей к успеху в продвижении.
Во-вторых — платный блог или бесплатный? На мой взгляд — особой принципиальной разницы нет. Собственным платным (затраты на доменное имя и хостинг имеются в виду) блогом удобней управлять, сделать из него можно что угодно. С другой стороны — бесплатный блог также позволит заработать (ЖЖ и Блоггер к примеру и вовсе встроенную рекламу поддерживают), а при желании возможности бесплатного блога легко расширяются до платного. За деньги конечно :). Зато в этом случае контент ваш не пропадёт, если вы не успеете вовремя оплатить расширение возможностей или передумаете это делать.
И в-третьих — какую платформу для блога выбрать? На мой вкус, Блоггер более удобен и для заработка, и для настройки под себя — даже в бесплатной версии возможности шире, чем у ЖЖ. С другой стороны — ЖЖ позволяет легко и быстро раскрутить свой блог, просто набрав взаимных друзей (например используя мой скрипт для добавления друзей). Больше друзей — больше популярность и рейтинги блога, а значит — и заработок выше.

Какой сайт создавать в итоге?

Итак, подведу итоги: если нужно создать профессиональный сайт — лучше всего искать помощи у специалистов по созданию сайтов. Если есть желание сделать свой блог — стоит использовать одну из популярных блог-платформ, а именно — ЖивойЖурнал или Blogger.com (он же Блогспот). Liveinternet.ru не рассматриваю — очень уж он на мой вкус «ванильно-клубничный», с сюсюканьем и котегами. По блогам на Яндексе (Я.ру) в плане заработка сказать ничего не могу — не пользовался ими для этого. Зато напомню, что при помощи яндекс-блога можно получить очень быструю индексацию материалов Яндексом (см. заметку Быстрая индексация страниц Яндексом). А вообще скажу так — при желании заработать можно везде, главное — прикладывать усилия.

Быстрая индексация страниц Яндексом

Решил вернуться, так сказать, к истокам ненадолго и снова поднять тему про быструю индексацию сайта в поисковиках, о чём уже писал почти два года назад. Теперь надобность непосредственно в индексации сайта целиком уже отпала — он и так давно в индексе, а вот ускорение индексации новых страниц может быть полезным.
Уже рассказывал про социальные закладки (в заметке Продвижение социальными закладками), на тот момент они действительно ускоряли индексацию, а в последнее время стал замечать, что в отношении Яндекса закладки стали совершенно неэффективны — никакого ускорения индексации не происходит. Стал искать другой способ и вспомнил, что среди прочего, при регистрации почты на Яндексе появляется возможность вести свой блог. Его и решил попробовать в качестве ускорителя индексации Яндексом.
Читать далее Быстрая индексация страниц Яндексом

RC Link Redirector и ссылки в текстовом виджете

На правах мини-совета для тех, кто тоже использует плагин RC Link Redirector для закрывания от индексации посторонных ссылок. Изначально плагин умеет оборачивать ссылки в записях, на страницах, в цитатх, в комментарих и текстах комментариев и т.д., но не умеет обрабатывать текстовые виджеты, в которые удобно ставить свои кнопки, баннеры и прочие подобные штуки.

Чтобы плагин научился закрывать ссылки в виджетах, надо добавить в него две строки (можно через Плагины->Редактор, если нет специального редактора для PHP).

Первую — внутрь функции rcr_adminpage, например после 187 строки «&nbsp;"Оборачивать" ссылки в <strong>блогролле</strong></label></td></tr>» добавить строку:

<tr><td><label><input name='rcr_txt_widgets' type='checkbox' value='1' <?php echo ($rcr_opt['rcr_txt_widgets'] ? 'checked' : '') ?> />
&nbsp;"Оборачивать" ссылки в <strong>виджетах</strong></label></td></tr>

Вторую — внутри rcr_redirector_hook, например после строки 241 «if($rcr_opt['rcr_comment']) add_filter('comment_text', 'rcr_encode');» вставить строку:

if($rcr_opt['rcr_txt_widgets']) add_filter('widget_text', 'rcr_encode');

Теперь осталось в админке плагина поставить галку на опции «Оборачивать» ссылки в виджетах и наслаждаться результатом 🙂
P.S. Кому лень редактировать файл плагина — можно скачать обновлённый и просто заменить старый в папке /wp-content/plugins/rc_redirector

Вставка PHP кода в WordPress записи и виджеты

Давно подумывал над тем, чтобы вставлять исполняемый код в посты, страницы и виджеты WordPress. Поскольку сам движок написан на PHP — логично вставлять именно его, хотя можно попробовать встроить например Perl, воспользовавшись CPAN-модулем PHP::Interpreter или PECL-модулем PHP под названием perl. Но PHP вставить естественно проще :).

Итак, как же вставить в WordPress PHP? Как и в большинстве других случаев, когда надо модифицировать движок — просто воспользоваться подходящим плагином.
Плагинов находится множество, я попробовал 4 штуки и остановился на Exec-PHP.
Он умеет всё, что мне было надо:

  • Вставлять исполняемый PHP код в посты (и соответственно — в страницы)
  • Втавлять код в виджеты

Прейдём к настройке плаина.

Настройка может оказаться не совсем очевидной — с административной страницы плагина всё сделать не получится. Чтобы исполнение PHP-кода в WordPress заработало, нужно убедиться в следующем:

  • Что пункт "WordPress должен исправлять некорректный XHTML код автоматически" в меню Настройки->Написание неактивен
  • Что выключен «графический» редактор в меню Пользователи->Ваш профиль (стоит галка на "Отключить «визуальное редактирование» при написании")
  • Что нужной группе пользователей (в WordPress это называется «ролью») разрешено исполнение PHP-кода (для роли «Administrator» должно быть разрешено по умолчанию)

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

Считаю не лишним напомнить про опасность исполнения неочищенного кода. Не знаю, поддерживает ли PHP какую-то аналогичую perl -T опцию, поэтому нужно просто помнить про очистку пользовательского ввода (использование недопустимых символов, размеры аргументов опций и т.п.), экранирование всех передаваемых в shell команд и их аргументов и так далее.

В остальном польза от встроенного в WordPress PHP кода очевидна — это полная свобода действий с содержимым блога, помноженная на простоту выполнения этих действий!

Обмен ссылками от WestSEO — три ссылки за одну

Как получить бесплатные тематические ссылки

Принял участие ещё в одной любопытной акции по обмену ссылками. Любопытна она своей «нетрадиционностью» — это не просто линкообмен, подобный тем, что проводятся в ЖЖ.

Алексей Московский предлагает бесплатно разместить написанную вами статью с тремя тематическими в своём блоге WestSEO. Таким образом, мы имеем некий сплав гостевого поста и статьи формата «википедии», где написавший получит три постоянных тематических ссылки с ресурса ТИЦ 50, а разместивший — качественный контент и ссылку с вашего блога на вашу статью.

Процитирую требования к статьям:

1. Объем от 2000 знаков без пробелов;
2. Интересный, уникальный текст вашего авторства. Давайте обойдемся без рерайта Википедии;
3. Соответствие статьи шаблону и стилю, предложенным ниже;
4. Не более 3-х внешних ссылок на ваши проекты или статьи. С точки зрения естественности, получается идеально если на каждые 1000 символов текста приходиться по одной внешней ссылке.;
5. Внешние ссылки должны быть хотя бы приблизительно тематичными моему блогу или теме статьи. Пластиковых окон и ипотеки не надо, умоляю вас;
6. На эту статью вы должны будете поставить ссылку у себя в блоге (можно постовой, можно использовать в контексте вашего будущего поста — как вам будет удобно). Всего одну ссылку, в обмен на три с моего блога — думаю, это справедливо;

Я уже поучаствовал в акции и написал статью про язык Perl, на котором создаю свои бесплатные SEO-скрипты. Написание заняло у меня всего пол-часа времени, а польза, на мой взгляд, очевидна — три бесплатных тематических ссылки и самосовершенствование в придачу. Так что предлагаю всем своим читателям рассмотреть предложение WestSEO, а возможно — и принять участие в акции.

А для все, кто, как и я, принимает участие в Марафоне молодых блогов, есть приятная новость — участник марафона invite4you предлагает всем марафонцам бесплатный прогон блогов! Спешите воспользваться!

Марафон молодых блогов — бесплатно раскручиваем свой блог!

Завтра, первого мая, стартует новая интересная акция по продвижению блога — «Майский марафон — забег молодых блогов«! Я со своим блогом «СетевойГибитобой» тоже решил принять в ней участие.

Информация по марафону — участники и спонсоры, официальные объявления. Не забываем читать блоги других участников!

Для начала озвучу официальные цели и задачи марафонцев:

Цель максимально увеличить количество посетителей блога, исправить недочеты, ошибки и получить навыки активного продвижения. Срок 1 месяц.
Я буду писать посты, посвященные развитию блога. Все основано только на моем личном опыте и эффективность проверенна. Будут рассмотрены следующие темы:
* Форумы
* Социальные сети
* Оптимизация, настройка блога
* ПС
* Подписчики
* ТИЦ и PR

Что же может получить молодой блоггер, помимо увеличения рейтингов блога, роста числа посетителей и улучшения своих позиций в поисковой выдаче? Безусловно — опыт работы по продвижению (путём изучения рекомендаций опытных блоггеров), опыт работы в команде (выполняя «задания» создателей марафона) и знакомство с коллегами по цеху (за счёт публикации взаимных обзоров блогов).

Логичным шагом будет записать основные показатели своего блога перед началом марафона, у меня они таковы:

Возраст: ~8 месяцев
Посещаемость: ~100 чел/сутки (по счётчику LiveInternet)
Прямых RSS-подписчиков: 50

Стать участником марафона проще простого — достаточно написать письмо организатору на адрес volandmail@gmail.com, в котором нужно представиться, указать адрес своего блога и оставить координаты для связи. Всё, вы в игре!

Оптимизация AdSense для блога — пошаговое руководство от Google

Размещение рекламных блоков Google AdSense для лучшей отдачи
Самые выгодные места размещения блоков AdSense

Google постоянно выпускает различные обучающие материалы для работы со своей системой контекстной рекламы — AdSense (вывод в указанных местах сайта коротких текстовых объявлений). Мне на глаза попалась презентация с одного из их онлайн-семинаров под названием «Оптимизируем AdSense на блогах» (автор — Павел Киливник).

Из презентации можно узнать следующие полезные вещи:

  1. в каких местах блога лучше всего размещать рекламные блоки AdSense для максимальной отдачи от объявлений (а значит — и максимального заработка веб-мастера) при различных форматах его компоновки (одна/две/три колонки, объемные текстовые блоки и т. п.)
  2. как привлечь на свой ресурс рекламодателей (путём показа не только текстовых, но и графических объявлений — баннеров, увеличением размеров рекламных блоков, целеориентация объявлений)
  3. какой формат рекламных блоков (размеры блока, начертание и размеры шрифта объявлений) наилучшим образом подходит для работы и заработка с AdSense
  4. как ещё можно повысить доходы от работы с AdSense (размещение рекламы в результатах поиска и т. п.)

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