Search
Write a publication
Pull to refresh
12
0

Backend software engineer and tech lead

Send message

Коллекция Telegram ботов для гиков

Reading time3 min
Views112K


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

Читать дальше →

Протокол ухода из жизни

Reading time8 min
Views153K
image

Об авторе. Питер Хинченс — бельгийский разработчик, писатель и бывший президент Фонда свободной информационной инфраструктуры, ассоциации, которая борется с софтверными патентами в Европе. Автор более 30 протоколов и распределённых систем, основатель свободного проекта ZeroMQ и проекта Edgenet по созданию полностью безопасной, анонимной глобальной P2P-сети, исполнительный директор и ведущий программист компании iMatrix. Автор книг «Культура и империя: цифровая революция», «Код психопата», «Масштабируемый Си» и др.

Пришло время для моей последней статьи. Я мог бы написать ещё, есть время, но потом буду думать о других вещах: как удобнее устроиться в постели, когда принимать болеутоляющие и о людях рядом со мной.

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

Я был изолированным и одиноким юношей. Немного аутистичным, наверное. Я думал только о работе, плавании, своих домашних животных, снова о работе. Мысль о том, что людям может нравиться моё общество, была странной. По крайней мере моя работа, казалось, имеет значение. Мы писали генераторы кода на Cobol. Я написал редактор кода, который нравился сотрудникам, потому что элегантно работал на всём. Я самостоятельно выучил Си, ассемблер 8086 и писал программы shareware. Так медленно прошли 90-е.
Читать дальше →

Кнопки социальных сетей, HTML 5, атрибут data и асинхронная загрузка javascript

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

Первым делом начал собирать информацию, ее довольно много, есть правда и устаревшая. Например, Twitter поменял уже ссылку, старая twitter.com/share, а новая twitter.com/intent/tweet, у Google ссылка «www.google.com/buzz/post», уже давно не работает, вместо нее plus.google.com/share. Конечно, это общеизвестные факты, но, похоже, все-таки не все об этом знают и предлагают «шарить» на старые ссылки.

В общем, ознакомившись с темой, решил взять кнопки в первоисточнике:
Читать дальше →

Как вернуть деньги со счета мобильного, если вы не подключали сторонних услуг

Reading time4 min
Views222K
Если вдруг однажды вы заметите, что с вашего счета начнут утекать деньги в непонятном направлении, эта статья поможет вам разобраться в причинах и, самое главное, вернуть эти деньги.

Disclaimer: хабр не является жалобной книгой, поэтому из статьи был выкинут личный пример «попадания» на описываемое.

Как вообще можно подписать на услугу без моего ведома?


У сотовых операторов есть «партнеры», оказывающие разного рода услуги (например, купить картинку-подарок в «Контакте»). Смысл подобных услуг заключается в следующем:
  1. Вы вводите номер телефона.
  2. Вам присылают код подтверждения.
  3. Вы вводите этот код.
  4. С этого моменты вы считаетесь официально подписанным на какую-то услугу (будь то одноразовую или нет).


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

Всё это делает возможным, например, следующую схему:
  1. 1-го января в семь утра вводят ваш номер телефона.
  2. Оператору присылают уведомление, что вы бессрочно подписались на такую-то услугу и подтвердили эту услугу.
  3. С вашего счета начинают списывать 40 р. каждый день, пока не кончатся деньги или вы не заметите их утечку (если вы платите за телефон раз в месяц, то легко можете потерять тысячу рублей).

Читать дальше →

11 шагов к хорошему интернет-магазину

Reading time8 min
Views26K
Вместо эпиграфа: предыдущий обзорный пост на эту тему (не мой) здесь датируется аж 2010 годом, и я решил освежить тему. Если вы знаете владельцев интернет-магазинов, пожалуйста, покажите им эту статью.

Спасибо!


Вы уже сделали ваш собственный интернет-магазин или только собираетесь, или сделали уже десятки сайтов магазинов на заказ? Как постоянный пользователь десятков интернет-магазинов в России, США, Великобритании, Германии, Китая и Финляндии, я очень вам благодарен: интернет-магазины сделали мою жизнь удобнее, и сейчас проще заказать все, что мне надо, не выходя из дома.

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

Читать дальше →

Шесть подработок для ИТ-специалиста, за которые платят в долларах

Reading time5 min
Views118K


Не поймали за хвост удачу в виде главного бага известного сервиса, нет желания “толкаться” на oDesk или не хочется делать то же, что уже и так делаете в рабочее время?

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

Три пункта не про работу

