Как стать автором
Обновить
18
0

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

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

Психологическая деформация программистов. Взгляд с обеих сторон баррикад

Время на прочтение6 мин
Количество просмотров137K
Само наличие психологической деформации у какой-либо профессии, как правило, достаточно спорный момент ввиду того, что у разных людей она проявляется по-разному. Однако общую тенденцию можно выделить и, пожалуй, настало то время когда можно достаточно смело говорить, что программисты всё же имеют свой особенный психологический портрет который обусловлен их профессиональной деятельностью.

Я достаточно часто сталкивался с подобным мнением и не придавал ему особого значения, но когда женский коллектив нашей организации поздравил программистов с 23-м февраля по доброму назвав их «космическими войсками», решил всё же расставить определенные акценты в данном вопросе, т.к. одна из моих профессий связана напрямую с психоанализом. Да и баш уже не молчит.

И что же них такого деформированного?
Всего голосов 461: ↑436 и ↓25+411
Комментарии558

Иисус Христос и этика свободного копирования

Время на прочтение10 мин
Количество просмотров86K
Роджер Желязны, роман «Князь Света»:
Ниррити положил руку ему на плечо.

— Значит, само твоё существо изнемогает, должно быть, от боли, внимая насаждаемому ими богохульству!

— Не очень-то я их жалую, да и они меня тоже.

— Ещё бы. Но вот Сэм — он же делал то же самое — преумножая число ересей, ещё глубже погребая истинное Слово…

— Оружие, Ренфрю, — сказал Ольвегг. — Оружие и ничего более. Я уверен, что он хотел стать богом не больше, чем ты или я.

— Может быть. Но лучше бы он подыскал другое оружие. Хоть он и побеждает, души их всё равно потеряны.
Конец цитаты.

Эти строки покойного фантаста наилучшим образом отражают то настроение, в которое я погрузился, когда aleksandrit двенадцать дней назад (5 января 2012 года) ознакомил всех нас с новостью о том, что в Швеции файлообмен и вообще свободное копирование теперь рассматривается как отдельная религия, как новая церковь, как вероучение — копимизм.

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

Чтобы ответить на этот вопрос, следует прежде всего увидеть всю картину событий в её исторической перспективе.

Для начала давайте вспомним, что заповедная черта между идеологическими и вероисповедными доводами в споре о копировании была впервые пересечена отнюдь не недавними шведами копимизма. Как раз наоборот, это сделали сторонники копирайта и правоторговли, причём достаточно давно. Уместно думать, что черта эта была впервые нарушена тогда, когда нелицензионное компьютерное копирование впервые широко объявили кражею. (Я считаю разумным думать, что сделал это Билл Гейтс 3 февраля 1976 года в четвёртом абзаце «An Open Letter to Hobbyists», защищая бизнес-интересы своей компании, тогда называвшейся «Micro-Soft» через дефис.) В вероисповедном отношении это значит, что нелицензионное копирование (совершаемое вместо уплаты денег поставщику) было тогда объявлено грехом (нарушением Божией заповеди «не укради», которая среди десяти заповедей в православии считается восьмою, а лютеранами и римско-католическою церковью считается седьмою).

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

Но ведь и ответ копимистов на этот удар, их новое вероисповедное оружие выглядит неудовлетворительным. Ну то есть для неверующего, может быть, и кажется полезным притвориться, что копирование — это такая как бы церковь, чтобы юристы поменьше доставали. Но уж христианину-то не приличествует отречься от Христа и переменить веру во имя одной только свободы копирования. Крайне глупо отказываться заплатить правообладателю деньгами, но быть вполне согласным поплатиться душою. (Да и вся ситуация не выглядит ведь поводом для такого глубокого отчаяния, как «мы другова Бога сыщем» в сказке у Саморядова.)

Вместо того достаточно было бы попристальнее вглядеться и вникнуть в настоящее (а не вымышленное) отношение христианства к копирайту.

Читать дальше →
Всего голосов 66: ↑27 и ↓39-12
Комментарии22

