Как стать автором
Обновить
55
0
Eugeni Dodonov @eugeni_dodonov

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

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

Фабрис Беллар: портрет сверхпродуктивного программиста

Время на прочтение3 мин
Количество просмотров19K
Как в компьютерной индустрии есть обычные ПК и суперкомпьютеры, также и среди разработчиков выделяются эдакие гиганты, обладающие сверхсилой. Как ещё можно назвать человека, чей список проектов выглядит так:

1989: LZEXE
1996: Harissa
1997: Публикация формулы Беллара для вычисления разрядов числа Пи
1999: Linmodem
2000: Вычисление самого большого известного простого числа (исходный код всего 438 байт)
2000: FFmpeg
2001: Компилятор TCC (Tiny C Compiler или TinyCC)
2002: TinyGL
2002: QEmacs
2003: QEMU
2004: Загрузчик TinyCC
2005: Передатчик сигнала в формате DVB-T с компьютера на телевизор
2009: Мировой рекорд по вычислению числа Пи
2011: Эмулятор компьютера с Linux на JavaScript

Каждая из этих программ могла бы стать венцом карьеры для любого разработчика, но Фабрис Беллар продолжает работать.
Читать дальше →
Всего голосов 188: ↑176 и ↓12+164
Комментарии52

Основы фотографии: выдержка, диафрагма, ГРИП, светочувствительность

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

Введение


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

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

Изначально я планировал написать одну статью, но по ходу дела понял, что объем получается слишком большой и решил разбить ее на несколько частей. В этой главе рассмотрю такие понятия как выдержка, диафрагма, ГРИП и светочувствительность, как эти параметры влияют на результат съемки. На очереди статья про типы и параметры объективов, работу со вспышками и советы по съемке в различных условиях.
Читать дальше →
Всего голосов 272: ↑232 и ↓40+192
Комментарии378

Космические скафандры

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

Завтра исполняется ровно 49 лет с момента первого космического полета, совершенного Юрием Гагариным в 1961-м году. В этот день вся планета отмечает всемирный день авиации и космонавтики.

По этому поводу я решил написать пост про космические скафандры – рассказать про историю их возникновения, конструкцию и по возможности сравнить наши скафандры с американскими аналогами.
Читать дальше →
Всего голосов 226: ↑214 и ↓12+202
Комментарии81

Baldur's Gate на Android: эмулятор GemRB в действии

Время на прочтение3 мин
Количество просмотров51K
Hamsters and rangers everywhere, rejoice!!!

Необязательное предисловие о личном

На рубеже веков все прогрессивное человечество вовсю рассекало по Побережью Мечей: от Кэндлкипа до самых Врат Балдура. А я — я отыгрывал правого хавбека во дворовой команде и проц мой был 386-й, а монитор черно-белый. Приобщился к искусству ролевых игр лишь через 9 лет. И легендарная Baldur's Gate мне не покорилась. Мышкой камеру крутить нельзя — неудобно!..

Так и жил бы, стыдясь своей попсовости, кабы не добрые люди — создатели GemRB, свободно распространяемой реализации Bioware Infinity Engine с открытым исходным кодом.

Матчасть

Стараниями петербургского разработчика Дмитрия Матвеева aka Beholder GemRB портирован на Android. Позволяет запускать игры серии Baldur's Gate, а также — с некоторыми ограничениями — Icewind Dale и Planescape: Torment. Требует:
  • Android >= 1.6;
  • VGA, WVGA, HVGA или большее разрешение;
  • 150 мб RAM;
  • наличие ресурсов оригинальной игры и места под них на смартфоне/планшете.

Читать дальше →
Всего голосов 77: ↑69 и ↓8+61
Комментарии62

Как я пытался стать участником Сколково

Время на прочтение4 мин
Количество просмотров28K
Как и большинство программистов, я пишу собственный проект. Для этого я зарегистрировал собственное Общество с Ограниченной Ответственностью в России и компанию за границей, получил пару патентов и, если смотреть на проект более реально, то он за пол года готов более чем на 70%. В команде я имею дизайнера и «пачку советчиков»… Инвестора на данном этапе я решил не искать, а приступить к этому на этапе 95-100%. Аналогов я ему не нашел, а искал долго, поэтому разработка проекта того стоит. Но суть не в этом.

Поскольку постоянно шло обсуждение сайта i-gorod, то я решил попробовать себя в роли участника данного распилапроекта…

Итак, что требуется, чтобы быть 'в теме'...
Всего голосов 214: ↑196 и ↓18+178
Комментарии257

Принуждение к профанации — «рыночный» менеджмент

Время на прочтение5 мин
Количество просмотров1K
Иногда в IT-компаниях или IT-подразделениях среди проектного менеджмента начинает появляться мнение, что разработчик после 25 лет — уже не тот (прим. автора — «не может быстро г… нокодить, а пишет медленно и аккуратно»), а программист после 30 — странное социальное явление, переросток (прим. автора — «сильно умный, придирается к требованиям»).

