Как стать автором
Обновить
17
0
Valentin Bryukhanov @DuoV

Пользователь

Отправить сообщение

Дискриминация сотрудников по возрасту — беспощадная и бессмысленная

Время на прочтение5 мин
Количество просмотров63K
Возможно, вы знаете, что закон РФ № 1032-1 от 19.04.1991 в редакции от 02.07.2013 г. запрещает распространять информацию, ограничивающую права или устанавливающую преимущества для соискателей по полу, возрасту, семейному положению и другим обстоятельствам, не связанным с деловыми качествами работников. И, наверняка, вы слышали, что работодатели отказывают кандидатам в связи с ограничением по возрасту. Закон запрещает декларировать это ограничение открыто и поэтому кандидатам отказывают по другим причинам. Да, это незаконно, но это существует.

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

image
Читать дальше →
Всего голосов 153: ↑140 и ↓13+127
Комментарии394

Краткая заметка по некоторым дополнительным возможностям Kindle третьего поколения

Время на прочтение7 мин
Количество просмотров28K

В заметке я постараюсь начать описание нескольких интересных дополнительных возможностей этой замечательной читалки,. Речь пойдет о вариантах Kindle 3g и Kindle Wi-fi третьего поколения и некоторых штуках, не описаных в мануалах. Хотел бы заметить, что информацию о Киндле найти относительно не сложно, однако собрать все в одной заметке на русском, думаю, неплохая идея.

приступим
Всего голосов 127: ↑116 и ↓11+105
Комментарии117

тестирования сети в Линукс

Время на прочтение5 мин
Количество просмотров17K
Эта заметка выросла из шпаргалки для самого себя. Мне по работе приходится отлавливать баги в сети. Как проверить скорость в VPN-туннеле? Почему сервер не пингуется? Или пингуется, но не доступен. Кто забил весь канал торрентами? Где пропадают пакеты? Почтовый клиент выдает непонятную ошибку, что произошло на самом деле? Эти и многие другие вопросы периодически возникают у любого пользователя. Под катом описание программ входящих во все современные дистрибутивы, начиная от пинга и до таких экзотических как ngrep. А так же картинками, если картинками можно назвать, копии дампа с консоли.
Читать дальше →
Всего голосов 36: ↑32 и ↓4+28
Комментарии15

Омышение компьютера или 2 и более указателей мыши на экране

Время на прочтение6 мин
Количество просмотров165K
 Если вам предлагают платное
 решение информационной задачи,
 пробуйте найти бесплатное.


В ОС по умолчанию задана работа с 1 указателем мыши. Даже если подключите 2 и более устройств (тачпады, мыши, трекболы), все они в лучшем случае будут двигать один указатель. С этим все свыклись, как с аксиомой, и даже на ресурсах типа ответы.mail.ru есть авторитетные ответы, утверждённые модератором как закрытые, что сделать 2 указателя нельзя (кто имеет туда доступ — поправьте недоразумение).

    

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

Но недавний топик на малоизвестном ответвлении Хабра неожиданно для многих пролил свет на эту зыбкую истину. Оказалось, что есть программа, которая на уровне драйверов ловит каждую новую подключенную мышь и создаёт для неё новый указатель. Увы, у неё триальный период 15 дней, что тут же испарило желание её включить. Зачем, если стоит задача попробовать неотработанную, неизвестную, но интересную технологию? Есть поиск, интернет и общественная потребность у задачи, а значит, есть возможность найти более гибкие решения.
Читать дальше →
Всего голосов 18: ↑14 и ↓4+10
Комментарии11

Основы программирования под Android на примере игры Судоку

Время на прочтение6 мин
Количество просмотров375K
В статье описаны основные трудности создания приложений под Android.
Рассматриваются базовые понятия программирования Android.
Для примера описано создание игры Sudoku из книги Hello, Android – Ed Burnette.
Осторожно много скриншотов.

Читать дальше →
Всего голосов 137: ↑131 и ↓6+125
Комментарии48

Web2py фреймворк

Время на прочтение4 мин
Количество просмотров26K
Я не изобретатель очередного велосипеда марсохода, а просто хочу рассказать про python фреймворк WEB2PY. На Хабре почему-то нет каких-либо статей про этот чудесный инструмент. Если интересно, под хабракатом небольшая история использования web2py и его описание.

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

Читать дальше →
Всего голосов 54: ↑44 и ↓10+34
Комментарии27

Параметризованные запросы и производительность django orm

Время на прочтение7 мин
Количество просмотров9.6K
Столкнувшись с существенными потерями производительности на использовании django orm, я стал искать выход из положения, рассматривая разные способы использования orm. Что у меня получилось — смотрите подкатом.

Читать дальше →
Всего голосов 32: ↑26 и ↓6+20
Комментарии19

Визуализация графов. Метод связывания ребер

Время на прочтение7 мин
Количество просмотров57K
Иногда полезно представить граф в графической форме, так чтобы была видна структура. Можно привести десятки примеров, где это может пригодиться: визуализация иерархии классов и пакетов исходного кода какой-нибудь программы, визуализация социального графа (тот же Twitter или Facebook) или графа цитирования (какие публикации на кого ссылаются) и т.д. Но вот незадача: количество ребер в графе зачастую настолько велико, что нарисованный граф просто невозможно разобрать. Взгляните на эту картинку:



Это граф зависимостей некой программной системы. Он представляет собой дерево разбиения на пакеты (серые шарики — пакеты, белые — классы), на которое поверх наложены ребра зависимости одних классов от других. Чтобы не рисовать стрелки направления, ребра нарисованы в виде градиентных линий, где зеленый — это начало, а красный — конец ребра. Как видите, граф настолько визуально перегружен, что архитектуру программы невозможно проследить.
Под катом описание метода, решающего эту проблему.
Читать дальше →
Всего голосов 214: ↑205 и ↓9+196
Комментарии67

Dice Wars на App Engine + Twisted

Время на прочтение4 мин
Количество просмотров1.5K
С августа в свое свободное время я занимаюсь разработкой занятной risk-подобной игрушки, в мире известной под названием Dice Wars. Гениальный японский гейм-дизайнер Таро Ито придумал замечательные правила этой игры и создал ее на флеше (однопользовательскую), и она породил множество вариаций на эту тему, до сих пор плохо известных в России.

В этой статье я хотел бы проанализировать мой первый fail с risk-подобной игрой, о которой я писал в марте, рассказать, почему я отказался от идеи использовать App Engine везде и вся, показать связку из App Engine + Twisted к которой я пришел и которая, как мне кажется, довольно полезна для приложений с постоянным соединением. Кроме того, хотелось бы рассказать о своем опыте с Actionscript 3, что-то вроде взгляда back end разработчика на эту чуждую для меня технологию, а также поискать здесь на хабре компаньонов и единомышленников.
Читать дальше →
Всего голосов 50: ↑39 и ↓11+28
Комментарии48

Обнаружение пешеходов

Время на прочтение5 мин
Количество просмотров9.7K
Обнаружение пешеходов используется главным образом в исследованиях, посвященных беспилотным автомобилям. Общая цель обнаружения пешеходов — предотвращение столкновения автомобиля с человеком. На Хабре недавно был топик про «умные машины». Создание подобных систем очень популярное направление исследований (Darpa challenge). Я занимаюсь распознаванием пешеходов для подобного проекта интеллектуальных автомобилей. Очевидно, что проблема обнаружения пешеходов — программная, а предотвращение столкновения — аппаратная. В данной статье я упомяну лишь о программной части, кратко расскажу об одном способе обнаружения людей на изображении и алгоритме классификации.
Заинтересовавшихся прошу под кат.
Всего голосов 128: ↑125 и ↓3+122
Комментарии90

Электронная очередь абитуриентов

Время на прочтение9 мин
Количество просмотров10K
image

Введение


Хочу рассказать об одной интересной задаче, которая возникла передо мной и моим коллегой в университете. Хоть сейчас и лето, но жизнь там не угасает ни на минуту. Все суетятся, обрабатывают документы, подсчитывают абитуриентов, если все обобщать – сезон поступления в ВУЗы. Учусь я на техническом факультете университета, причем, учусь неплохо, поэтому нам предложили написание электронной очереди для поступления абитуриентов. Не долго думая, я и мой коллега (и по группе и по работе) согласились. Причиной не желания воспользоваться уже какими-то готовыми продуктами для университета стала заоблачная цена данных разработок, которая составляла порядка 300т.р. Может и не много, но для нашего города цена высокая, наверное, поэтому и решили привлечь студентов своего университета, ко всему прочему это ещё и неплохой опыт работы в данной отрасли.
Читать дальше →
Всего голосов 197: ↑187 и ↓10+177
Комментарии121

Vim и кириллица: парочка приёмов

Время на прочтение2 мин
Количество просмотров56K
image

Раньше для редактирования обычных русскоязычных текстов, я обычно откладывал Vim в сторонку и прибегал к помощи других редакторов. Причиной этому была парочка очень неприятных косяков:
  1. На каждый чих приходилось сто раз переключать раскладку, чтобы корректно ввести пару команд и вернуться обратно. Например, замена буквы-опечатки в только что написанном слове, выливалось в: switch → добраться до буквы, нажать r → switch → [нужная буква] → switch → A → [пишем дальше]. Ад!
  2. Штатный spell checker букву «ё» не любил и любое слово с её участием предлагал заменить на аналог через «е». А я ё люблю, меня это расстраивало.

И вот, наконец, я нашёл решение обеим проблемам. Сижу сейчас и набираю этот текст в Vim. Любопытно, что оба барьера обходятся штатными средствами, без дополнительных плагинов. Поскольку материалов на английском и на них основанных куда больше чем исконно русских, найти эту информацию мне было не просто. Поэтому хочу поделиться ей с теми кому интересно.
Читать дальше →
Всего голосов 111: ↑102 и ↓9+93
Комментарии95

Пишем апплет-переводчик для Gnome [python]

Время на прочтение11 мин
Количество просмотров3.2K

Предисловие