Спасем крупнейшую медиатеку в рунете. Вся база rutracker у Вас на компьютере

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

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

К сожалению, решить проблему своими силами у меня не хватило ни времени, ни, будем откровенны, знаний. Но, к счастью, мои слова возымели действие на людей, которые и тем и другим обладают. В итоге эти люди организовались и сообща сделали то, о чём так долго говорили большевики о чем я писал, а именно с помощью скриптов обошли рутрекер, сдампили все описания раздач с хешами, распарсили их и скомпоновали в удобную для употребления базу. В дополнение к этому так же была написана «морда»: программа для удобной работы с базой конечных пользователей, не знающих с какого конца держат grep. К сожалению, аккаунта на хабре никто из этой команды не имеет (если не считать read-only), в песочнице статья могла бы потеряться, поэтому меня выбрали как рупор для данной площадки. Я, честно говоря, раздумывал совсем недолго и только над тем, как правильнее все сделать. Если будут какие-то вопросы — задавайте мне в комментах, я либо отвечу сам, либо переадресую разработчикам. Технические тексты от первого лица, но я имею к ним косвенное отношение, они оставлены в таком виде для простоты восприятия.

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

Техническая часть, ссылки и немного лирики
Всего голосов 290: ↑274 и ↓16+258
Комментарии257

Новый Vogue. Теперь банановый

Время на прочтение3 мин
Количество просмотров97K
Прикручиваем аппаратную консоль к Transcend WiFi SDHC


Прокачаная карточка

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

Читать дальше →
Всего голосов 179: ↑173 и ↓6+167
Комментарии120

UART и с чем его едят

Время на прочтение10 мин
Количество просмотров884K
После Vogue истерии появилось множество вопросов, как подключить плату к компьютеру. И многие люди даже не понимают, что же такое UART. И я решил рассказать здесь какой это мощный инструмент.

image
Роутер превращается в компьютер, если к нему по UART подключить клавиатуру и дисплей

От телеграфа к COM-порту


Протокол UART (Universal asynchronous receiver/transmitter) или, по-русски, УАПП (универсальный асинхронный приемопередатчик) — старейший и самый распространенный на сегодняшний день физический протокол передачи данных. Наиболее известен из семейства UART протокол RS-232 (в народе – COM-порт, тот самый который стоит у тебя в компе). Это, наверное, самый древний компьютерный интерфейс. Он дожил до наших дней и не потерял своей актуальности.

Надо сказать, что изначально интерфейс УАПП появился в США как средство для передачи телеграфных сообщений, и рабочих бит там было пять (как в азбуке Морзе). Для передачи использовались механические устройства. Потом появились компьютеры, и коды ASCII, которые потребовали семь бит. В начале 60-х на смену пришла всем известная 8-битная таблица ASCII, и тогда формат передачи стал занимать полноценный байт, плюс управляющие три бита.
Читать дальше →
Всего голосов 198: ↑192 и ↓6+186
Комментарии97

Решение задачи кластеризации методом градиентного спуска

Время на прочтение6 мин
Количество просмотров26K
Привет. В этой статье будет рассмотрен способ кластеризации данных, используя метод градиентного спуска. Честно говоря данный способ носит больше академический характер, нежели практический. Реализация этого метода мне понадобилась в демонстрационных целях для курса по машинному обучению, что бы показать как одинаковые задачи можно решить различными способами. Хотя конечно если вы планируете осуществить кластеризацию данных, используя дифференцируемую метрику, для которой вычислительно труднее найти центроид, нежели подсчитать градиент на некотором наборе данных, то этот метод может быть полезным. Итак если вам интересно как можно решить задачу k-means кластеризации с обобщенной метрикой используя метод градиентного спуска, прошу под кат. Код на языке R.
Читать дальше →
Всего голосов 50: ↑48 и ↓2+46
Комментарии8

Архив интересного кода

Время на прочтение1 мин
Количество просмотров54K
Преподаватель из Стэнфордского университета Кит Шварц (Keith Schwarz) уже несколько лет пополняет свой архив интересного кода — образцы самых лучших алгоритмов и структур данных, когда-либо изобретённых человечеством (Шварц весьма амбициозно оценивает свою коллекцию).

