Pull to refresh
18
0

User

Send message

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

Reading time6 min
Views138K
Само наличие психологической деформации у какой-либо профессии, как правило, достаточно спорный момент ввиду того, что у разных людей она проявляется по-разному. Однако общую тенденцию можно выделить и, пожалуй, настало то время когда можно достаточно смело говорить, что программисты всё же имеют свой особенный психологический портрет который обусловлен их профессиональной деятельностью.

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

И что же них такого деформированного?
Total votes 461: ↑436 and ↓25+411
Comments558

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

Reading time10 min
Views86K
Роджер Желязны, роман «Князь Света»:
Ниррити положил руку ему на плечо.

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

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

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

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

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

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

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

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

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

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

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

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

Читать дальше →
Total votes 66: ↑27 and ↓39-12
Comments22

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

Reading time10 min
Views195K
image

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

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

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

Техническая часть, ссылки и немного лирики
Total votes 290: ↑274 and ↓16+258
Comments257

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

Reading time3 min
Views97K
Прикручиваем аппаратную консоль к Transcend WiFi SDHC


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

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

Читать дальше →
Total votes 179: ↑173 and ↓6+167
Comments120

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

Reading time10 min
Views890K
После Vogue истерии появилось множество вопросов, как подключить плату к компьютеру. И многие люди даже не понимают, что же такое UART. И я решил рассказать здесь какой это мощный инструмент.

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

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


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

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

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

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

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

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

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

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

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

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


Читать дальше →
Total votes 110: ↑106 and ↓4+102
Comments55

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

Reading time1 min
Views34K
image

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Reading time1 min
Views1.4K


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

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

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

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

image

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Reading time2 min
Views10K
Рад представить вашему вниманию еще одну крохотную, но полезную open-source-утилиту своего авторства — Simplify.js.



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

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

Читать дальше →
Total votes 134: ↑129 and ↓5+124
Comments57
1

Information

Rating
Does not participate
Date of birth
Registered
Activity