Pull to refresh
2
0
Антон Миславский @linderox

Python-програмист, ETL-инженер

Send message

Что такое Zeroconf и с чем его едят

Reading time3 min
Views90K
Я, как старый линуксоид, когда впервые установил Ubuntu и увидел незнакомое слово avahi, конечно же сразу посмотрел в google. Потыкался в несколько ссылок, увидел другие непонятные слова, типа zeroconf, multicast dns, bonjour. Сразу понял, что это какая то мутная технология от Apple и нафиг мне ненужная.

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

Давайте разберемся с терминологией:
  1. Zeroconf — это протокол, разработанный Apple и призванный решать следующие проблемы:
    • выбор сетевого адреса для устройства;
    • нахождение компьютеров по имени;
    • обнаружение сервисов, например принтеров.
  2. Avahi — открытая и свободная реализация протокола zeroconf.
  3. Bonjour — open-source реализация протокола zeroconf от Apple.

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

Теории мотиваций

Reading time8 min
Views41K
image

На написание меня сподвигли пара топиков про теории мотивации X и Y.

В качестве предисловия

Проблема мотивирования труда является одной из самых острых проблем, стоящих перед современным российским предприятием. Как правило, отечественные руководители рассматривают систему мотивации как инструмент, базирующийся на персональных выплатах работнику.
Согласно принятым системам мотивации на отечественных предприятиях работник получает:
• Базовую заработную плату в зависимости от иерархического уровня управления;
• Премии и бонусы по результатам деятельности подразделения за отчетный период;
• Премии и бонусы по результатам личной деятельности работника (личные бонусы и доплаты за исполнение проектов, комиссионные, поддержка обучающихся, и т.д.);
• Премии и бонусы по результатам деятельности организации в целом (годовые бонусы);
Но подобные схемы теряют свою эффективность
Читать дальше →

Проект Gestalt – пишите на Ruby, Python и XAML прямо в HTML на стороне клиента

Reading time5 min
Views4.8K
imageGestalt – это open source фреймворк, который позволит вам включить в обыкновенный html-код страницы коды на Ruby или Pyhton и даже XAML-разметку. И все это будет работать на стороне клиента! Если вы хотите написать клиентский код подобный следующему,
<script language=«python»> или <script language=«ruby»>
то Gestalt сделан специально для вас. Быстрый старт и простейшую демонстрацию можно посмотреть по адресу http://www.visitmix.com/labs/gestalt/getstarted/.

* внимание, исполняющая среда запускается не мгновенно, при самой первой загрузке стоит подождать пару секунд и все заработает

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

pv — маленькая, но очень полезная утилита

Reading time2 min
Views86K
Один мой друг сказал по поводу pv следующее «Я админю семь лет, мне нужна была эта тулза десятки раз, а я даже не знал что она существует». В размышлениях над тем как заполучить инвайт на Харбе, я набрал в поиске pv. И ничего не нашел.
Читать дальше →

О пользователях и непользователях

Reading time2 min
Views706

Самые частые вопросы, которые задают все интересующиеся развитием интернета в России (и особенно любят журналисты): «Сколько в России пользователей, и как будет расти интернет в дальнейшем, повлияет ли кризис на рост интернета?» и «Что происходит с интернетом вне столиц, и насколько регионы страны действительно интернетизированы?»

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

При поддержке Яндекса Фонд «Общественное мнение» не так давно (в марте 2009, т.е. уже в кризисные времена) провел крупномасштабное исследование, в ходе которого в 68 субъектах федерации в 1920 населенных пунктов были опрошены 34 тысячи человек. Всем, кто сказал, что интернетом не пользуется, задавали дополнительные вопросы – чтобы понять, кто из таких «непользователей» может в ближайшем будущем пополнить ряды аудитории интернета и что является главным препятствием по дороге в интернет.

Как показывает картинка, больше половины жителей России пока с интернетом лично не знакомы. При этом взрослая (18+) месячная аудитория в марте составила 34,9 млн человек.  Вот как распределились ответы на вопрос «Когда вы последний раз пользовались интернетом?»

Пользователи и непользователи

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

Структура непользователей

Другими словами, интернет-аудитория России может вырасти еще на треть, если доступ в интернет станет дешевле и проще, а вот дальнейший рост уже зависит от разъяснительной и просветительской деятельности. Причем если «резерв» состоит в основном из молодежи, то остальные группы представлены старшими возрастами, так что работать предстоит с ними. И начинать надо будет не с интернета, а с элементарной компьютерной грамотности: 36% всех опрошенных признались, что никогда не имели дела с компьютером.

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

Географическое распределение суточной аудитории

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

Андрей Себрант, любитель интересных цифр


JsImageBox — легкий аналог LightBox

Reading time1 min
Views8.2K
jsImageBox — компактный, легкий в подключении скрипт, аналог lightbox. Позволяет показывать увеличенные изображения во всплывающем блоке.