Примеры на сайте преимущественно закодированы в C++, поскольку STL предоставляет прекрасную базу для выражения алгоритмов, работающих с различными типами данных. Структуры данных реализованы на Java.

Кит Шварц дает разрешение использовать свой код всем желающим без всяких ограничений.
Читать дальше →
Всего голосов 103: ↑92 и ↓11+81
Комментарии33

Полное сканирование /0

Время на прочтение1 мин
Количество просмотров82K
На сайте Internet Census 2012 internetcensus2012.bitbucket.org опубликованы результаты сканирования всех существующих IPv4 адресов. Сканирование такого масштаба удалось осуществить благодаря ботнету из 420 тысяч незащищенных устройств.


Читать дальше →
Всего голосов 110: ↑106 и ↓4+102
Комментарии55

Activision покажет новое поколение технологий рендеринга на GDC

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

Activision Blizzard проведет на Game Developers Conference в марте презентацию, на которой расскажет о технологиях следующего поколения для рендеринга персонажей.

Хорхе Хименес (Jorge Jimenez), занимающийся научными исследованиями в области реал-тайм графики в Activision Blizzard, проведет часовую презентацию под названием «Фотореалистичный рендеринг глаз и их деформаций», на которой он собирается поделиться продвинутыми техниками по «созданию фотореалистичных персонажей для „железа“ и игр следующего поколения».
Читать дальше →
Всего голосов 42: ↑42 и ↓0+42
Комментарии79

Топ-10 результатов в области алгоритмов за 2012 год

Время на прочтение4 мин
Количество просмотров49K
Каждый год 31 декабря David Eppstein публикует обзор препринтов за прошедший год, посвященных структурам данных и алгоритмам, опубликованным на arxiv.org. По ссылкам можно познакомиться с материалами за 2010 и 2011 (мой перевод) годы.

Раздел cs.DS развивается хорошими темпами: в этом году появилось 935 препринтов по алгоритмам и структурам данных, в то время как за 2011 их было 798. Раздел пока не дотягивает до сотни в месяц, хотя в июле (98 препринтов) этот порог был очень близок.

Это мой личный список из десятка препринтов, которые кажутся мне особенно интересными. Как обычно, я не вношу в него мои собственные работы и некоторые другие, о которых я писал раньше. Кроме того, здесь нет результатов (например, более быстрый алгоритм нахождения максимального потока), не появлявшихся на arxiv.org.

Вот они, в хронологическом порядке:
Читать дальше →
Всего голосов 114: ↑114 и ↓0+114
Комментарии8

Как устроена apache cassandra

Время на прочтение13 мин
Количество просмотров230K
Кассандра
В этом топике я хотел бы рассказать о том, как устроена кассандра (cassandra) — децентрализованная, отказоустойчивая и надёжная база данных “ключ-значение”. Хранилище само позаботится о проблемах наличия единой точки отказа (single point of failure), отказа серверов и о распределении данных между узлами кластера (cluster node). При чем, как в случае размещения серверов в одном центре обработки данных (data center), так и в конфигурации со многими центрами обработки данных, разделенных расстояниями и, соответственно, сетевыми задержками. Под надёжностью понимается итоговая согласованность (eventual consistency) данных с возможностью установки уровня согласования данных (tune consistency) каждого запроса.

NoSQL базы данных требуют в целом большего понимания их внутреннего устройства чем SQL. Эта статья будет описывать базовое строение, а в следующих статьях можно будет рассмотреть: CQL и интерфейс программирования; техники проектирования и оптимизации; особенности кластеров размещённых в многих центрах обработки данных.
Дорогу осилит идущий...
Всего голосов 77: ↑75 и ↓2+73
Комментарии35

16 бесплатных курсов Стэнфорда на осенний семестр