Подпольный рынок кардеров. Перевод книги «KingPIN». Глава 33. «Стратегия выхода»

Reading time12 min
Views8.7K
В главе 33 повязали главного героя. Он хотел отойти от дел и стать whitehat, но правительство надавило на сервис анонимной почты, и те скомпрометировали ключи.

Кевин Поулсен, редактор журнала WIRED, а в детстве blackhat хакер Dark Dante, написал книгу про «одного своего знакомого».

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

Квест по переводу книги начался летом в ИТишном лагере для старшеклассников — «Шкворень: школьники переводят книгу про хакеров», затем к переводу подключились и Хабраюзеры и даже немного редакция.

Глава 33. «Стратегия выхода»

(за перевод спасибо r0mk )

“Это федералы” — сказал Макс, указывая на седан следовавший за ним по улице. Чарити скептически относилась к фордам. Американские машины были лишь одной из многих вещей, тревоживших Макса в эти дни. Прошли недели с момента ареста Криса, и чтения обзоров прессы из округа Оранж, Макс не давало понять, сколько улик нашла полиция в доме Арагона.

Заметаем следы

Reading time1 min
Views23K
Помните я про kill -9 $$ рассказывал?

Так вот, немного повторюсь: kill -9 $$ — «выход» из консоли без сохранения истории.
Как это работает: $$ — идентификатор текущего процесса консоли; kill -9 думаю объяснять не надо? Ну на всякий случай: kill -9 убивает указанный процесс (дочерние процессы также убьются, сами).

Но перед тем как бесследно исчезать из консоли не мешало бы всё таки подчистить файл ~/.bash_history, и самый интересный файл: /var/log/lastlog, именно в нём записан последний IP с которого логинились. Файл этот не обычный plain text, поэтому править его надо осторожно. Открываем и везде меняем свой IP.
В общем то его можно совсем удалить, тогда при логине в консоль вообще не будет строчки с last login, у меня на Debian, например, он сам не создается.

Таким образом, зная пароль, можно практически незаметно попасть в систему и так же незаметно оттуда исчезнуть.

Для операций с файлом lastlog нужны права root.

И пожалуй самое главное: не забывайте о том, что Linux ведет довольно подробные логи, и каждое ваше действие может быть где-то да и записано.

«Щадящая» балансировка между несколькими провайдерами на офисном шлюзе

Reading time9 min
Views23K
Эта статья описывает конфигурацию шлюза под управлением Linux для балансировки трафика между каналами разных провайдеров.


Результат, достигаемый в этом руководстве, отличается от результата подобных руководств: для каждого клиента используется один и тот же внешний IP-адрес, что избавляет от проблем с интернет-сервисами, которые не готовы к смене IP-адреса клиента в рамках одной сессии.
Читать дальше →

Go с точки зрения PHP программиста

Reading time8 min
Views69K
Предлагаю вашему вниманию перевод статьи Go from PHP engineer's perspective с сайта sobit.me.

Будучи PHP программистом, задумывались ли вы об идее изучения других языков программирования?

Уже много лет выбор многих компаний падает на PHP для создания полноценных монолитных приложений. Более того, за последние 5 лет фреймворки (Symfony, Laravel, Zend), инструменты (Composer, Monolog) и стремительно растущее сообщество (PHP-FIG) помогли многим разработчикам в создании программного обеспечения на уровне предприятий. Многие компании, такие как Facebook, Yahoo!, Wikipedia, Wordpress, Tumblr, начинали свою историю с PHP, и это не помешало им стать успешными в последующие годы.

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

В этой статье мы попытаемся понять, как далеко мы сможем зайти, имея в арсенале только PHP, и где может вступить Go, чтобы помочь решить проблемы, с которыми нам предстоит столкнуться.
Читать дальше →

6 впечатляющих веб-технологий 2015 года

Reading time5 min
Views55K
2015 год выдался богатым на нововведения, связанные с улучшениями веб-платформы. Аксель Рошмайер рассматривает 6 технологий, которые ему кажутся наиболее интересными:

1. Electron;
2. React Native;
3. Прогрессивные веб-приложения;
4. Visual Studio Code;
5. Rollup;
6. WebAssembly.



Читать дальше →

Двуногий робот Atlas. Новое поколение

