|
Подпишитесь на новости сайта по RSS
|
|
Главная страница
Здравствуйте!
Вы находитесь на сайте WebHamster.ru. Наш хомячок бегает по интернету в поисках интересной информации. Он собирает её по крупицам и аккуратно складывает здесь. А еще хомячок знает буквы, садится за свою маленькую пишущую машинку и сам пишет всякую ерунду. Он такой непоседа...
Новости
|
|
|
Признаюсь: я неосилятор Vi, Vim и Emacs. Не могу я комфортно работать с этими странными *NIX редакторами, в которых нужно все помнить и просто знать как что делать. Я проходил встроенные туториалы Vi/Vim, но в конце забывал, что там было в начале. В emacs меня всегда удивляло то, что стандартная поставка идет с каким-то диким конфигом, пользоваться которым вообще невозможно. Но главное не это. Главное то, что редактировать текст приходится не только в консольном текстовом редакторе, но и в других местах: в полях ввода браузера, в специфических IDE, в различных GUI программах, да в том же офисе наконец. И я считаю, что везде должны использоваться одни и те же принципы, одна и та же логика, одни и теже сочетания клавиш.
Я не понимаю, как люди при работе в vi/vim/emacs делают одно и то же действие над тестом так, а в других программах, - те же действия над текстом, - эдак. Все время следить за контекстом работы - это очень утомительно. И поэтому я давно уже ищу человеческий консольный редактор под Linux, чтобы все популярные действия в нем делались так же как и в других частях DE.
Долго меня убеждали, что такого нет и не будет, потому что консоль, потому что терминал. Но я потихоньку разбирался с настройками, и, например, научился делать правильный и заметный курсор в Konsole и настраивать в терминале копипаст по клавишам Ctrl+C/Ctrl+V. Эти маленькие победы дали сумасшедшее удобство в работе. Я уже не задумывался, когда и где нужно нажимать Ctrl/Shift+Ins. Везде Ctrl+C/V и все! Но у меня все так же небыло нормального консольного редактора. Я около года пользовался редактором FAR в эмуляции, потом переключился на Sublime, потом на KWrite, о чем написал цикл из трех статей.
Но, скажем честно, KWrite - это очень хороший, но все-таки не консольный редактор. А хотелось иметь такой редактор, который бы работал не только в локальной консоли, но и удаленно через SSH. И чтобы небыло никакой разницы, локально ли правится текст, или текст правится на удаленной машине. Да, vi/vim частично обладают таким свойством. Но эта универсальность была достигнута дорогой ценой: полный отказ от привычных комбинаций с клавишами-модификаторами, и построение работы через алфавитно-цифровую часть клавиатуры, плюс извращенное использование клавиши Esc.
И вот, в 2016 году, совершенно неожиданно появился консольный редактор Micro, написанный с нуля на языке Go. Он оказался удивителен тем, что в нем - о ужас! - работали привычные сочетания клавиш! Он молча перебиндивал сочетания Ctrl+C/V, благодаря чему сразу работал привычный копипаст. Он интегрировался с буфером обмена DE. Он показывал помощь по клавише F1, сохранял файл по Ctrl+S, отменял действия клавишей ESC, и даже по этой же клавише завершал свою работу. И даже текст выделялся привычными клавишами Shift+Стрелки. Для меня это было сигналом к тому, что авторы данного редактора на одной волне со мной. И я решил начать им пользоваться постоянно.
В процессе использования данного редактора выявилась пара проблем, которая была успешно решена при общении с автором редактора. Я сделал себе небольшие записульки о том, как пользоваться и что надо настроить в первую очередь в редакторе Micro:
Следует сказать, что по-умолчанию некоторые комбинации клавиш работают не так, как привычно. Например, клавиши выделения до начала/конца строки придется настраивать отдельно. Но настройки в Micro очень обширны и работают как положено.
На русском языке материалов об этом редакторе практически нет. Поиск Яндекса выдает на первой странице всего три статьи:
Тем не менее, редактор очень хорош, а если в нем еще и появится привычное многим меню, то он вообще сможет стать идеальной программой для редактирования текстов.
|
|
|
|
В последней актуальной версии PIM-менеджера MyTetra v.1.42 появилась возможность делать в текстах записей ссылки на другие записи. Такие ссылки называются внутренними. Для пользователя это выглядит следующим образом: кликнув правой кнопкой мышки на запсиь, выбирается пункт "Скопировать ссылку на запись". После чего данную ссылку можно использовать как обычные http-ссылки, размещаемые в тексте с помощью кнопки редактирования ссылки (иконка земного шара, пристыкованного к проводу).
Для обозначения внутренних ссылок был создан специальный протокол "mytetra". На уровне HTML-кода ссылки на записи представляются в виде:
<a href="mytetra://note/идентификатор_записи">Это ссылка на другую запись</a>
Внутренние ссылки работают в самой программе MyTetra, однако до сегодняшнего момента сервис MyTetra Share не умел преобразовывать такие сылки в обычные URL, чтобы перекрестная навигация работала и в браузере при просмотре баз знаний. В версии 0.44 этот недостаток был устранен, и теперь ссылки на другие записи в текстах записей не вызывают ошибки, а открывают соответствующие Web-страницы.
|
|
|
|
Нашел тут интересный сайт MegaIndex, на котором есть куча бесплатных инструментов для анализа сайта. Один из инструментов называется "Внешние ссылки", с помощью которого можно анализировать ссылки, ссылающиеся на анализируемый сайт. В нем есть раздел "Популярно в анкорах", в котором формируется графическое облако слов, чаще всего используемых в ссылках на сайт. Напрямую можно попать на страницу внешних ссылок вот так:
https://ru.megaindex.com/backlinks/имя_вашего_сайта?sort=desc&sort_by=domain_rank
В результате будет сформировано облако, которое наглядно дает понять, как выглядит сайт в интернете с точки зрения ссылок, ссылающихся на него на различных сайтах. Для моего проекта WebHamster.Ru это облако выглядит так:

Все ключавые слова очевидны, за исключением загадочных Family, Gift Card, Racing. Предполагаю, что они образовались в результате использования форума сайта в спамерской сети, когда на форуме спамботами публикуются посты с сылками, а на эти посты делаются ссылки на других сайтах, чтобы для целевого ресурса сформировать ссылочную массу с хороших сайтов для людей. Я периодически борюсь со спамерами, и для этого сделал и самодельную sin/ellipse искаженную капчу, и прикрутил проверку через stopforumspam.com, однако настойчивые спамеры пролезают вручную. Поэтому, если оставить форум без присмотра на неделю, то несколько сообщений будут болтаться, пока их не удалишь. Так что сейчас подумываю о прикручивании модуля, который будет удалять сообщения после их публикации.
В общем, сервис интересный, рекомендую вебмастерам проанализировать свой сайт им, а так же другими инструментами типа Xtool и ему подобными. Удачи!
|
|
|
|
В рамках работ по внедрению криптоанархии в жизнь, наконец-то было сделано то, что давно должно было быть сделано. Сегодня я перевел свой сайт в режим шифрования по протоколу HTTPS (SSL). Теперь только злой человек посередине сможет перехватить мой пароль на админку. Повышение секьюрности - бесполезный, но необходимый шаг, который рано или поздно надо было совершить.
Для получения сертификатов я использовал бесплатный сервис Let's Encrypt. Данные сертификаты выдаются на три месяца, поэтому помимо включения протокола HTTPS, нужно настраивать автоматическое продление. Все производимые настройки я методично записывал, и в результате получилась такая статья:
Настройка сертификатов Let's Encrypt HTTPS на веб-сервере NGinx в Debian Linux Jessie
Внимание! Некоторое время на сайте могут наблюдаться проблемы, связанные с переходом на новый протокол. Я не робот, и сразу все неполадки заметить не могу. Можно рапортовать о проблемах мне на email (см. внизу страницы) или писать в гостевую книгу.
|
|
|
|
По просьбам пользователей PIM-менеджера MyTetra было проведено нагрузочное тестирование версии 1.42. Проверялась работа с базой, содержащей 100 000 заметок.
Специально для тестирования был написан скрипт генерации тестовой базы generateBase.php, размещенный в настоящий момент в ветке experimental. Данный скрипт создает в отдельном каталоге тестовую базу, наполненную ветками и записями со случайно сгенерированными текстами.
Результаты тестирования изложены в следующей статье:
Нагрузочное тестирование MyTetra 1.42 на 100 000 записей
Краткие выводы следующие: MyTetra без проблем работает с базой такого размера. Самая большая просадка в скорости выполнения различных действий - это, как и ожидалось, полнотекстовый поиск по всей базе знаний. Для решения этой проблемы необходимо внедрять в проект возможность индексации текстов.
В остальном результаты нагрузочного тестирования очень обнадеживающие. Всем пользователям MyTetra рекомендую ознакомится.
|
|
|
|
Я никогда не пользовался соцсетями. Когда началась соцсетевая лихорадка, я с удивлением смотрел на людей, которые готовы были рассказать о себе всё и сутками залипали у монитора в поисках ржаки, споров, хайпа, лайков и прочей социомлядской дребедени. Я отчетливо видел, как социальные сети привязывают к себе людей (и продолжают это делать сейчас). Я не желал снижать уровень цифровой приватности и не хотел тратить время на соцсети, потому что прекрасно понимаю, насколько сильно они меня могут затянуть.
Но с появлением сотового телефона с ОС Андроид стало ясно, что от всевидящего ока никуда не денешься. И смысла в десктопной цифровой гигиене, с ОС Linux в главной роли, уже никакого нет. Но так как я не влился в соцсетевое братство с самого начала, мне до сих пор наличие соцсетей было бы совершенно до лампочки, если бы... Если бы я не был разработчиком своего сайта.
Мне постоянно твердили: как ты вообще держишь сайт без социальных кнопок? Откуда у тебя такая дикая посещаемость, если ты никогда не занимался раскруткой?