Время на прочтение2 мин
Количество просмотров77K
Начался новый учебный год, пора снова садиться за учебники, то есть за экраны компьютеров. Этой осенью Стэнфордский университета расширяет программу учебных курсов, которые бесплатно преподаются через интернет, с последующей выдачей сертификатов. Студентам предлагается 16 онлайновых курсов. Каждый найдёт там себе что-нибудь интересное: криптография, математика, алгоритмы, ИТ-предпринимательство, финансы и т.д. (полный список под катом).

Радует, что Стэнфорд постепенно развивает платформу для дистанционного образования, добавляются новые технологические площадки для вещания — это единственный вуз, который транслирует курсы через несколько площадок, увеличивается количество преподаваемых предметов. На зимний и весенний семестры обещают опять расширить учебную программу.
Читать дальше →
Всего голосов 37: ↑32 и ↓5+27
Комментарии28

Единственный способ

Время на прочтение4 мин
Количество просмотров71K
Ральф вошел в помещение ангара №1 в 8:30 утра, как делал это ежедневно уже несколько лет. Его взгляд сразу же устремился к центру зала, где на постаменте, окруженный множеством приборов и паутиной кабелей, находился смысл его работы. Собственно говоря, не только его — миллионов людей по всему миру. Первый инопланетный корабль. Полтора десятилетия назад он совершил аварийную посадку и был частично поврежден, оставив, однако, весьма много материала для изучения. Настоящим чудом стало то, что политики и учёные после этого события не переругались, а смогли организовать эффективное изучение свалившегося с небес подарка. На реверс-инжиниринг корабля были брошены лучшие умы планеты. Ральф, возглавляющий группу изучения приборов связи, стоял в ангаре и в который раз любовался стремительной, похожей на стрелу в полёте, формой корабля. Он вспоминал всё, что случилось за последние годы.
Читать дальше →
Всего голосов 341: ↑305 и ↓36+269
Комментарии127

codestre.am — потоковая запись терминала

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


Сегодня наткнулся на очень интересный сервис codestre.am, разработанный LearnBoost.
Идея подобного сервиса наверняка возникала у многих.

Смысл проекта создание обучающих видео, только в формате командной строки, причём с возможностью всё воспроизвести не перепечатывая слова и буквы, а просто копируя их из самого видео.
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии10

Инструкция по выбору шрифта

Время на прочтение1 мин
Количество просмотров5.6K
Выбираете шрифт? Можно сделать это просто отвечая на вопросы «да» и «нет», благодаря блок-схеме авторства Julian Hansen.

image

Ссылка на полную версию картинки:
julianhansen.com/files/infographiclarge_v2.png (1983×1402)

Шрифты классические, но, я думаю, каждый может открыть для себя нечто новое в этой схеме.
Всего голосов 90: ↑77 и ↓13+64
Комментарии61

Не стоит паниковать по поводу слабых RSA ключей — просто заботьтесь о своих P и Q

Время на прочтение8 мин
Количество просмотров7.5K
Вы возможно уже видели препринт опубликованный сегодня Ленстрой и др (обсуждение на хабре) о проблемах с энтропией в криптографических системах с открытыми ключами. Закир Дурумерик, Ерик Вустров, Алекс Халдерман, и Я (Надя Хенингер) ждали, чтобы раскрыть похожие результаты. Мы опубликуем полную статью после того, как все задействованные производители будут оповещены. А между тем мы хотим предоставить более полное объяснение того, что же реально происходит.

Мы смогли удалено скомпрометировать около 0.4 % от всех открытых ключей, используемых веб сайтами для SSL. Все скомпрометированные ключи были неправильно сгенерированы, с использованием предсказуемых «рандомных» чисел, которые к тому же ещё и иногда повторялись. Всего мы можем выделить два типа проблем: ключи, сгенерированные с предсказуемой рандомностью, и подмножество этих ключей, для которых нехватка рандомности позволяет атакующему быстро факторизовать открытый ключ и получить секретный ключ. Имея секретный ключ, атакующий сможет выдать себя за вебсайт и возможно сможет расшифровывать зашифрованный трафик направленый на этот сайт. Мы разработали программу которая за пару часов может факторизовать открытые ключи и выдавать секретные ключи для всех хостов уязвимых к этой атаке.

