Как стать автором
Обновить
0
0
Максим @ARTDooM

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

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

Безопасность случайных чисел в Python

Время на прочтение5 мин
Количество просмотров27K
Эта статья – вторая в ряде публикаций, посвященных уязвимостям генераторов псевдослучайных чисел (ГПСЧ).

В последнее время появился целый ряд публикаций, описывающих уязвимости ГПСЧ, начиная от самых основ ([1]) и заканчивая непосредственно уязвимостями в различных языках программирования и реализованных на их основе CMS и другого ПО ([2],[3],[4]).

Эти публикации популярны по той причине, что ГПСЧ – основа многих аспектов безопасности веб-приложений. Псевдослучайные числа/последовательности символов используются для обеспечения безопасности веб-приложений в:

  • генерации различных токенов (CSRF, токены сброса пароля и т.д.);
  • генерации случайных паролей;
  • генерации текста в CAPTCHA;
  • генерации идентификаторов сессий.

В прошлой статье мы, опираясь на исследования George Argyros и Aggelos Kiayias ([3]) научились предугадывать случайные числа в PHP на основе PHPSESSID и уменьшать различными способами энтропию псевдослучайных чисел.

Сейчас мы рассмотрим ГПСЧ в веб-приложениях, разработанных на языке Python.
Читать дальше →
Всего голосов 64: ↑57 и ↓7+50
Комментарии11

Определение доминирующих цветов: Python и метод k-средних

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

Assorium

На Хабре публиковалось несколько статей с алгоритмами и скриптами для выбора доминирующих цветов на изображении: 1, 2, 3. В комментариях к тем статьям можно найти ссылки ещё на десяток подобных программ и сервисов. Но нет предела совершенству — и почему бы не рассмотреть способ, который кажется самым оптимальным? Речь идёт об использовании кластеризации методом k-средних (k-means).
Читать дальше →
Всего голосов 59: ↑54 и ↓5+49
Комментарии17

Multiseat для Windows рабочих мест

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

Хочу вам рассказать о необычном способе создания многопользовательской рабочей станции, в качестве основы которого лежит VMPlayer.

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

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

Ну собственно, бизнес-требования ясны, значит пора переходить к решению…
Читать дальше →
Всего голосов 52: ↑45 и ↓7+38
Комментарии39

Как я сам научился программировать за 8 недель

Время на прочтение3 мин
Количество просмотров568K
Для многих, кто никогда не программировал, обучение программированию кажется невероятно сложной задачей. Как бы то ни было, спасибо тому огромному количеству ресурсов, которые недавно стали доступны в Интернет и являются бесплатными — самообучение программированию никогда еще не было таким простым.

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

Ниже я описал простой путь от ничего не зная о разработке программного обеспечения до обладания рабочим прототипом за восемь недель, который примерно повторяет шаги, которые я выполнил.
Читать дальше →
Всего голосов 133: ↑90 и ↓43+47
Комментарии92

Легкий способ записывать лекции по техническим предметам с LibreOffice Math

Время на прочтение3 мин
Количество просмотров60K
Проблема:
Я регулярно езжу на работу в метро, и вижу молодых людей, вероятно, студентов, с макбуками, планшетами, айфонами и айпадами. Ну, то есть, понятно, что они живут в ногу со временем — твиттер там, фейсбук наверняка, инстаграмм. Может, даже наверное смотрят лекции на Coursera. Удивляет то, что при всем при этом, студенты читают конспекты рукописных лекций в тетрадке — с сокращениями, таблицами, подчеркнутыми снизу определениями терминов и т.п. И вот эти рукописные тетрадки вызвают у меня когнитивный диссонанс — ну почему нельзя в 2012 году писать лекции на ноутбуке?

Ведь решение давно известно — OpenOffice/LibreOffice.
Читать дальше →
Всего голосов 75: ↑66 и ↓9+57
Комментарии137

Учим Python качественно

Время на прочтение4 мин
Количество просмотров1.4M
Здравствуйте всем!

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

Удобочитаемый синтаксис, прост в обучении, высокоуровневый язык, Объектно-Ориентированый язык программирования (ООП), мощный, интерактивный режим, масса библиотек. Множество иных плюсов… И это всё в одном языке.
Для начала окунёмся в возможности и узнаем, что же умеет Python?
Читать дальше →
Всего голосов 86: ↑59 и ↓27+32
Комментарии88

Написание музыки в Linux: что есть прямо сейчас

Время на прочтение9 мин
Количество просмотров125K
Недавно я прочитал о том, что Гэйб Ньюэлл всерьёз настроен на то, чтобы перенести хорошие и качественные игры в Linux. Как он считает, это именно то, чего не хватает, и что на данный момент ограничивает развитие платформы. Безусловно, он прав. Тем не менее, лично для меня есть и другая область, которая мне даже намного важнее, чем игры — это музыка. Если без игр я могу обойтись, то музыка для меня необходима — как, впрочем, и для многих других людей.

