С недавних пор Gmail начал предупреждать что сервер отправителя дословно Домен example.com не зашифровал это сообщение и при просмотре письма отображать открытый замочек (Подробнее в справке google). Сама формулировка в справочном центре долгое время меня вводила в заблуждение: Если в полученном сообщении или черновике появился красный значок взломанного значка , это означает, что письмо не зашифровано.. Означает это всего навсего что письмо было передано не по зашифрованному протоколу, никакого отношения к шифрованию письма этот замочек не имеет. Долгое время эта формулировка сбивала меня с толку и «гуглил» я в неверном направлении пока более опытный товарищ не подсказал.
User
Чек-лист из 68 пунктов для продвижения сайта в ТОП10 Яндекса
5 min
135KЧтобы Яндекс показал Ваш сайт в числе первых, нужно чтобы он максимально полно отвечал на запрос пользователя. И это будет уже половина успеха. Оставшаяся половина это удобство, техническая составляющая сайта и его простота. Ниже я привел чек-лист из 68 пунктов, который был разработан специально для системы управления задачами PTYSH, совместно с компанией DFAKTOR. А теперь я делюсь им с Вами. Кропотливое выполнение каждого пункта из данного чек-листа позволит вывести практически любой сайт на самый верх поисковой выдачи. Но придется как следует поработать. Начнем с самого малого.
![](https://habrastorage.org/files/252/fd1/72e/252fd172e48a4dc385b19dd4363effb4.png)
![](https://habrastorage.org/files/252/fd1/72e/252fd172e48a4dc385b19dd4363effb4.png)
+24
Оповещения Zabbix через sms используя GSM модем. Простая настройка
3 min
39K![](https://habrastorage.org/files/c75/23b/6b5/c7523b6b523f4c3fb6ba6a514a446c27.jpg)
Zabbix сервер — это хорошо. Правильно настроенный, он мониторит серваки и необходимые мне узлы. В случае проблем на них он с радостью уведомляет меня по электронной почте. Не так давно выяснилось, что оба наших любимых провайдера (основной и резервный интернет каналы) решили не обеспечивать ИБП свое сетевое оборудование в здании. Поэтому когда вырубают электричество (а бывает такое!) Zabbix бы и рад разбудить веселым письмом, а никак! В общем, решил заморочиться уведомлением по sms. Именно через GSM модем чтобы не было зависимости от интернета.
Поискав по интернету варианты отправки sms Zabbix-ом, нашел варианты решения, но они показались мне длинными. Поэтому сделал по своему «на коленке». Постараюсь подробно описать не сложное рабочее решение и «грабли».
+10
Обзор сервера Thinstation
3 min
29KПри переходе Thinstation на пятую версию появилась возможность скачать дистрибутив и установить систему для сборки и раздачи образов загрузки тонких клиентов по PXE. Этот вариант позволяет без навыков конфигурирования Linux развернуть в локальной сети сервер с TFTP и HTTP сервисами, плюс получить настроенный конструктор Thinstation.
Я года три назад из любопытства поюзал сабж, оказалось сыровато и много глюков, решил вот глянуть на сколько продвинулись разработчики в своём стремлении облегчить жизнь пользователям проекта.
Я года три назад из любопытства поюзал сабж, оказалось сыровато и много глюков, решил вот глянуть на сколько продвинулись разработчики в своём стремлении облегчить жизнь пользователям проекта.
+8
Asterisk: Обеспечим VIP-клиентам первое место в очереди звонков, а так же свяжем клиента с конкретным оператором на заданное время
7 min
11KAsterisk — это fun!
Каждый раз сталкиваясь с какой-то нестандартной задачей я радуюсь, радуюсь возможности снова погрузиться с головой в это чудесное состояние творчества, работы мысли. В последнее время такие задачи появляются часто и это здорово.
Обозначенные в заголовке были реализованы и работают, а значит пришло время поделиться с сообществом своими решениями.
Расскажу немного подробнее о каждой.
1. Организовать список номеров телефонов VIP-клиентов.
Звонки от VIP-клиентов должны попадать на первое место в очереди Asterisk, для скорейшей обработки именно их обращения. Так же нужно иметь возможность удобно добавлять и удалять контрагентов из этого списка.
2. Связать звонок клиента с конкретным оператором очереди на заданное время.
Настроить Asterisk так, чтобы в его «памяти», на какое-то заданное время, оставалась информация о том, какой из операторов очереди принял вызов. Позвонил человек с номера 8913*75*5*0 и попадает к оператору очереди Алёна и нужно сделать так, чтобы в течение, например суток, входящие звонки с этого номера принимала только Алёна и никто другой.
Но это еще не все, если клиент не хочет общаться с Аленой, то он может нажать клавишу * на своем телефоне и в следующий раз попадет уже к другому оператору.
С вступлением на этом заканчиваю, немного Python, MySQL и хитрого dialplan ждут вас под катом.
Каждый раз сталкиваясь с какой-то нестандартной задачей я радуюсь, радуюсь возможности снова погрузиться с головой в это чудесное состояние творчества, работы мысли. В последнее время такие задачи появляются часто и это здорово.
Обозначенные в заголовке были реализованы и работают, а значит пришло время поделиться с сообществом своими решениями.
Расскажу немного подробнее о каждой.
1. Организовать список номеров телефонов VIP-клиентов.
Звонки от VIP-клиентов должны попадать на первое место в очереди Asterisk, для скорейшей обработки именно их обращения. Так же нужно иметь возможность удобно добавлять и удалять контрагентов из этого списка.
2. Связать звонок клиента с конкретным оператором очереди на заданное время.
Настроить Asterisk так, чтобы в его «памяти», на какое-то заданное время, оставалась информация о том, какой из операторов очереди принял вызов. Позвонил человек с номера 8913*75*5*0 и попадает к оператору очереди Алёна и нужно сделать так, чтобы в течение, например суток, входящие звонки с этого номера принимала только Алёна и никто другой.
Но это еще не все, если клиент не хочет общаться с Аленой, то он может нажать клавишу * на своем телефоне и в следующий раз попадет уже к другому оператору.
С вступлением на этом заканчиваю, немного Python, MySQL и хитрого dialplan ждут вас под катом.
+8
Выдергивание информации из URL, в стиле Slack и Twitter
3 min
17KМногие пользуются Slack, Twitter и видели такие штуки:
Как это работает и как такое сделать самим?
![]() |
![]() |
Как это работает и как такое сделать самим?
+24
10 книг, которые навсегда изменят ваши взгляды
5 min
35KTranslation
![](https://habrastorage.org/files/f20/25c/e8b/f2025ce8b277467bab3c3f766fab01dc.jpeg)
Жить – значить учиться, а чтение – это возможность научиться на основе опыта других. Работаю над проектом Blinkist, мы всецело поглощены книгами: мы погружаемся в мир лучших научно-популярных книг и выжимаем оттуда самые важные вещи, превращая их в небольшие статьи для чтения. К этому моменту мы изучили более 600 книг, составив (а также изменив) за это время нашу точку зрения на многие вещи.
Исходя из нашего личного опыта, нам кажется, что этот список из 10 книг, созданных влиятельными писателями и мыслителями из различных областей (от психологии к экономике), может помочь вам изменить ваши взгляды на мир, работу, других людей, а также на себя самого.
+10
OneNote 2013, или Как привести дела в порядок
5 min
87K![](https://habrastorage.org/files/ee7/49e/099/ee749e09955144ca9976797c1be2697c.png)
«Возьми себя в руки, тряпка!» — сказал я себе, когда понял, что работа скоро доконает. Или она тебя, или ты её.
Дорога в тысячу ли начинается с первого шага.
Первым шагом стала книга Дэвида Аллена «Как привести дела в порядок: искусство продуктивности без стресса». Точки над i расставил курс Максима Дорофеева «Джедайская техника пустого инбокса, или Как доводить дела до конца».
Нельзя питать иллюзий, ступив на тропу войны. Проблемы не заставили себя долго ждать. Работа на компьютере требовала автоматизации. Дело стало за малым, поиск подходящего программного обеспечения для Getting Things Done (GTD).
Бесконечные пробы GTD-программ не принесли счастья. Комфортной работе мешало большое количество данных.
Не получалось связать задачи и данные внутри одной GTD-программы. Поток писем складировался в Outlook, документы и другие файлы на диске, часть информации на web ресурсах и так далее. Решая дела, приходилось тратить время на поиск связанных с ними данных. Возникали проблемы с синхронизацией информации на разных устройствах и многое другое.
Но кто ищет, тот всегда найдёт! Выходом из патовой ситуации оказался Microsoft OneNote 2013, который простыми настройками легко превратился в полноценный GTD-инструмент. Только такой подход позволил преодолеть все проблемы и ощутить комфорт от использования GTD.
+15
«Прозрачный» Squid с фильтрацией HTTPS ресурсов без подмены сертификатов (x86)
9 min
257KTutorial
Не секрет, что в больших конторах тема фильтрации Интернета довольно актуальная. С этой задачей справляется немало программных и аппаратных решений. Но в настоящее время все те сайты, которые мы резали ранее, работают по протоколу HTTPS, т.е. порт 443. Как известно, данный протокол проследить, прослушать и т. п., невозможно. А любой кеширующий фильтрующий прокси-сервер, редиректор и т. п. фильтрует только HTTP, т.е. порт 80. Как же резать Вконтакте, Одноклассники, iphide.info и многие другие подобные сайты? Как блокировать доступ к личной почте в организации, если использование оной запрещено порядками в организации? Да, можно фильтровать по IP адресам, но они частенько меняются, да и на многих ресурсах несколько IP адресов. Блокировать их на уровне файрвола как-то совсем не православное решение, и не совсем удобное.
И вот, совсем недавно, мне один товарищ рассказал, что он поднимает у себя в конторе кеширующий прокси с фильтрацией HTTPS, меня это заинтересовало.
И вот, совсем недавно, мне один товарищ рассказал, что он поднимает у себя в конторе кеширующий прокси с фильтрацией HTTPS, меня это заинтересовало.
+23
Видео об установке 420W солнечных панелей, 400Ач аккумуляторов и контроллера заряда в фургон Mercedes Sprinter
2 min
17KTutorial
Начну с того, что видео, о котором идет речь я сделал в рамках проекта строительства дома на колесах своими руками из фургона Mercedes Sprinter.
Меня очень заинтересовала эта идея, я купил себе семиметровый фургон и начал его строить в рамках своих возможностей. Попутно я решил вести видеоблог постройки, причем еще и на английском языке (ну как английском, лет-ми-спик-фром-май-хартском). Видео о котом идет речь — уже десятое в моем проекте и раньше я не публиковал их на ТМ-проектах. Но в этот раз я думаю что видео достойно вашего внимания.
Речь идет об установке на крышу фургона двух солнечных панелей по 210W, а внутрь — контроллера для зарядки, двух AGM батарей по 200Ач, 2кВт инвертора и строительства собственно всего этого для конечного использования.
Видео на английском языке
Под катом затраты по установке этой системы и еще одно видео от меня на эту тематику
Меня очень заинтересовала эта идея, я купил себе семиметровый фургон и начал его строить в рамках своих возможностей. Попутно я решил вести видеоблог постройки, причем еще и на английском языке (ну как английском, лет-ми-спик-фром-май-хартском). Видео о котом идет речь — уже десятое в моем проекте и раньше я не публиковал их на ТМ-проектах. Но в этот раз я думаю что видео достойно вашего внимания.
Речь идет об установке на крышу фургона двух солнечных панелей по 210W, а внутрь — контроллера для зарядки, двух AGM батарей по 200Ач, 2кВт инвертора и строительства собственно всего этого для конечного использования.
Видео на английском языке
Под катом затраты по установке этой системы и еще одно видео от меня на эту тематику
+11
Подальше от обыденной реальности: фантастические романы, которые стоит прочитать
4 min
142K![image](https://habrastorage.org/getpro/geektimes/post_images/f82/cd6/bf7/f82cd6bf7624c64c0e4bada8015e0f96.jpg)
Фантастика как жанр заставляет читателей и писателей выйти за пределы разумного, дать волю своему воображению и отправиться в неизведанные миры. За это мы и любим этот жанр. RoboHunter этой осенью предлагает с головой погрузиться в мир научной фантастики.
+55
«Сладкое» программирование, или Как выделить этикетку с банки варенья в Mathematica?
5 min
11KTranslation
![](https://habrastorage.org/files/8e8/17e/eb1/8e817eeb1e1a431b8d570ac7b1e17864.png)
Перевод дискуссии "How to peel the labels from marmalade jars using Mathematica?" с сайта Mathematica at StackExchange.
Код, приведенный в статье, можно скачать здесь (~31 МБ).
Выражаю огромную благодарность Кириллу Гузенко KirillGuzenko за помощь в переводе и подготовке публикации
Как можно выделить содержимое этикетки с указанной ниже банки (точка съёмки кадра, геометрия банки, её содержимое — всё это нам неизвестно),
![](https://habrastorage.org/getpro/habr/post_images/dda/5f0/2bc/dda5f02bce10706e331c2f2ee766ca89.gif)
чтобы получить нечто подобное — ту же самую этикетку в том виде, в каком она была до того, как оказалась на банке?
![](https://habrastorage.org/getpro/habr/post_images/0d8/8f2/ad3/0d88f2ad3e99cd03af9852fb9fe894d8.gif)
Основная идея заключается в следующем:
- Находим этикетку.
- Находим границы этикетки.
- Находим отображение координат пикселей изображения на цилиндрические координаты.
- Трансформируем изображение с использованием найденного отображения.
Предлагаемый нами алгоритм работает только для изображений, в которых:
- Этикетка ярче фона (это нужно для обнаружения этикетки).
- Этикетка прямоугольная (это нужно для того, чтобы оценить качество отображения).
- Банка должна занимать вертикальное положение (это нужно для того, чтобы сохранить простую форму функции отображения).
- Банка должна быть цилиндрической (это нужно для того, чтобы сохранить простую форму функции отображения).
Следует заметить, что алгоритм модульный. То есть вы можете дописать свой алгоритм обнаружения этикетки, который не будет требовать тёмного фона, или можете написать свою функцию оценки качества отображения, которая позволит работать с овальными или многоугольными этикетками.
Получившийся в конечном итоге алгоритм работает полностью автоматически (однако есть опция ручного задания границ банки), то есть берёт исходное изображение, после чего выдаёт изображение с сеткой и этикетку.
+27
Программировать с нуля. «Сейчас» — самое подходящее время, чтобы начать
7 min
365K![](https://habrastorage.org/files/779/f1d/c13/779f1dc137b24e11a4dd040682d602e2.jpg)
(Иллюстрации к статье А.П. Ершова «Программирование — вторая грамотность»)
Стив Джобс не написал ни строчки кода, Билл Гейтс — написал. Пол Грэм — первоклассный программист, Питер Тиль — юрист по образованию, сооснователь PayPal и владелец Palantir (написал ли он что-нибудь?), а Илон Маск в детстве написал свою игру и успешно её продал.
Никита truesnow из #tceh сказал мне, что на курсе «Врубаемся в Ruby» они научат программировать любого человека, даже с нуля. Я спросил его: «А с гуманитарием справитесь?» И мы задумались, были ли случаи, когда «гуманитарий» выучил язык программирования?
На ум сразу пришел бомж-программист, но после успеха с его приложением он предпочёл остаться «дзен-монахом». Есть ли еще примеры? Вдохновляющий пример, что научиться кодить может каждый — слепой программист. Когда я прочитал статью на Хабре «Смотря на код с закрытыми глазами», то понял, что нет преград, кроме собственных отмазок.
А у меня для вас есть три истории из моей жизни. Просто три истории.
История первая — ламер
Слово «ламер» я прочитал в «Компьютерре». Там давалось такое определение: «Ламер — отнюдь не безграмотный человек, не умеющий (как бы это помягче выразиться?) программировать». Окрылённый истиной я побежал и рассказал об этом друзьям-одноклассникам, но они предпочли поиграть в футбол, вместо того чтобы освоить суперспособности. Забавно, что потом все они зарабатывали программированием деньги, а я нет. Через неделю я записался в краевую станцию юных техников (КСЮТ), где был кружок по программированию. Там для новичков давали qbasic. А боги прогали на C.
+22
Первая книга юного программиста. Учимся писать программы на Scratch
2 min
32KПривет!
Мы решили издать книгу для совсем еще юных программистов, ведь детей надо чем-то занять. Пусть это будет Scratch.
![image](https://habrastorage.org/getpro/habr/post_images/b3a/2f3/277/b3a2f32772ea59e82c6e3d6ca6946a6c.jpg)
Данный пост адресован детям и их родителям:
Не сомневаюсь, что ты любишь играть на компьютере, телефоне или планшете и смотреть 3D-мультфильмы. А знаешь, как их делают? Для этого нужны программы — наборы команд, которые приказывают компьютеру двигать героев по экрану.
А теперь — самое главное. Ты можешь сам делать такие программы! Придумывать игры со своими героями, рисовать мультфильмы — все, что захочешь. Для этого создали специальную детскую среду программирования Скретч. Все команды в ней нарисованы как цветные значки-блоки, из которых удобно собирать программы. Это похоже на конструктор «Лего». Просто берешь кубики и собираешь сложную программу или игру. Давай вместе отправимся в удивительный мир программирования.
Мы решили издать книгу для совсем еще юных программистов, ведь детей надо чем-то занять. Пусть это будет Scratch.
![image](https://habrastorage.org/getpro/habr/post_images/b3a/2f3/277/b3a2f32772ea59e82c6e3d6ca6946a6c.jpg)
Данный пост адресован детям и их родителям:
Не сомневаюсь, что ты любишь играть на компьютере, телефоне или планшете и смотреть 3D-мультфильмы. А знаешь, как их делают? Для этого нужны программы — наборы команд, которые приказывают компьютеру двигать героев по экрану.
А теперь — самое главное. Ты можешь сам делать такие программы! Придумывать игры со своими героями, рисовать мультфильмы — все, что захочешь. Для этого создали специальную детскую среду программирования Скретч. Все команды в ней нарисованы как цветные значки-блоки, из которых удобно собирать программы. Это похоже на конструктор «Лего». Просто берешь кубики и собираешь сложную программу или игру. Давай вместе отправимся в удивительный мир программирования.
+14
Небольшие полезности для связки GLPI+FusionInventory
4 min
20KСколько копий было сломано об эту связку — не счесть. Форум обоих продуктов ломится от вопросов. Но вот ответов, как и вопросов, подобным моим, я там не нашел. Ну или по крайней мере внятных ответов на них.
Вопросов-то, у меня было всего два:
Вопросов-то, у меня было всего два:
- Как заставить изменяться счетчик отпечатанных страниц для сетевых принтеров? FusionInventory внутри себя хранит значение, полученное по SNMP при инвентаризации, а вот основное поле не обновляет.
- Как запустить инвентаризацию на бездисковых станциях под управлением Thinstation? Как и в любой не слишком большой компании, денег на лицензирование дают скрипя зубами на всю округу, да и то раз в пятилетку. Как следствие — имеется разномастный парк бездисковых станций, собранных из того, что было под рукой.
+8
OTRS 4.0.10. Ставим на Ubuntu + AD + Kerberos + SSO (Часть третья)
4 min
15KТретья часть статьи по установки и настройке OTRS на UbuntuServer в среде MS AD. Теперь поговорим об исправлениях различных косяков и прикручивании полезных плюшек. Первые две статьи более меняться не будут, а все остальны мои наработки будут дописываться в эту статью, получится такой неплохой howto.
Часть первая: подготовка системы
Часть вторая: установка и настройка OTRS
Часть третья: исправляем косяки прикручиваем плюшки
Часть первая: подготовка системы
Часть вторая: установка и настройка OTRS
Часть третья: исправляем косяки прикручиваем плюшки
+6
Автоматика управления отоплением дома своими руками. Часть 1
7 min
36K![](https://habrastorage.org/files/fde/59f/cc4/fde59fcc4eef4df5a3784616467bdf1e.jpg)
Многофункциональные устройства BM8036 и NM8036 производства Мастер Кит могут быть использованы в качестве центральной части системы управления отоплением, охлаждением, вентиляцией и т.п. На основе NM8036 один из наших покупателей решил сделать автоматику управления отоплением дома и подробно описал процесс реализации своей идеи:
«Я в статье Автоматика отопления для дома писал о том, какая нужна автоматика для системы отопления с водяным тепловым аккумулятором (ВТА). Исходя из желаемого алгоритма и особенностей работы системы отопления такого рода я пришел к выводу, что нужен программируемый блок управления, выполняющий не только функции терморегулятора, но и таймера с календарем.
+12
Используем официальный docker-образ NGINX в InfoboxCloud: часть 1
12 min
60KЗа последний год в Docker Hub стало доступно уже более 100 000 образов, а загружались образы с Docker Hub уже более 300 миллионов раз. Из них более 20 миллионов загрузок пришлись на 70 официальных образов разработчиков Docker, таких как Oracle, CentOS и NGINX.
NGINX используется на более 40% самых больших сайтов в мире, не только как веб-сервер, но и как реверс-прокси сервер, балансировщик нагрузки и HTTP кэш. Официальный образ NGINX был загружен 3.4 миллиона раз.
![](https://habrastorage.org/getpro/habr/post_images/367/5e3/329/3675e3329e95abf27fcf422ccbedc186.png)
В этой статье вы узнаете:
Если раньше вы не использовали Docker, рекомендуется к прочтению:
Используем Docker и не волнуемся о vendor-lock
Погружаемся в Docker: Dockerfile и коммуникация между контейнерами
Обзор новшеств Docker Engine с 1.0 до 1.8. Введение в Docker Compose
В конце статьи мы раздаем пробные версии InfoboxCloud бесплатно.
NGINX используется на более 40% самых больших сайтов в мире, не только как веб-сервер, но и как реверс-прокси сервер, балансировщик нагрузки и HTTP кэш. Официальный образ NGINX был загружен 3.4 миллиона раз.
![](https://habrastorage.org/getpro/habr/post_images/367/5e3/329/3675e3329e95abf27fcf422ccbedc186.png)
В этой статье вы узнаете:
- как развернуть и использовать Docker-образ с NGINX.
- как быстро развернуть реверс-прокси на NGINX и несколько сайтов в Docker
- как развернуть геораспределенную инсталляцию, состоящую из нескольких сайтов и реверс-прокси в каждом из 3х регионов InfoboxCloud.
Если раньше вы не использовали Docker, рекомендуется к прочтению:
Используем Docker и не волнуемся о vendor-lock
Погружаемся в Docker: Dockerfile и коммуникация между контейнерами
Обзор новшеств Docker Engine с 1.0 до 1.8. Введение в Docker Compose
В конце статьи мы раздаем пробные версии InfoboxCloud бесплатно.
+8
Оптимизация базы данных CDR в MySQL
1 min
10KRecovery Mode
Рано или поздно, но база CDR разрастается до значительных размеров. Существует несколько довольно простых способов её оптимизировать.
1. Обновите MySQL. Каждая новая версия быстрее предыдущей. Вопрос обновления выходит за рамки темы, но напоминаю — при прыжках «через версию» оптимально выгрузить всю базу и загрузить заново на чистую установку, иначе возможны сюрпризы.
2. Оптимизируйте InnoDB. В конфиге my.cnf рекомендую следующие настройки:
1. Обновите MySQL. Каждая новая версия быстрее предыдущей. Вопрос обновления выходит за рамки темы, но напоминаю — при прыжках «через версию» оптимально выгрузить всю базу и загрузить заново на чистую установку, иначе возможны сюрпризы.
2. Оптимизируйте InnoDB. В конфиге my.cnf рекомендую следующие настройки:
innodb_buffer_pool_size = 256M ; Рекомендую установить здесь значение, равное половине RAM вашего сервера.
innodb_file_format = Barracuda ; Более новый формат БД. Пригодится далее.
innodb_buffer_pool_instances = 1 ; Если у вас не больше гигабайта выделено под буферный пул, ставьте единицу.
innodb_change_buffer_max_size=10 ; В CDR мы мало пишем и много читаем. Буфер на запись ставим небольшой.
innodb_flush_log_at_trx_commit=2 ; Дополнительная буферизация при записи ценой риска потери пары последних записей в случае краха.
+6
Обзор платежных агрегаторов для приема платежей
24 min
339K![image](https://habrastorage.org/files/34e/4e1/37b/34e4e137bf51475f8e597f4ec6716668.jpg)
Данное исследование, проводившееся в течение нескольких месяцев, охватывает компании, которые предоставляют услуги по приему платежей не только банковскими картами, но и через электронные кошельки, а также другие способы оплаты.
Чем же платежные агрегаторы отличаются друг от друга, и на что стоит обратить внимание?
Каждую компанию было решено рассмотреть по десяти параметрам. Ниже приведено детальное описание параметра и почему на это стоит обратить внимание.
+34
Information
- Rating
- Does not participate
- Registered
- Activity