Тем не менее, не стоит паниковать, так как в основном проблема влияет на встраиваемые системы, такие как маршрутизаторы и VPN, и не касается полномасштабных серверов. (Во всяком случае это точно не причина терять доверенность к электронной коммерции, как это предполагает New York Times). К сожалению, мы нашли устройства с этой проблемой практически у каждого производителя и мы подозреваем, что около 200.000 устройств, представляющих 4.1% от всех ключей в наших данных, использовали плохую энтропию для генерации ключей. Любой найденный слабый ключ сгенерированный устройством предполагает, что весь класс этих устройств уязвим для атаки при должном анализе.

Мы не будем предоставлять полный список уязвимых устройств до того как мы свяжемся со всеми производителями, но используя уже опубликованные материалы можно довольно легко воспроизвести атаку. Поэтому мы сейчас работаем над веб сайтом, который позволит определить уязвимо ли ваше устройство.
Читать дальше →
Всего голосов 47: ↑46 и ↓1+45
Комментарии4

Равномерное выравнивание блоков по ширине

Время на прочтение4 мин
Количество просмотров19K
Продолжая свои «css-раскопки» возникла новая идея, разобрать по косточкам ещё одну актуальную тему, которая касается равномерного выравнивания блоков по ширине. В принципе мои доскональные исследования я уже запостил у себя в блоге, но так как прошлая моя работа очень понравились Хабра-сообществу, то я решил сделать здесь небольшой краткий обзорчик этой статьи, чтобы ни одна хабра-душа не пропустили её наверняка. Так что, как говорил Гагарин: «Поехали».

В общем в задачах вёрстки периодически возникают моменты, когда появляется необходимость выровнять какой-нибудь список по ширине экрана. При этом пункты этого списка должны выравниваться равномерно, прижимаясь своими крайними элементами к границам контейнера, а расстояние между ними должно быть одинаковым.
image
Читать дальше →
Всего голосов 172: ↑163 и ↓9+154
Комментарии87

«Загадочные отступы» между инлайн-элементами

Время на прочтение15 мин
Количество просмотров31K
Каждому, даже самому «молодому» верстальщику известны неприятности (проблемы) с интервалом между элементами, пробелами, которые вставляются между словами. Эти пробелы часто мешают нам при вёрстке того или иного блока. Избавиться от них бывает не так-то просто, а зачастую эти межсловные расстояния и вовсе ставят нас перед выбором, выбором способа решения данной проблемы.

В этой статье мы попытаемся понять, что же из себя представляют эти загадочные "Отступы", что это за звери и с чем их едят. Так же рассмотрим, что такое inline-block, и почему после себя он ставит эти непонятные интервалы. Ну, и, самое главное, мы увидим несколько универсальных решений данного вопроса и, конечно же, обсудим все их стороны.
Читать дальше →
Всего голосов 127: ↑123 и ↓4+119
Комментарии141

Simplify.js — JavaScript-библиотека для упрощения ломаных линий

Время на прочтение2 мин
Количество просмотров10K
Рад представить вашему вниманию еще одну крохотную, но полезную open-source-утилиту своего авторства — Simplify.js.



Simplify.js — очень быстрая реализация упрощения ломаных линий на JavaScript. Изначально написав ее для Leaflet (библиотеки для интерактивных карт), после небольшого эксперимента по оптимизации захотелось выпустить ее в качестве отдельной библиотеки без зависимостей, которую можно использовать как в браузере, так и на серверных платформах, таких, как Node.js, и применять и для 2D, и для 3D-точек.

Подобное упрощение позволяет на несколько порядков уменьшить количество точек в ломаной линии (например, представляющей длинный маршрут на карте или график), при этом максимально сохранив ее очертания (с заданной точностью). Соответственно резко уменьшается занимаемый линией размер памяти и время, требуемое для ее обработки.

Читать дальше →
Всего голосов 134: ↑129 и ↓5+124
Комментарии57
1

Информация

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