Рабочее место Niels Ott
На картинке ­— рабочее место Niels Ott, на компьютере запущен Ardour.

Моя жена тоже музыкант, и когда она увидела, какие секвенсоры и синтезаторы есть в Linux — она даже не стала пытаться в них разобраться, просто вернувшись к своим Cubase и Reason. На её ноутбуке есть Windows 7, и когда она пишет музыку, она просто перезагружается туда и запускает там эти программы.

Я же, пользуясь Linux уже около 10 лет, не могу так просто отказаться от того, чтобы хотя бы пробовать имеющиеся программы. В принципе, могу точно сказать, что за 10 лет всё очень сильно изменилось в лучшую сторону. И всё же то, что сейчас есть под Linux для написания музыки, очень далеко от идеала. Давайте вместе разберёмся, почему бо́льшую часть музыки всё ещё пишут на Mac OS X или Windows.
Читать дальше →
Всего голосов 128: ↑124 и ↓4+120
Комментарии124

Учимся писать многопоточные и многопроцессные приложения на Python

Время на прочтение6 мин
Количество просмотров413K
Эта статья не для матёрых укротителей Python’а, для которых распутать этот клубок змей — детская забава, а скорее поверхностный обзор многопоточных возможностей для недавно подсевших на питон.

К сожалению по теме многопоточности в Python не так уж много материала на русском языке, а питонеры, которые ничего не слышали, например, про GIL, мне стали попадаться с завидной регулярностью. В этой статье я постараюсь описать самые основные возможности многопоточного питона, расскажу что же такое GIL и как с ним (или без него) жить и многое другое.
Читать дальше →
Всего голосов 94: ↑88 и ↓6+82
Комментарии93

Разработка — «Рабочее место кассира» под LINUX. GPL

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

Последние новости


Система работает на 15 кассах. Дописывается. git здесь github.com/redeyser/IceCash. почта моя здесь redeyser@gmail.com Видео
www.youtube.com/watch?v=69AF7n6sxDY

Предыстория


Так сложилось, что работаю программистом/админом в розничной торговой сети. Работаю уже два года, до этого никогда не сталкивался с обслуживанием специализированных программ и техники, но разобрался со временем. Особенностью моей организации является то, что вкладываться в нормальную технику начальство не собирается категорически. То есть, модернизацией и близко не пахнет, а вот носиться на замену чего-то, вновь исдохшего приходится частенько. Кроме того, большинство торговых точек не обладают лицензией на установленную ОС Windows XP. На розничных точках стоит одна или две кассы на базе умирающих от старости компьютеров, таких же старых фискальных аппаратов Штрих-М ФРК, различных сканеров штрихкода (COM, USB,Keyboard) и весов METTLER TOLEDO. Из программного обеспечения изначально было только лицензионная (с ключом) 1С v7.7 «ШТРИХ-М Кассир».

Внедряем Linux где это возможно


Помимо обязанностей — следить за кассами, на моих плечах был и офис и удаленный филиал со всеми 1С ками, железом (тоже не новым), серверами. И чего-то я с трудом всё это успевал обслуживать на первых порах. Честно признаться — я юниксофил, потому поспешил с внедрением linux. Постепенно удалось перевести офисных клиентов на Linux, и сразу стало легче дышать, компы перестали зарастать вирусами, оставалось только следить за железом да подбирать и устанавливать нужные программы. Основная работа клиентов продолжалась в Windows, но это был уже терминал на сервере, с ним проще. По возможности сервера я перевел тоже на Linux, оставив только один с windows server 2003.

Читать дальше →
Всего голосов 82: ↑75 и ↓7+68
Комментарии68

UI-Ai: Рисуем интерфейс в Adobe Illustrator

Время на прочтение7 мин
Количество просмотров145K
На презентации Adobe CS6 в Самаре я делал доклад о том как мы в компании Parcsis используем Adobe Illustrator для создания веб- и мобильных интерфейсов. Хочу поделиться этим докладом с вами в виде слайдов с комментариями.

Рисуем интерфейс в Adobe Illustrator

Когда показываешь свои работы, зачастую начинающие дизайнеры задают вопрос «А в чем это нарисовано?» Опытные дизайнеры спрашивают такое реже, так как понимают, что одно и тоже можно сделать с помощью разных графических редакторов. Тем не менее, расскажу свою историю…

Читать дальше →
Всего голосов 173: ↑162 и ↓11+151
Комментарии155

Руководство по оформлению HTML/CSS кода от Google

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