Я пожимал плечами, и говорил, что наверно это из-за того, что все материалы сайта хорошо протегированы, и поисковики его за это любят. Так оно и было, и, надеюсь, будет.
В установке социальных кнопок меня останавливало то, что, как я думал, придется регаться во всех социальных сетях, чтобы получить код своей кнопки. На деле это оказалось верно только наполовину: некоторые соцсети для доступа к актуальной документации требуют авторизацию, а некоторые публикуют API в открытую. В кнопках нет привязки в соцсетевому аккаунту - это хорошо. Но вот культурным шоком для меня было то, что соцсети в своем API не имеют стандартных квадратных кнопок с логотипом сети. Только прямоугольные кнопки, которые не так то просто впихнуть в компактный дизайн. Народ извращается как может: рисует свои кнопки и время от времени адаптирует свой код к постоянно меняющимся API то одной то другой соцсети, или пользуется сторонними сервисами, предоставляющими наборы социальных кнопок.
Я решил не тратить время на написание своего костыля, и просто воспользовался сервисом uSocial.pro. В бесплатном доступе у него есть четыре вида простецких кнопок, а большего мне и не надо. Да, еще одним культурным шоком было то, что вебмастера готовы ежемесячно платить стороннему сервису по два-три доллара за использование красивеньких социальных кнопок у себя на сайте. Мне бы в голову никогда не могла прийти такая услуга и то, что еще найдутся регулярно платящие пользователи за какие-то кнопочки. Но вот жизнь показывает, что и такая схема монетизации возможна. Кошмар.
В общем, немного поковырявшись, я сделал для своего сайта социальные кнопочки. На самом сайте они располагаются на правой панели:

Для сервиса MyTetra Share социальные кнопки располагаются в заголовке записи:

Теперь можно будет посмотреть, как эти кнопки влияют на посещаемость, и есть ли в них вообще смысл.
|
|
|
|
Сервис MyTetra Share обновился до версии v.0.39. В новой версии заголовки записей дополняются картинками, которые берутся из сопроводительных иконок, задаваемых для веток PIM-менеджера MyTetra (пункт в контекстном меню "Задать иконку").
Выглядит это так:

Пример реальной страницы с иконками: Список слов в Simple English.
Теперь заголовок записи, отображаемый в веб-сервисе MyTetra Share, стал более информативным, что позволяет быстрее визуально определить тематику страницы. Так же я надеюсь, что такое изменение улучшит восприятие страницы для читателя.
|
|
|
|
Я, как заядлый дебианщик, и активный нелюбитель systemd, с удивлением смотрю на новые веяния в принципах настройки сетевой подсистемы Linux. За годы работы с Debian у меня скопилось несколько рецептов настройки сети через конфиг-файлы, которые гарантированно работают.
Но вот пришлось на работе настраивать сеть в неизвестном мне доселе дистрибутиве Fedora 25, и я был удивлен отсутствию вменяемой документации по настройке сети на русском языке. Традиционно, интернет забит обрывочной информацией, из которой составить общую картину очень сложно. А сеть надо настроить.
Когда я разбираюсь с чем-то новым, я стараюсь свои изыскония методично записывать в MyTetra. В результате на MyTetra Share появилась статья:
Настройка сети в RedHat (RHEL) 7 Linux и Fedora 25 через консоль
В ней написан простой метод конфигурирования сети в Fedora 25, подходящий даже для начинающих пользователей. Надеюсь, эта статья кому-нибудь съэкономит время.
|
|
|
|
Сервис MyTetra Share, служащий для отображения открытых баз MyTetra в сеть Интернет, обновился до версии 0.36.
Теперь, если к записи прикреплены файлы в формате HTML, то эти файлы отображаются не в виде HTML-кода (именно так отдает контент GitHub), а отображаются в виде обычной веб-страницы. На файлы других типов это изменение не влияет.
Следующие изменения будут направлены на поддержку внутренних ссылок, появившихся в MyTetra версии 1.42
|
|
|
|
По сложившейся традиции, в конце каждого года я выкладываю на сайте Webhamster.Ru публичный отчет о сделанных проектах и записываю планы на новый год. В 2016 году эта традиция была нарушена. Причин тому было много, как хороших так и плохих, обо всех нет смысла говорить. Лучше вспомнить то, что важного и интересного было в 2016 году, и, если получится, записать планы на год 2017.
Что было сделано в 2016 году
1. В 2016 году стало ясно, что сайт WebHamster.ru вырос из своего тарифного плана, которым я пользовался на хостинге TrueVDS.ru. На этом хостинге меня радовала недорогая XEN виртуализация, но все остальное было ниже плинтуса. Одно только отсутствие админки хостинга чего стоило. Все заявки выполнялись специалистами вручную. В общем, сайт был перенесен на KVM виртуализацию к хостеру iHor.ru. Стоимость осталась почти та же, а всех ресурсов стало в четыре раза больше по всем параметрам - и по частоте процессора, и по ОЗУ, а дисковое пространство вообще увеличилось на порядок. Новый хостер мне так понравился, что я по акции продлил оплату на второй год вперед.
2. В 2016 году произошло знаменательное событие: менеджеру накопления информации MyTetra исполнилось 5 лет. К этой дате был выпущен большой релиз v. 1.42, который задал новую планку возможностей этого PIM-менеджера. Эта работа съела у меня лювиную долю личного времени, но я рад тому, что релиз все-таки состоялся. Сразу после релиза была написана большая статья на Хабрахабре:
Самая нужная программа на свете
после чего сайт Webhamster.Ru накрыло хабраэффектом, но мощности нового тарифного плана и моей любименькой, самописной, супербыстрой CMS хватило, чтобы сайт продолжал нормально работать.
Всю подробную информацию об изменениях и нововведениях в MyTetra на этот раз я подготовил в виде видеообзора на YouTube из трех частей:
Для монтажа этих видеороликов использовался встроенный видеосеквенсор Blender-а, потому что только он оказался наиболее вменяемой программой видеомонтажа в Linux.
3. Разрабатываемый мною переключатель раскладок Lolo Switcher для Linux до сих пор оставался низкоуровневым. Для переключения раскладки он работает с файлами устройств ввода (т. е. по сути с аппаратурой) напрямую. Это решение имеет как положительную, так и отрицательную стороны. Положительная сторона - это четкая и безглючная работа со всеми известными DE и независимость от настроек X11-подсистемы, а отрицательная - это то, что такой переключатель может быть только локальным. И не может работать в удаленной X-сессии, запущенной на удаленном сервере. И я решил все-таки разобраться, можно ли в X-сервере получать события от виртуального устройства клавиатуры так же, как это можно сделать для реального устройства.
И я разобрался, и написанный мною код даже заработал на разных Линуксах на разных конфигурациях. Однако быстро выяснилось, что взятый за основу код программы xinput, работающий с одноименным расширением сервера XInput, все-таки не может работать в удаленном терминальном режиме - в этом режиме xinput просто сегфолтится. Буржуины по этому вопросу ничего внятного не ответили. На русскоязычном StackOverflow тоже ничего конкретного не сказали. Могу сказать только, что нужно теперь разобраться в самом API подсистемы XInput, поэкспериментировать с ним и понять, можно ли отлавливать события клавиш-модификаторов виртуальной клавиатуры при удаленном подключении. Так что пока что данный вопрос остается без ответа, и соответственно, Lolo Switcher в удаленном графическом терминальном режиме (например, в x2go) пока функционировать не будет. Это не значит, что Lolo Switcher не работает в удаленном терминале SSH - с этим-то все в порядке. Так же нет проблем с VNC/RDP, так как в этих протоколах локальное переключение языка транслируется на удаленную систему. Проблема только в работе чистого удаленного графического X11-сервера.
4. Из личных достижений в 2016 году - это успешное выступление за команду предприятия в игре "Что? Где? Когда?". Наша команда резко взяла старт, с первой квалификационной игры сразу попала в городскую высшую лигу, а в конце сезона стала победителем высшей лиги. Нам противостояли команды предприятий атомной отрасли и прочих организаций города (а таких команд более двадцати). После победы мы были приглашены на игру с телезрителями в прямом эфире местного телевидения, и выиграли ее со счетом 6:4. Это был первый опыт такой передачи как для самих телевизионщиков, так и, естественно, для нас.
Далее мы попали на общероссийский отборочный тур команд Росатома, но о его статусе узнали в момент прибытия - мы думали, что просто едем на областные соревнования. Игру вел по телеконференции Константин Рудер (известный как капитан "Команды Росатома"). На этой игре мы сыграли как среднячки, а в финал вышла команда Курчатовского института. Не все знают, что отборочные игры ассоциации интеллектуальных игр бывают жостче, чем показывают по телевидению, и в них нередко проигрывал даже Анатолий Вассерман со своей командой.
Планы на 2017 год
Начну издалека. В течении 2016 года я потихоньку писал статью, которую опубликовал на Хабрахабре в феврале 2017 года. Статья называлась так:
Каково это — быть разработчиком в России, когда тебе сорок
Этот текст изначально был задуман как пародия на статью европейского программиста, которого зовут Adrian Kosmaczewski. Но в процессе написания как-то всё превратилось в описание жизненного пути, а пародией выступила вся наша окружающая действительность.
Статья вызвала невероятно бурную реакцию хабра-сообщества. Комментариев было столько, что я не успевал их читать, не то что отвечать. И комментарии продолжают писать до сих пор. На какое-то время я стал первым в рейтинге хабралюдей (бестолковая пузомерка, но все равно приятно). Гораздо важнее цифра в 113 тысяч просмотров зарегистрированных пользователей хабара. А сколько всего народу прочитало - мне неизвестно.
Про положительный эффект статьи я пока не буду говорить, но если все получится, про это будет написана отдельная новость. В любом случае, всё, что я рассказал, сводится к одному: планы в области информационных технологий на 2017 год я в настоящий момент не ставлю, потому что они находятся в зависимости от обстоятельств: либо будут слишком малы, либо слишком велики.
В общем, всем удачи. И пусть всё, что вы задумали, у вас получится. С наступающим Первомаем вас, товарищи!
|
|
|