Pull to refresh
4
0
Artem Nikonorov @da0c

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

Send message

Возьми Python с собой

Reading time5 min
Views32K
Думали ли вы (в очередной раз подготавливая среду для Python) о том, как было бы здорово, если бы не приходилось настраивать с нуля рабочее окружение (да ещё и под разными операционными системами), а можно было бы сесть и просто начать писать? Я случайно открыл для себя pythonanywhere.com — сервис, позволяющий вести разработку на Python онлайн, прямо в браузере. Под катом — описание сервиса с картинками и видео.
Читать дальше →
Total votes 73: ↑69 and ↓4+65
Comments23

О гиках, индустрии массового искусства и о том, как копирайт убил классическую музыку

Reading time6 min
Views14K
Идея написать подобный пост у меня появилась давно; в некоторых кописрачах я прямым текстом писал, что копирайт убивает классическое искусство и обещал раскрыть этот тезис позже. Долгое время меня останавливало то, что на Хабре такой топик вряд ли будет сильно интересен. Но, после некоторых раздумий, я пришёл к выводу, что проблема «копирайт — искусство» шире собственно классической музыки и литературы и затрагивает многие куда более приземлённые вещи. Например, игровую индустрию.

Если мы посмотрим внимательно на жанровое разнообразие в игровой индустрии (сразу оговорюсь, я имею в виду сюжетные single-player игры, не касаясь mmorpg и казуальщины), то мы обнаружим, что оно существенно деградировало по сравнению с 90-ми годами. Жанр квеста исчез совсем, TBS находится на грани вымирания. Существенно сократилось поголовье классических RPG типа Baldur Gate, Planescape Torment (т.е. таких RPG, где надо думать головой при билде персонажа). Стало значительно меньше игр с оригинальной игровой механикой (типа Settlers I-II). Собственно, за меня здесь уже всё сказали, см. картинку слева.

Большая часть современных игр — это какая-то помесь RPG от первого лица, шутера и аркады. При этом, что характерно, на разработку этих игр тратится очень много денег, так что проблема явно не в желании издателя сэкономить. Ровно то же самое произошло и с музыкой: всё многообразие жанров (опера, симфония, соната, фуга, etc.) в классическом искусстве деградировало ровно до одного — песни. И, если я не ошибаюсь в своих предположениях, то очень скоро с геймдевом произойдёт то же самое.

Собственно, если некоторые студии перестанут регулярно выкапывать труп стюардессы (см. Might & Magic Heroes VI, Civilization V, Diablo 3, etc), то это может произойти прямо завтра. Почему же? Что общего у геймдева 90-х и классической музыки?

А вот что
Total votes 196: ↑166 and ↓30+136
Comments337

Методичка по созданию продающего интернет магазина

Reading time3 min
Views2.8K
Много статей и публикаций есть в сети. Однако я решил написать свою методичку.
Дело в том, что как Вы понимаете — интернет с большего не модерируеться. А устроен так, что хранит все и очень долго. По этому, то что было актуально год назад — не актуально сейчас.
Читать дальше →
Total votes 53: ↑23 and ↓30-7
Comments44

Переход на SSD: история одного фэйла

Reading time4 min
Views41K
Когда в очередной раз нахлынула волна «а чего бы не заапгрейдится?», я всерьез задумался о сборке RAID-массива под систему. В качестве альтернативы маячила возможность купить SSD, хотя у меня до сих пор нет уверенности в долгосрочной надежности этого типа накопителей.
Читать дальше →
Total votes 113: ↑106 and ↓7+99
Comments128

Сервис Kodak Gallery будет закрыт 2 июля

Reading time1 min
Views1.2K
К сожалению, дела у Kodak все хуже и хуже. Ранее уже публиковалась новость о том, что эта компания подала документы на банкротство. Теперь руководство компании продает ресурсы, которые стоят иногда немалых денег, для привлечения дополнительных средств. Достаточно известный сервис Kodak Gallery, где можно было хранить фотографии, делиться ими с другими пользователями, заказывать печать, был продан компании Shutterfly за 23,8 миллионов долларов.

Читать дальше →
Total votes 18: ↑14 and ↓4+10
Comments8

Незаменимый бесполезный человек