От переводчика


С удовольствием ознакомился с этими рекомендациями и теперь предлагаю вам перевод.

Введение


Это руководство описывает правила для оформления и форматирования HTML и CSS кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры.

Это относится к рабочим версиям файлов использующих HTML, CSS и GSS

Разрешается использовать любые инструменты для минификации компиляции или обфускации кода, при условии, что общее качество кода будет сохранено.
Читать дальше →
Всего голосов 295: ↑286 и ↓9+277
Комментарии168

Советы по правильной настройке телевизора

Время на прочтение6 мин
Количество просмотров911K
Для начала, что есть «правильная настройка». Если вы хотя бы раз были в магазине электроники, то наверняка замечали, что все выставленные телевизоры показывают по-разному. С чем это связано? Какой из них лучше? Давайте разберемся.

Я думаю, вы согласитесь, что телевизор должен не просто показывать какую-то картинку, но и вносить как можно меньше искажений в исходный контент. Сам контент всегда создается с оглядкой на стандарты и рекомендации индустрии, и главная цель любого телевизора — донести до вас именно то изображение, которое вам хотели показать. Тут важно всё: и оттенок кожи у актера, и цвет неба на закате, и какие детали изображения должны быть видны, а какие спрятаны. Существуют международные стандарты, описывающие каким должно быть изображение на экране вашего телевизора. Все вы, наверняка, встречали аббревиатуры PAL, NTSC, или HDTV, вот за этими буквами и скрываются свойства видеосигнала и различные параметры изображения. С приходом HDTV в нашу жизнь, большая часть стандартов сразу же устарела, и, фактически, наиболее актуальным сейчас является стандарт REC709, который используется в телевидении высокой четкости (HD) и в Blu-Ray видео.
Читать дальше →
Всего голосов 184: ↑171 и ↓13+158
Комментарии127

Переменные в CSS

Время на прочтение2 мин
Количество просмотров49K
Если вы разработчик, то вы точно хорошо знакомы с переменными, и возможно, они одни из ваших лучших друзей. По определению, переменная — это временное хранилище, которое содержит некое значение величины или информации.
Но каким образом это относится к тому CSS, который мы все знаем? Год назад на Хабре был пост о планируемых новшествах в CSS, которые были оглашены членом рабочей группы CSS и команды Google Chrome. Среди этих новшеств было введение поддержки переменных.
И вот, буквально на днях, поступили новости о выходе первого релиза рабочего черновика CSS Переменных (CSS Variables).


Читать дальше →
Всего голосов 56: ↑50 и ↓6+44
Комментарии60

Основы работы с Wine для начинающих

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

Введение


Статья посвящена Wine и всем аспектам его использования. В сети находится очень
много информации, есть различные руководства по настройке и многое другое. Я
постараюсь объединить все для того чтобы любой человек смог достичь
максимального успеха, в пределах своих способностей и конечно возможности
программы. Итак — начнем.

Wine — это отдельная реализация Windows API, а не эмулятор, как большинство
думают. Не единожды повторялось, но и здесь будет уместно. Это и делает проект
уникальным и интересным для пользователей различных систем, открывает различные
пути для реализации своих идей. Уникальность заключается в том, что с помощью
этой программы можно запускать Windows приложения в Ubuntu и в других
Linux системах, а также во FreeBSD и в Mac OS X. Правда и тут есть
свои «подводные камни». Некоторые думают что будет легко перейти с одной
системы на другую, в данном случае мы рассматриваем Windows и Linux.

Заблуждение заключается в том что люди думают что у них получиться запустить из
под Wine различный софт, к которому они привыкли и им удобно в нем работать.
Как не крути просто так ничего не бывает. Чтобы заработал наш любимый софт под
Wine нужно попотеть, перечитать кучу руководств и взвесить этот объём
информация. Конечно не совсем софтом придется «пыжиться», но готовым надо быть ко всему. Проект Wine развивается очень быстро, но до стабильной работы ему
очень далеко. Но думаю что в скором будущем весь основной софт, а также игры
будут работать на нем стабильно.

Читать дальше →
Всего голосов 147: ↑122 и ↓25+97
Комментарии97

Если мы хотим воспроизводимую науку, код программ должны быть открыт

Время на прочтение2 мин
Количество просмотров1.4K
Научный журнал Nature опубликовал статью, в которой аргументированно доказывается, что исходный код программ, написанных для научных экспериментов, должен быть обязательно открыт. В данный момент, пишет журнал, сложилась парадоксальная ситуация: результаты научного исследования публикуются в открытом доступе, но повторить эксперимент бывает затруднительно, потому что авторы научной работы не открывают исходные коды написанных ими программ. А ведь современные научные исследования практически всегда включают в себя интенсивные компьютерные расчёты, анализ экспериментальных данных, моделирование.
Читать дальше →
Всего голосов 82: ↑75 и ↓7+68
Комментарии56