Код скрипта занимает всего 9кб.

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

Бесплатен. (лицензия GPL)

Изначально разрабатывался для собственного использования.

Сайт проекта JSImageBox — JavaScript галерея

10 шагов для защиты вашего WordPress блога

Reading time6 min
Views64K
Административная зона любого веб-приложения давно стала излюбленной мишенью для хакеров и её безопасность чрезвычайно заботит разработчиков. Это касается и WordPress — при сустановке нового блога система создает аккаунт администратора с уникальным случайно сгенерированным в реальном времени паролем, чем блокирует всеобщий доступ к настройкам системы, контролируя его c помощью страницы авторизации.

Эта статья сфокусирована на вопросах усиления безопасности WordPress — как административной панели, так и настроек блога, подразумевая все содержимое папки «wp-admin», которое отображается только после авторизации. Мы сознательно выделили фразу "после авторизации" — вы должны четко осознавать, что только один простой запрос отделяет «злого хакера» и админку всего вашего блога или сайта! А последняя защищена настолько сильно, насколько мощный пароль вы выбрали.

gilt-zu-schuetzen-administrationsbereich-in-wordpress

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

Ruby + Shoes = Миленький GUI

Reading time4 min
Views11K
Статья изначально публиковалась для личного блога, но думаю те кто начинают изучать Ruby, или просто хотят написать GUI к приложению сочтут ее полезной.

Вступлений не будет. Тема сегодня — Shoes. Такой небольшой kit, для создания GUI к приложениям на Ruby. Впервые я о нем них услышал, когда пытался понять, как сделать на руби нечто графическое. Ответ пришел сразу, причем в двух(а то и трех вариантах):

  • Qt
  • wxWidgets
  • Tk
  • Shoes


Посмотрел пункт первый, затем второй. Узнал, что множество из ныне живущих популярных GUI-приложений на C++ имеют под собой Qt-основу :) В общем, вызнал много полезного да и вообще позитивного. На шузы (нравится их так называть) я почти не смотрел, а зря.
Читать дальше →

Графика средствами Python

Reading time1 min
Views13K
В издательстве Apress вышла книга Beginning Python Visualization: Crafting Visual Transformation Scripts, посвящённая визуализации данных с помощью Python и смежных инструментов. Это уникальная в своём роде работа, потому что на Питоне такие вещи делают довольно редко. Автор книги говорит, что сам искал такое руководство для своей работы, но не нашёл, и ему пришлось разбираться самостоятельно.

В книге приводится несколько примеров, как можно визуализировать данные. Например, с помощью Python можно извлечь данные из GPS-ресивера через серийный порт и уже на компьютере обработать как душе угодно, в том числе создавать графики и диаграммы. Автор показывает всё это на примере конкретного GPS-приёмника и модуля PySerial.

Самое главное в книге — подробная демонстрация, как работать с известными для визуализации математических и научных данных MatPlotLib, NumPy и SciPy, а также с библиотекой PIL (Python Imaging Library) для простейшей обработки изображений.

Полистать книгу можно в магазине Amazon (по ссылке выше).

Развертывание Django-проекта под nginx

Reading time3 min
Views17K

Преамбула


Из нескольких способов развертывания Django я сразу отмёл mod_python, потому что мне не хотелось поднимать тяжеловесный Apache. Решил развернуть на легком веб-сервере. На данный момент основных легковесных альтернатив Апачу две — lighttpd и nginx. Первоначально я выбрал первый, но столкнулся с проблемами, связанными с URL. Я подумал, что, может, nginx будет работать получше, и развернул приложение на нём. В этом деле мне очень сильно помог один скринкаст, уже не помню точно чьего авторства.
Всё было отлично, но когда я захотел использовать админку Django(удобная вещь, кстати), меня постигло разочарование — форма логина показывалась, но при попытке войти меня выбрасывало на admin. После получаса гугления, я нашёл топик на небезызвестном форуме Ивана Салагаева, в котором описывалось решение проблемы. После того, как я последовал описанным советам, все заработало на-ура. Представляю вашему вниманию необходимую конфигурацию сервера и Django.

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

Случайные числа из звуковой карты

Reading time15 min
Views13K
Многие когда-либо интересовались случайными числами. Хочу поделиться моими экспериментами по получению истинно случайных чисел с помощью «аппаратного генератора» встроенного в практически любой компьютер — звуковой карты.

При подготовке материала, я переписал свой старый Си код на Питоне, поэтому данный опус также является примером по использованию Windows DLL из Питона с использованием стандартной библиотеки ctypes.

В конце статьи сравниваются данные полученные от двух звуковых карт Realtek и Audigy 2, приведены результаты статистических тестов на случайность.

UPD Исправил пропавшие в коде нули, которые съело НЛО.
Читать дальше →

Стэнфордский видео-курс по языкам программирования