Reading time4 min
Views7.8K
Вот бывает так: растёт ребёнок, умный и смекалистый. И всё ему легко даётся, и всё у него получается. А уж как он скучает на уроках, когда после первого примера учителя, ему уже всё ясно и понятно.
А бывает, что совсем наоборот. Всё даётся с большим трудом, всё новое — всегда так запутанно, что на него и смотреть-то не хочется, не то что разбираться. Возможно, где-то даже существуют специальные люди, которые изобретают что-то запутанное. Вот сидят они где-то и один другому говорит:
― Эй, а давай придумаем что-то запутанное!
― Точно! ― отвечает второй, ― И это обязательно должно быть что-то новое, чтобы всем пришлось разбираться.

Я не знаю, какие люди вырастают из каких детей, однако, совершенно очевидно, что взрослые люди всё так же делятся на тех, кто быстро разбирается во всём до чего дотягивается… ну или что дотягивается до него. И на всех остальных.
Но если в детстве такое разделение считается нормальным ― отличников похвалить, отстающих пожурить. Вся арифметика: вырастут ― поумнеют. То взрослые люди не могут в чём-то не разбираться, что вы!? На всё должно быть своё мнение, всё умеем и знаем. А если вдруг тема разговора не ясна, то можно надуть щёки, устремить взгляд в даль, и сделать вид, что это для вас было актуально прошлой осенью, сейчас-то нечего на это отвлекаться. Ну, а если кто прямо спросит, то: «Совершенно неактуальный вопрос, и вообще, вся эта тема слишком однобоко освещена. Вот вы подумайте, если разделить вопрос на составляющие и разбираться уже дифференцировано. Совсем ведь другой результат получим. Так что, я считаю, нужно глубже прорабатывать это направление». Ну вы поняли.

Введение я похоже затянул. Ближе к сути.
Total votes 133: ↑108 and ↓25+83
Comments70

50 цитат о программировании всех времён

Reading time6 min
Views159K
Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.

50. Программирование сегодня — это гонка разработчиков программ, стремящихся писать программы больше и с лучшей идиотоустойчивостью, и вселенной, которая пытается создавать больших и лучших идиотов. Пока вселенная побеждает.
— Rick Cook

49. Lisp — это не язык, а строительный материал.
— Alan Kay

48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
— Edward V Berard
Читать дальше →
Total votes 344: ↑336 and ↓8+328
Comments136

Применение машинного обучения в трейдинге

Reading time8 min
Views42K
Примечание переводчика 1. Я наткнулся на этот блог в одном из обзоров материалов по машинному обучению. Если вы хорошо разбираетесь в машинном обучении, то в этой статье вы не найдете для себя ничего интересного. Она достаточно поверхностная и затрагивает только основы. Если же вы, как и я, только начинаете интересоваться данной темой, то добро пожаловать под кат.
Примечание переводчика 2. Кода будет мало, а тот что есть написан на языке R, но не стоит отчаиваться, если вы его до сих пор никогда в глаза не видели. До этой статьи я тоже ничего о нем не знал, поэтому я специально отдельно написал «шпору» по языку, включив туда все, что вам встретится в статье. Если хотите сами разобраться, то начать рекомендую c маленького курса на CodeSchool. На хабре тоже есть интересная информация и полезные ссылки. И наконец вот тут есть большая шпаргалка.
Примечание переводчика 3. Статья из двух частей, однако самое интересное начинается только во второй части, поэтому я позволил себе объединить их в одну статью.


Часть 1


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

Машинное обучение является одним из наиболее многообещающих направлений в финансовой математике, в последние годы получившее репутацию изощренного и сложного инструмента. В действительности все не так сложно.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments13

Как была взломана Gamma International

Reading time12 min
Views87K
image

3 августа в сабреддите /r/Anarchism некто пользователь PhineasFisher создал тред, в котором сообщил о том, что ему удалось украсть 40 гигабайт различных данных компании Gamma International. Возможно, подобная история могла оказаться не столь громкой, если бы не бизнес, которым занимается эта европейская фирма — создание и продажа программных средств для взлома и скрытой слежки (а иными словами — самой настоящей малвари), заказчиками которых обычно выступали государственные структуры. Через несколько дней после первого сообщения взломщик выложил длинный рассказ о том, как ему удалось проникнуть на сервера Gamma International и что удалось там найти.