Reading time1 min
Views17K
Компания Boston Dynamics (входит в состав подразделения Google[х] холдинга Alphabet) сделала новую версию своего двуногого робота Atlas, который, как известно разрабатывается по заказу ведомства министерства обороны США — DARPA.
Робот уже неплохо справляется с обязанностями грузчика и улучшил свои навыки в ходьбе по неровной местности.
Внешний вид также преобразился — ему добавили немного внешней обшивки, которая, на мой взгляд, делает его похожим на кибернетических персонажей фантастических фильмов.
По этому поводу компания выпустила интересный видео-ролик, в котором даже присутствует несколько захватывающих моментов.
Когда робот упал после тяжёлого толчка трубой сзади, и на секунду призадумался… мне показалось, что он сейчас встанет развернётся и выпустит пару зарядов из бластера в обидчика. Но видимо ещё не время…

Читать дальше →

Несколько неочевидных frontend-хитростей

Reading time4 min
Views93K
Под катом вы узнаете о том, как быстро и легко оформить взаимодействие с SVG-иконками, добавить плавный скролл с помощью одного CSS-правила, анимировать появление новых элементов на странице, переносить текст на новую строку с помощью CSS и о новых способах оформления декоративной линии текста.

wg css html
Читать дальше →

Несколько вещей, о которых стоит помнить программисту в возрасте

Reading time11 min
Views128K
Если вы из тех, кто «работал ещё Там-То!» и «делал ещё То-То!», а сейчас счастливо отдыхаете на пенсии — эта статья не для вас. Просто спасибо за труд и примите мои поздравления. Но если же вы, как и я, даже став немного старше всё ещё ощущаете страсть к программированию, радуетесь виду кода и не можете устоять перед желанием написать ещё что-нибудь, тогда продолжайте читать.

Большую часть моей жизни я проработал разработчиком программного обеспечения. Но однажды, уже под конец моего четвёртого десятка, я попался на удочку предпринимательской наживы. Я тогда поверил, что создавать собственные компании — это круто. Я нашел немного венчурного капитала и организовал пару небольших стартапов для реализации собственных идей. И вот я стал, как мне казалось, нормальным CEO и не таким уж плохим менеджером. И, хотя я уже не писал код лично, я мог нанимать хороших программистов, управлять качеством проектов и внедрением инноваций.

Я смирился с мыслью, что мой лучший код уже написан — в прошлом. Мне было уже 54 года (немало!) и я, вероятно, уже не мог писать код так же хорошо, как и раньше. Кто знает — может быть у меня уже начала отказывать память, ну или я просто выучил всё, что был способен в жизни выучить. Мой настрой подкреплялся наблюдениями окружающей меня реальности. Все новые технологии выглядели для меня чудаковато. Я ненавидел Node.js. Я считал все фреймворки для веб-разработки ужасными. И я сетовал на то, что классические способы разработки ПО разрушились и превратились в набор клише, которые нынче впариваются под умными названиями типа Agile или «экстремальное программирование». Я скучал за днями, когда люди писали спецификацию на будущее ПО, программировали, а затем тщательно тестировали его. И когда в каждой статье не было тысячи жаргонных словечек.
Читать дальше →

Доломать Windows, чтобы починить: «Было предпринято несколько попыток, но причину проблемы определить не удалось»

Reading time4 min
Views62K
Время от времени случается, что ко мне обращаются пользователи с заглючившим Windows 7 или 8 (наверняка так же и с «десяткой» будут жертвы), у кого постоянно запускается «Восстановление системы» вместо нормальной загрузки, и автоматический механизм поиска и устранения проблем не справляется.



Мне удалось разобраться, почему возникает сообщение «Было предпринято несколько попыток, но причину проблемы определить не удалось» и как вернуть жизнь операционке без радикальной переустановки.
Читать дальше →

Съёмка показаний счетчика на телефон с последующим распознаванием

Reading time20 min
Views188K

Вступление


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

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

Решение простое — оставить ключи родственникам/друзьям/соседям, чтобы они могли приехать и включить котел, случись какая-нибудь неприятность. Хорошо, если есть сосед, который будет каждый день заходить и проверять, всё ли в порядке. А если нет? Или он тоже решит уехать куда-нибудь на выходные?

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

Конечно, после простого выкладывания показаний в Интернет я решил не останавливаться на достигнутом и замутил ещё распознавание показаний и графическое представление, об этом читайте в части 2 данного топика.
Читать дальше →

Удаление/восстановление Metro-приложений в Windows 10

Reading time14 min
Views192K


Как бы не было много сторонников старых версий ОС, все же пришла пора переходить на Windows 10. В связи с этим предлагаю разобраться с предустановлеными Metro-приложениями. Согласитесь, мало кто будет использовать абсолютно все приложения, которые навязывает нам корпорация. Ведь большинство из них просто занимают место, а кого-то вообще раздражают. В этой статье я поделюсь с вами способом, которым можно «почистить» систему от именно таких — ненужных — приложений на Windows 10.
Читать дальше →