Менеджеры все чаще начинают злостно не понимать, отчего PHP разработчик, вроде опытный, тратит так много времени на… доверстывание куска веб-страницы, а с задачей исполнения javascript «во всех популярных браузерах» сражается два дня, расточительно тратя деньги компании на такие «мелочи».

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

Дальше будет только хуже, нельзя терять время и пора готовиться к перевороту.

Читать дальше →
Всего голосов 69: ↑54 и ↓15+39
Комментарии39

Шаблон проекта на Джанго с инструментами сборки и утилитами

Время на прочтение6 мин
Количество просмотров19K
Иногда приходится создавать с нуля сайт на Джанге. Это и тесты концепций, и простенькие странички (ведь если мы в проекте используем разные мощные инструменты, почему бы сайт-визитку не сделать тоже с их помощью, избавив себя от ручной работы?).

Итак, представляю публике проект под девизом «Поменьше писанины! Побыстрей, дебаг!» Набор для скоростной разработки на Джанго.

Это 2 шаблона:
  • шаблон конфига buildout, который подтягивает и собирает все необходимые проекту пакеты
  • шаблон проекта, а именно настройки, включающие все нужные инструменты, и набор статики (готовые файлы на Haml и Sass)


Читать дальше →
Всего голосов 60: ↑57 и ↓3+54
Комментарии19

Свёртки в Intel Cilk Plus

Время на прочтение8 мин
Количество просмотров2.9K
Допустим нам зачем-то нужно найти сумму элементов массива. Мы можем разбить массив на две части, просуммировать каждую часть отдельно и сложить результаты. При этом суммировать эти части можно параллельно. Но суммирование части массива это в точности исходная задача, и каждую часть снова можно разбить на две части и просуммировать каждую часть отдельно, а затем сложить результаты и т. д. Такая стратегия вычислений называется «разделяй и властвуй».

Таким способом можно вычислять много других функций от массивов, ниже в первой части статьи будет приведено математическое объяснение этой идеи, а во второй — как с помощью Intel Cilk Plus эту идею использовать в своих программах.

Итак, если есть желание посмотреть на математические формулы и куски кода на C++ в последние дни лета, то добро пожаловать под хабракат.

Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии18

Введение в OpenCL

Время на прочтение11 мин
Количество просмотров61K
Эта статья посвящена основам программирования на OpenCl. OpenCl -это язык программирования на GPU/CPU, по своей структуре близкий к стандарту c99. Его развитием занимается Khronos Group, где на их сайте доступна полная документация. Во избежание полемики на тему «ну это же всё тривиально, достаточно покопаться в инете» сразу оговорюсь: в рунете информация на эту тематику практически полностью отсутствует, а в западном инете доступна весьма в разрозненном состоянии на десятке сайтов. Здесь будет приведена некоторая компиляция базовых принципов, максимально упрощающая начинающему программисту жизнь, а так же позволяющая с самого первого проекта максимально задействовать вычислительные мощности видеокарты. Людям написавшим 2-3 серьёзных программы на OpenCl это будет уже неинтересно. Статья в некотором смысле является продолжением моей прошлой статьи.
Читать дальше →
Всего голосов 47: ↑46 и ↓1+45
Комментарии26

MBR для флешки своими руками или как сделать из одного устройства три

Время на прочтение8 мин
Количество просмотров112K
Мое почтение читающему!
Топик мог бы получиться просто катастрофически огромным, поэтому перейдем сразу к делу. Впереди вас ждет рассказ, о том, как можно одну флешку сделать одновременно загрузочной как для ОС семейства Windows, так и *nix, а также сделать из нее live-usb. Заранее прошу прощения за жаргон, не сторонник, но так короче.

Аннотация