Сидел я как-то тихим вечером, читал англоязычные сайты. Когда понадобилось перевести пару фраз, я как обычно открыл новую вкладку, набрал translate.google.ru, скопировал, вставил текст, нажал перевести, прочитал. И ведь такую длинную последовательность действий приходится проделывать каждый раз, когда есть необходимость перевести текст, пару фраз или целый абзац. Да, можно использовать какой-либо клиент для перевода, но окно программы придется открывать или доставать из-под других окон. Да, последовательность короче, но все равно длинная. Было бы здорово сократить последовательность действий до скопировать, нажать кнопку. Так появилась идея для апплета. Его логика такая:
  • На панели появляется кнопка «GTranslate»
  • Если вам надо перевести текст, то копируете его и нажимаете на кнопку
  • Автоопределение языка

Поехали
Всего голосов 41: ↑36 и ↓5+31
Комментарии66

Пишем апплет для GNOME на Python

Время на прочтение9 мин
Количество просмотров4.7K
Публикую данный пост по просьбе уважаемого VladX, у которого возникло временное недопонимание с кармой.

Апплет — это маленькое приложение, встраиваемое непосредственно в панель GNOME. Обычно апплет выполняет какой-то опеределенный узкий функционал (изменение громкости, монтирование устройств), что выгодно отличает его от громоздкого оконного приложения. На самом деле знающему Python кодеру не составит труда написать собственный апплет, но и для незнающих есть выход: большое количество полезных (и не очень) апплетов лежит на сайте gnomefiles.org, помимо этого, на официальном сайте есть примеры написания апплетов на C.
Поехали!
Всего голосов 37: ↑34 и ↓3+31
Комментарии24

Gnome Applets. Введение

Время на прочтение5 мин
Количество просмотров4.3K
Апплет — это небольшое приложение, которое интегрированно в Gnome панель и выполняет какие — либо поэтапные действия. В этой серии постов, я хочу рассказать как создаются эти самые gnome applets, от простого к чему-нибудь к более сложному и интересному. Для создания апплетов мы будем использовать PyGTK, но в принципе писать апплеты для Gnome можно и с помощью связки С + GTK+.
Продолжение
Всего голосов 32: ↑27 и ↓5+22
Комментарии15

Безопасная настройка виртуального хостинга Debian + Apache2 + vsftpd

Время на прочтение7 мин
Количество просмотров33K

1. Постановка задачи


Дано
Debian-сервер «из коробки» (установлен из дистрибутива)

Задача
Организовать работу нескольких проектов на сервере, чтобы люди, которые ими занимаются, не имели доступа к соседним проектам:
  • Ограничить возможность обзора файловой системы определенной папкой для пользователя проекта.
  • Ограничить возможность запуска бинарников пользователями
  • Ограничить возможность открытия портов на сервере (нужно как-то по другому сформулировать)
  • Автоматизировать добавление пользователя в систему: создание папки, конфига apache, пользователей mysql или postgres
Читать дальше →
Всего голосов 34: ↑28 и ↓6+22
Комментарии8

Python Tips, Tricks, and Hacks (часть 3)

Время на прочтение6 мин
Количество просмотров49K
В этой части статьи рассматриваются уловки для выбора одного из двух значений на основе логического условия, передача и получение произвольного числа аргументов функций, а также распространенный источник ошибок — тот факт, что дефолтные значения аргументов функции вычисляются только один раз.
Читать дальше →
Всего голосов 67: ↑63 и ↓4+59
Комментарии48

Генератор текста на основе триграмм (python)

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

Сухая теория


И так, наша задача сгенерировать текст. Это значит, нам нужно взять слова и выстроить их в определенном порядке. Как определить этот порядок? Мы можем пойти следующим образом: построить фразы, наиболее вероятные для русского языка. Но что значит вероятность фразы языка? С точки зрения здравого смысла это бред. Тем не менее, эту вероятность можно задать формально как вероятность возникновения последовательности слов в неком корпусе (наборе текстов).
Читать дальше →
Всего голосов 46: ↑38 и ↓8+30
Комментарии35

Python: советы, уловки, хаки (часть 1)

Время на прочтение8 мин
Количество просмотров263K
Предлагаю читателям «Хабрахабра» перевод статьи «Python Tips, Tricks, and Hacks». Статья будет полезна на начальном и среднем этапах изучения Python.

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

Содержание

1. Маленькие уловки. Четыре типа кавычек. Правдивость различных объектов. Проверка на вхождение подстроки. Красивый вывод списка. Целочисленное деление и деление с плавающей точкой. Лямбда-функции.
2. Списки. Генераторы списков и выражения-генераторы.
Читать дальше →
Всего голосов 98: ↑94 и ↓4+90
Комментарии67

Маркировки пост

Время на прочтение5 мин
Количество просмотров66K
Как правило, если моделям устройств производитель не дает уникальных имен, то в их маркировке можно найти какую-либо закономерность.

image

Сегодня расскажу пару слов о имяобразовании некоторых устройств от компания ASUS, в частности – нетбуков и ноутбуков.
Читать дальше →
Всего голосов 86: ↑69 и ↓17+52
Комментарии27
1

Информация

В рейтинге
Не участвует
Откуда
Белгород, Белгородская обл., Россия
Зарегистрирован
Активность