Reading time1 min
Views6.3K
Стэнфордский курс по основам языков программирования выложен на YouTube.



27 лекций минут по 20 каждая ведут стэнфордский преподаватель Джерри Кейн (экс-Стэнфорд, нынче Facebook), последняя лекция по Haskell преподается Сашей Рашем (Facebook). Рассматриваются концепции и основы C (куда ж без него), ассемблера, C++, Scheme, Python и Haskell.

Покорим Ruby вместе! Капля шестая

Reading time6 min
Views25K
Сегодня мы с вами создадим наше первое полноценное приложение на Руби, попутно обучаясь новым методам классов String и File и регулярными выражениями.

Наше приложение: Текстовый анализатор


Собственно программа простая: она будет считывать текстовый файл, анализировать его по некоторым паттернам, считать статистику и выводить результат. Руби замечательно подходит для анализа документов и текстов с помощью регулярных выражений и методов scan и split. В этом приложении мы сконцентрируемся на простом и быстром программировании и не будем организовывать объектно-ориентированную структуру.
Читать дальше →

Многоуровневое дерево с маркерами, сохраняющее состояние (HTML, CSS, jQuery, Cookies)

Reading time6 min
Views19K
Продолжается развитие темы о многоуровневом дереве с маркерами. Многоуровневое дерево с сохранением состояния узлов
Теперь дерево выросло и окрепло, стало взрослее и помнит выбранный узел и состояние кажого узла в отдельности.
Страницу можно перезагружать, а дерево все равно будет помнить все что вы открыли и выбрали!

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

Создание чистого CSS-шаблона для Joomla 1.5 — часть 2.2

Reading time6 min
Views5.9K
Предыдущие статьи:
Создаем шаблон Joomlа по стандартам — часть 1
Создаем шаблон Joomlа по стандартам — часть 1 (продолжение)
Создание чистого CSS-шаблона для Joomla 1.5 — часть 2.1

CSS для Joomla

Хотя Joomla 1.5 имеет функциональность для переопределения с помощью шаблонов того, что отображается ядром, ее вывод по умолчанию все еще использует множество таблиц для отображения контента в основном теле страницы. Наряду с этими таблицами, для изменения стилей страницы дизайнеру доступны некоторые заранее заданные CSS-классы. По результатам небольшого исследования, проведенного членами сообщества, мы составили таблицу, которая содержит текущий перечень этих классов. Обратите внимание, что список не содержит базовые элементы страниц, такие как H1, H2, p, ul, a, form и т.д.

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

Popup с затухающим фоном с помощью jQuery

Reading time8 min
Views43K
imageМногие из нас сталкивались с всплывающими окнами, когда при этом постепенно потухает фон. Взгляд пользователя невольно фокусируется только на той части экрана, где что-то требуется от этого самого пользователя. Достаточно полезно, не правда ли?

Конечно же, не претендую на какую-то новизну, и данная заметка будет больше полезна начинающим с jQuery (коим и сам являюсь), чем людям, имеющим существенный опыт с данным javascript фреймворком.

под катом пример и описание

Базовый css-шаблон

Reading time1 min
Views4.1K
Вечером знакомый попросил быстро сделать ему основу для его блога. Даже не сверстать макет, а сделать именно основу.

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

OpenVPN, объединяем домашние сети

Reading time6 min
Views102K
Данная статья посвящена объеденению нескольких домашних локальных сетей с предоставлением прозрачного общего доступа к ресурсам сетей с помощью VPN. За реализацию VPN взята openvpn. Клиенты и сервер openvpn установлены на роутерах домашних сетей, в конкретном случае роутеры семейства asus wl500, но данный мануал вполне применим и другим роутерам где есть досуп к OS и можно поставить openvpn.

Хотя подобных руководств в Интернете пруд пруди, они написаны больше для администраторов, которые имеют большой опыт общения с *nix системами, в то время как пользователями домашних роутеров являются в основном не хакеры, а обычные юзеры, может быть впервые увидевшие коммандную строку Linux на том самом роутере. Я постараюсь писать так чтобы было понятно всем.

Для тех кто не любит много букв, чтобы было понятно о чём речь под катом, привожу картинку

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

Автодополнение функций CodeIgniter в NetBeans

Reading time2 min
Views3.1K
На волне интереса к NetBeans расскажу небольшой хинт. Я работаю в основном с CodeIgniter, и вот чего мне сильно не хватает в IDE это быстрого автодополнения для встроенных функций (библиотек, хелперов) — вроде $this→form_validation→…

Сейчас я расскажу, как это реализовать:

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

Information

Rating
Does not participate
Location
Cupertino, California, США
Date of birth
Registered
Activity

Specialization

Backend Developer, Data Analyst
Middle
From 950 $
Python
Pytorch
Pandas
NumPy
Flask
Django
MySQL
OOP
Docker
SQL