Онлайн-репетитор по Python

Время на прочтение1 мин
Количество просмотров24K
Для курса по программированию MIT разработан интерактивный инструмент Online Python Tutor, он в графическом виде показывает изменение стека и кучи на каждом шаге выполнения кода. Таким образом, онлайновый «наставник» как бы наглядно объясняет студенту работу программы.



В окно редактора можно скопировать любой код или посмотреть несколько уже готовых простеньких примеров (факториал, квадратный корень, последовательность Фибоначчи и т.д.). Навигация осуществляется стрелками на клавиатуре. Студенты, изучающие Python, могут увидеть и лучше понять работу кода.
Всего голосов 88: ↑82 и ↓6+76
Комментарии30

Сети для самых маленьких. Часть вторая. Коммутация

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


После скучного рассказа о подключении к кошкам переходим к настройке сети. В этот раз темы будут для новичков сложные, для старичков избитые. Впрочем сетевым аксакалам едва ли удастся почерпнуть что-то новое из этого цикла. Итак, сегодня:
а) аккуратно впитываем теорию о коммутаторах, уровнях сетевой модели, понятии инкапсуляции и заголовков (не пугайтесь — еще не время),
б) собираем спланированную в нулевой части цикла сеть,
в) настраиваем VLAN'ы, разбираемся с access и trunk-портами и тегированными Ethernet-фреймами,
г) соотносим текущие знания со стеком протоколов TCP/IP и моделью OSI (да, наконец-то мы ее коснёмся).



Перед тем, как вы обратитесь к практике, настоятельно рекомендуем почитать нулевую часть, где мы всё спланировали и запротоколировали.

Читать дальше →
Всего голосов 92: ↑88 и ↓4+84
Комментарии45

Бесплатное увеличение Dropbox аккаунта на 5 ГБ

Время на прочтение2 мин
Количество просмотров47K
Dropbox тестирует функцию автоматического расшаривания фото и видео с внешних накопителей. Пока идёт бета-тест за каждые 500 МБ выгруженного контента пользователю бесплатно начисляется 500 МБ дополнительного места вплоть до 5 ГБ.

Для проверки функции необходимо:
1. Скачать и установить новую тестовую версию Dropbox 1.3.15 (ссылка для Mac OS).
2. Прописать в Autoplay для желаемого контента выгрузку через Dropbox.
Читать дальше →
Всего голосов 86: ↑78 и ↓8+70
Комментарии314

Датчик освещённости из веб-камеры вашего ноутбука

Время на прочтение3 мин
Количество просмотров25K
image
Почти всегда на ночь (или утром, со словами «Что? Рассвет уже?») я включаю на ноутбуке фильм или сериал. Чтобы бубнило и успокаивало. Недавно заметил, что совсем не уменьшаю яркость при включении. Свет светит в глаза, мешает уснуть. Решается поворотом на другой бок или уменьшением яркости, конечно, но я слишком ленив, чтобы искать Fn+уменьшить яркость или установить и вывести апплет яркости. Уменьшение яркости при неактивности ставить не захотел, потому как это меня раздражает (пьешь себя кофе и смотришь код, тут резко до нуля так хрясь). Вспомнил про свою старую Nokia E70 (ох и шикарный телефон был), в котором был индикатор освещённости. Подумал, что такой датчик может заменить и обычная камера.
Читать дальше →
Всего голосов 96: ↑89 и ↓7+82
Комментарии31

Что стоит знать задумавшемуся о переходе на Ubuntu

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


Знакомый, в глаза не видевший Linux, но заинтересовавшийся опенсурсом, после выхода Ubuntu 10.10 попросил написать ему, "чем хорошо, чем плохо, какие осложнения, какие тонкости, как наладить отношения с вин7", чтобы он мог решить, нужно ли ему это счастье.


Сначала подумал "зачем буду писать текст, когда наверняка его уже сто человек написали — быстро нагуглю, пошлю ссылку, а потом уже на конкретные вопросы отвечать буду". Но затем обнаружил, что по запросам вроде "миграция на ubuntu" вываливаются гигантские мануалы с тонкостями настройки compiz, а недлинный текст для "неопределившихся" быстро найти не получается ни в интернете вообще, ни на ubuntu.com и ubuntu.ru (то есть все как и писал в предыдущем посте), ни на Хабре — вот и подумал, что пусть теперь хотя бы на Хабре будет.


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

Читать дальше →
Всего голосов 232: ↑184 и ↓48+136
Комментарии638

Информация

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