Чек-лист вёрстки. Что можно отдавать клиенту, а что надо переделывать

Reading time20 min
Views317K
Идеальная вёрсткаВы PM. Как узнать – готова ли вёрстка к реальному использованию?
Вы заказчик. Как убедиться, что работа выполнена качественно?
Как оценить качество вёрстки?

Когда я стал тим-лидом, а позже PM, передо мной стала задача проверять вёрстку наших проектов. Нужно было выработать формальные, легкопроверяемые критерии, соответствие кода которым, должно было давать некую гарантию, что не будет факапов и ни клиент, ни программеры не сказажут потом “WTF?”.

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

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

Итак что же это за список?

Краткая версия теперь доступна на html5checklist.com (github), где можно вносить pull-request'ы.

История обновлений:
  • 2015/08/11: Актуализировал рекомендации по оптимизации скорости загрузки. Добавил требование поддержки Retina. Дополнил «19. Мелочи» требованием что изображения должны масштабироваться в зависимости от размера окна.
  • 2015/08/10: актуализирован список исключений для CSSLint
  • 2015/07/29: актуализирован пункт №13 «плохо»/«хорошо»
  • 2015/04/08: добавлено требование использования препроцессоров и рекомендация использования систем сборки
  • 2013/04/25: добавлены анализаторами качества кода: CSSLint и JSHint, указан сайт подбора css font stack (спасибо @fliptheweb), мелкие уточнения (работу интерактивных элементов страницы, что не пропадает фон на высоких разрешениях, не должно быть пустых презентационных блоков, при проверках контента — пробовать удалять заголовки, менять местами блоки)
  • 2013/04/24: добавил пункт об минимизации каскада (БЭМ-техники, MCSS, SMACSS), необходимости вписывания в экран моб. устройства, заменил ссылку на проверочный текст отображения стандартного html на код с normalize.css, поправил пример где в рекомендации встречался длинный каскад, упомянул про Opera на Presto и новый уровень семантики — в именах классов BEM.
  • 2012/04/12: отсортировал пункты проверки в порядке важности, выделил главные, дополнил статью подробностями
  • 2011/12/07: дополнил согласно доклада на WSD Минск'2011.
  • 2011/07/19: добавлено про повышение надёжности вёрстки благодаря html5-тэгам, про необходимость favicon/apple-touch-icon, отсутствие багов при ресайзе textarea
  • 2011/06/15: добавил пояснения какие ошибки валидации допустимы, рассказал про отсутствие официальной кнопки «HTML5 Valid» и про официальное лого HTML5 на сайте.


Далее с примерами - как проверить html, даже если вы ничего не понимаете в вёрстке.

Руководство по собеседованию на вакансию PHP-программиста

Reading time22 min
Views255K
Вездесущий… это определённо то слово, которым можно описать язык PHP по отношению к вебу. Он действительно вездесущ. В настоящее время, среди всех серверных языков программирования, PHP используется наиболее широко. На нём написаны более 80% сайтов, при этом следующий по популярности ASP.NET со своими 17% остаётся далеко позади.



Почему? Что позволило PHP стать настолько популярным и широко используемым? На этот вопрос нет однозначного ответа, но простота использования языка, безусловно, существенный фактор, поспособствовавший его успеху. Новички в PHP могут быстро выйти на достаточный уровень и разместить динамический контент на своих веб-сайтах с минимум познаний в программировании.

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

Как же отличить тех, кто обладает реальной компетентностью в PHP (не говоря уже о тех, кто входит в 1% наиболее опытных кандидатов) от тех, у кого только поверхностные знания?
Читать дальше →

Обсуждение: Как Курт Кобейн модифицировал свою гитару

Reading time8 min
Views38K
Недавно я начал слушать группу Nirvana и заметил, что звук гитар в их песнях отличается от того, что обычно можно услышать в современных группах. Это особенно заметно в начале песни «Rape Me».

Я не очень разбираюсь в музыке и буду очень благодарен, если кто-нибудь объяснит, как Курт Кобейн модифицировал свою гитару, чтобы получить такой уникальный звук?

Делали ли другие участники группы, кроме Курта, похожие модификации со своими инструментами для достижения такого эффекта? Если да, то какие?
Читать дальше →

Information

Rating
1,582-nd
Date of birth
Registered
Activity

Specialization

Backend Developer, Chief Technology Officer (CTO)
Lead
PHP
Laravel
Project management