Как-то пришлось много раз подряд устанавливать на одну и ту же машину кучу разных операционных систем, как от товарищей господ из Майкрософт, так и любимых всеми нами *nix`ов. При этом инсталляторы вновь устанавливаемых ОСей периодически терли загрузчики ранее установленных, так что приходилось их восстанавливать вручную, загружаясь с live-usb. Но самое ужасное, что при всем при этом под рукой была всего одна флешка (и еще 15 компьютеров правда, но толку от них было мало, так как разбирать их по причинам гарантии в надежде на лишний жесткий диск было нельзя). Флешка к счастью была большого объема. Вот тут-то и возникла идея сделать из одной флешки две, а лучше три (хотя можно и 4) разных девайса.

Немного теории


Как сделать из одной флешки несколько с целью последующей установки на нее одновременно нескольких установщиков ОС и еще live-операционки? Ответ очевиден — сделать на флешке несколько разделов!
Читать дальше →
Всего голосов 193: ↑181 и ↓12+169
Комментарии78

Обходим чужие тормоза

Время на прочтение8 мин
Количество просмотров6.8K
Бэкапил историю сообщений из Skype самописной утилиткой, год назад она работала отлично, а теперь стала люто тормозить. Это неприемлемо, тк. в том числе ради скорости экспорта она и была написана, поэтому полез в профайлер. По итогам узнал всякое и получил множественные просветления. Оказывается, breakpoint на функцию в подгруженной системной DLL ставить приходится с подвывертом, а не просто по имени, но таки можно и нетяжело. Оказывается, Skype API написан местами зверски криво, отчего и тормозища. Оказывается, чужие бинарники иногда можно очень легко подхачить и подоптимизить (слава MS Research!). Оказывается, профайлер может сильно врать, а не просто слегка подбрехивать. Ключевые слова для нетерпеливых: C++, VS, CodeAnalyst, Skype COM API, MS Research, Detours, SQLite; а для всех остальных подробности под катом.
Читать дальше →
Всего голосов 180: ↑176 и ↓4+172
Комментарии59

Подбор паролей к WPA/WPA2 с использованием видеокарты

Время на прочтение6 мин
Количество просмотров202K
Привет, Хабр!
Сегодня я расскажу и покажу вам, как можно использовать всю мощность ваших видеокарт для игр перебора паролей к Wi-Fi. Как-то не комильфо в наше время использовать только процессорные мощности под эти задачи (в частности aircrack-ng), когда в 80% компьютеров есть видеокарта. Поэтому разумно использовать всю потенциальную мощность ваших систем. А именно, речь пойдет о замечательной программе pyrit.
Читать дальше →
Всего голосов 166: ↑149 и ↓17+132
Комментарии61

Работа с виртуальными машинами KVM. Лимитирование ресурсов виртуальной машины

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


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

Читать дальше →
Всего голосов 42: ↑39 и ↓3+36
Комментарии14

Пишем плагин-диссектор для Wireshark

Время на прочтение14 мин
Количество просмотров24K
imageWireshark — одна из незаменимых утилит для «прослушки» сети, при работе с сетевыми протоколами. В состав программы уже входит некое количество диссекторов1, которое помогают детально рассмотреть пакеты базовых протоколов. Но при работе над проприетарным протоколом компании Nortel я столкнулся с отсутсвием подходящего диссектора. А нужен он был как воздух. Выход был очевиден — написать свой. Что я и сделал.
Таким образом, имея небольшой опыт написания плагина «анатома» под Wireshark, я решил поделиться знаниями и опытом с сообществом. Ну и для себя записать, на случай, если в будущем понадобится.

Диссекция — лат. dissectio, от dissecare, рассекать
Читать дальше →
Всего голосов 74: ↑74 и ↓0+74
Комментарии18

Введение в prototype.js

Время на прочтение4 мин
Количество просмотров29K
Подключаюсь к разработке проекта, в котором используется этот замечательный js-фреймворк. До этого использовал только jQuery, поэтому пришлось изучать эту новую для меня библиотеку.

Второе место, куда я пошел за информацией, после Википедии, был Хабр. С удивлением обнаружил не обнаружил здесь блога, посвященного Prototype и более того, никакой информации «для новичков». Решил исправить этот недостаток.

Все заинтересованных — прошу под кат
Читать дальше →
Всего голосов 76: ↑57 и ↓19+38
Комментарии114

Обламываем UAC

Время на прочтение6 мин
Количество просмотров102K
Уж не знаю, сколько раз поднималась пресловутая тема контроля за действиями пользователя (которая начиная с Windows Vista известна как UAC): нужна ли она, насколько эффективна… Но мы рассмотрим этот вопрос еще раз, теперь с чисто прикладной, хакерской точки зрения. Рассмотрим плюсы и минусы системы, а также самое главное — как ее можно (и можно ли вообще) обойти.


Читать дальше →
Всего голосов 112: ↑77 и ↓35+42
Комментарии47

Плавный переход сети компании на IPv6

Время на прочтение4 мин
Количество просмотров43K
Здравствуйте, хабрасообщество.

Хотелось бы осветить переход сети на IPv6, так как эта теме слабо освещена, тем более на русском языке. Сначала посмотрим на то, как выглядит наша сеть до перехода:

image
Читать дальше →
Всего голосов 86: ↑83 и ↓3+80
Комментарии42

Профили пользователей: плюсы, минусы, подводные камни

Время на прочтение5 мин
Количество просмотров12K
Не секрет, что работу с профилями пользователей в Django иначе как несчастьем не назовёшь. Все мы сталкивались с монолитностью модели auth.User, неадкеватным набором полей у неё, а также всеми теми ухищрениями, к которым приходилось прибегать.

Извращаться приходилось всем: не только пользователям джанги, но и самим её core-разработчикам. Помните, например, как в Django 1.2 внезапно стало возможно использовать в поле username символы собаки (@) и точки? Знаете зачем? Чтобы в качестве логинов можно было использовать адреса e-mail.

Нам, простым пользователям, тоже жилось несладко. Для того, чтобы изменить профиль пользователя, добавив ему какие-нибудь интересных полей — обычная, казалось бы, вещь, да? — приходилось действовать разными способами.
Интересно?
Всего голосов 67: ↑64 и ↓3+61
Комментарии45
1

Информация

В рейтинге
Не участвует
Откуда
Бразилия
Дата рождения
Зарегистрирован
Активность