Читать дальше →
Total votes 107: ↑106 and ↓1+105
Comments28

Мёртвая «Ксюша» и пыльный чайник. Почему «АвтоматическийСтол» — корпорация зла

Reading time14 min
Views165K
Помните начало фильма «Джиперс Криперс» — Каждую 23 весну, на протяжении 23 дней, оно ест?



Так вот…. Каждый год, в одно и то же время, компания Autodesk, выпускает новую версию всех своих продуктов, и обрубает поддержку старых. Тем самым вынуждая пользователей каждый год обновлять лицензии (расценка продукции — гляньте одним глазком.). И всё бы ничего, если бы компания реально думала о пользователях, а не о расширении рынка для сбыта своих программ.


Пример отличного дизайна — как глюк программы превратить в логотип.

Я начал писать эту статью сильно возмущенный нынешней ситуацией с 3ds max, но по мере того как я собирал материал и читал различные форумы — я стал понимать, что проблема глобальней чем просто с одним графическим пакетом. Сразу оговорюсь, я пишу с точки зрения одного человека, а не производственной компании. И начну я, пожалуй, именно с:
Читать дальше →
Total votes 239: ↑225 and ↓14+211
Comments142

Можем ли мы доверять используемым библиотекам?

Reading time9 min
Views24K
Can We Trust the Libraries We Use?
Сейчас любое крупное приложение состоит из множества сторонних библиотек. Хочется поднять такую тему, как доверие к этим библиотекам. В книгах и статьях можно встретить очень много рассуждений о качестве кода, методах тестирования, методологиях разработки и так далее. Но я не помню, чтобы кто-то рассуждал о качестве кирпичей, из которых строятся приложения. Давайте немного поговорим об этом. Например, есть Medicine Insight Segmentation and Registration Toolkit (ITK). Мне кажется, он написан весьма качественно. По крайней мере, я заметил в коде весьма мало ошибок. Но я не могу сказать, что код используемых библиотек столь же качественен. Тогда вопрос. Насколько мы можем доверять таким системам? Есть повод для размышлений.
Читать дальше →
Total votes 69: ↑66 and ↓3+63
Comments11

Живые книги (небольшой туториал по книгопроизводству, со своими хитростями)

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

230 страниц А5, в мягком переплете, за 4,5 часа.


Заинтересовавшихся под катом ждут картинки
Total votes 91: ↑84 and ↓7+77
Comments29

Дайджест статей по анализу данных и big data

Reading time2 min
Views33K
Частенько читаю Хабр и заметил что в последнее время появились Дайджесты новостей по многим тематикам, таким как веб-разработка на php, разработка на Python, мобильные приложения, но не встретил ни одного подборки по популярному сейчас направлению, а именно анализу данных и big data.

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

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

Читать дальше →
Total votes 45: ↑42 and ↓3+39
Comments15

Что не так с редизайном Хабрахабра

Reading time4 min
Views145K
Это случилось: Хабр получил новый дизайн в стиле остальных ТМ-продуктов.



Вообще-то я люблю перемены, и редизайн привычных вещей вызывает в первую очередь оптимизм. Это как перестановка мебели в квартире: обстановочку освежать надо. Но помимо приятного чувства новизны некоторые изменения вызывают вопросы. Понятно, что Хабр уже не торт и мы всегда будем помнить его тёплое ламповое старое лого, но я хочу поговорить про то, что можно оценить вполне объективно — про юзабилити нового хабрадизайна.
Читать дальше →
Total votes 735: ↑673 and ↓62+611
Comments362

Sysdig — инструмент для диагностики Linux-систем

Reading time16 min
Views50K
Sysdig — инструмент для диагностики Linux-систем

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

Читать дальше →
Total votes 65: ↑61 and ↓4+57
Comments14

Быстрый полнотекстовый поиск ElasticSearch

Reading time6 min
Views218K
image
При разработке высоконагруженных сайтов или корпоративных систем частенько возникает проблема с разработкой быстрого и удобного поискового движка. Ниже перечислены наиболее важные, на мой взгляд, требования к такому движку:

  • Скорость
  • Простота установки и настройки
  • Цена (желательно бесплатно и с открытым кодом)
  • Обмен информацией в формате JSON (по HTTP)
  • Масштабируемость (возможность распределения на несколько серверов)
  • Индексация в режиме реального времени
  • Multi-tenancy (гибкость в настройках под индивидуального пользователя)
  • Возможность переноса системы в облако

Хочу рассказать вам о новом поисковом движке Elasticsearch, который полностью удовлетворяет всем этим требованиям. В статье будет краткое описание, ссылка на авторитетную презентацию, а также описание установки и работы с ним.
Читать дальше →
Total votes 69: ↑63 and ↓6+57
Comments61

Иной взгляд на оформление заказа в интернет-магазине

Reading time4 min
Views63K


В странах СНГ не менее 75-80% заказов приходятся на cash-and-delivery (оплата заказа при доставке). Это отличие российского и западного потребителя легло в основу редизайна оформления заказа Сотмаркета еще в 2012 году. Тогда впервые в России интернет-магазин перестал требовать авторизации или регистрации клиента перед совершением покупки.

Фоновая регистрация и авторизация пользователей


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

Это наблюдение легло в основу концепции фоновой регистрации и авторизации пользователей.
Читать дальше →
Total votes 93: ↑80 and ↓13+67
Comments83

Транзакционная память: история и развитие

Reading time14 min
Views47K

Определение


Параллельное программирование сложно. При использовании систем с общей памятью не обойтись без синхронизации доступа параллельных процессов/потоков к общему ресурсу (памяти). Для этого используются:
  • блокировки (mutex);
  • алгоритмы без блокировки (lockless, lock-free);
  • транзакционная память.


Транзакционная память — технология синхронизации конкурентных потоков. Она упрощает параллельное программирование, выделяя группы инструкций в атомарные транзакции. Конкурентные потоки работают параллельно1, пока не начинают модифицировать один и тот же участок памяти. К примеру, операции добавления узлов в красно-чёрное дерево (анимация в заголовке) способны работать параллельно в нескольких потоках.
Скрытый текст
/* Move item from one list to another */
int move(list *from, list *to) {
    __transaction_atomic {
        node *n = pop(from);
        push(to, n);
    }
}

Читать дальше →
Total votes 79: ↑78 and ↓1+77
Comments34

Программирование Древа Времен

Reading time23 min
Views33K


Введение


Прочитав статьи TimeCoder — «Путешествия во времени и программирование» [1, 2] я вспомнил свои скромные практические исследования в программировании, связанные с реализацией разветвляющихся миров. Однажды товарищ по работе подкинул мне интересную задачу, но решить я ее до сих пор не смог. Задача о том, как нагрузить станки на производстве. Даже не программисту было понятно, что нужен простой перебор, но я так и не смог придумать подходящую структуру данных для обеспечения вычисляющего алгоритма. Задача из реального мира, поэтому я решил попробовать реализовать в программе реальный мир в той части, который требуется для вычисления задачи. Каждый раз, когда в дальнейших вычислениях стоял выбор между двумя действиями — происходило «создание двух новых миров» с разным решением в каждом. Дальше каждый мир развивался своим путем.

Под катом я расскажу, как развивалась идея, и чем мне помог ерланг. Практика — критерий истины!
Читать дальше →
Total votes 55: ↑38 and ↓17+21
Comments18

Пятьдесят оттенков инфракрасного

Reading time4 min
Views130K
Не знаю как вам, а мне всегда было интересно: как выглядел бы мир, если бы цветовые каналы RGB в глазу человека были чувствительны к другому диапазону длин волн? Порывшись по сусекам, я обнаружил инфракрасные фонарики (850 и 940нм), комплект ИК фильтров (680-1050нм), черно-белую цифровую камеру (без фильтров вообще), 3 объектива (4мм, 6мм и 50мм) расчитанные на фотография в ИК свете. Что-ж, попробуем посмотреть.

На тему ИК фотографии с удалением ИК фильтра на хабре уже писали — на этот раз у нас будет больше возможностей. Также фотографии с другими длинами волн в каналах RGB (чаще всего с захватом ИК области) — можно увидеть в постах с Марса и о космосе в целом.

Читать дальше →
Total votes 168: ↑166 and ↓2+164
Comments43

Information

Rating
Does not participate
Location
Самара, Самарская обл., Россия
Registered
Activity