Pull to refresh
0
0
Доронин Станислав @mugisbrows

User

Send message

Одержимые интернетом: Китайская история

Reading time13 min
Views12K
Я думаю, что буду прав в 80% случаев, если заявлю, что каждый ребенок родившийся в эпоху становления и развития компьютерных игр, так или иначе играл в них. Кто-то играл достаточно редко, предпочитая футбольные баталии, а кто-то в пух и прах ругался с родителями, вымаливая еще чуть-чуть игрового времени. И наверняка многие слышали, или даже на своем примере видели как компьютер в семье становится предметом нескончаемых скандалов и семейных дрязг.
«Еще пару часиков поиграть в WoW/LineAge/EVE/GW, пусть институт подождет, ведь тут такой интересный рейд/квест/итд» — знакомая ситуация, не правда ли?
А что делать родителям тех чад, которые просто гибнут за мониторами, которые рушат свои жизни, погрузившись в цифровой мир полностью? Как регулировать эти отношения, когда воспитательные методы уже не помогают? Эти вопросы задавала себя одна китайская семья, когда их сын стал проводить в потустороннем мире времени больше, нежели в настоящем. О этой семье и парнишке по имени Дэн Сэньшань и пойдет речь в этой статье.
Суровая драма современности — интернет-зависимость — предстанет в этой статье в полной мере на примере китайского общества, самого многочисленного и самого пораженного этим недугом.
Читать дальше
Total votes 137: ↑119 and ↓18+101
Comments155

В Notepad++ появилась подсветка ошибок в проверке орфографии

Reading time1 min
Views112K


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

Далее расскажу, как настроить проверку русского и английского языка.
Читать дальше →
Total votes 87: ↑72 and ↓15+57
Comments61

От 200 до 20000 px: пять десятилетий эволюции фотосъемки Марса из космоса (с картинками и цифрами)

Reading time14 min
Views106K
Ровно 50 лет назад, 19 июня 1963 года, «Марс-1» — первый в истории космический аппарат, выведенный на траекторию полета к Марсу — максимально сблизился с планетой на расстоянии около 200 тыс. км. Именно «Марс-1» должен был стать первым в истории аппаратом, осуществившим фотосъемку ее поверхности…

Но не стал: из-за утечки азота из баллонов системы ориентации остронаправленная антенна не могла быть наведена на Землю и сеансы связи с аппаратом прекратились. А первое телеизображение Марса разрешением 200 строк по 200 пикселей мы получили с американского «Маринера-4» в 1965 году.

(Осторожно, много фото!)
Читать дальше →
Total votes 157: ↑156 and ↓1+155
Comments34

Брет Виктор — Изобретая по Принципу (Bret Victor — Inventing on a Principle)

Reading time1 min
Views44K
Чудесный, необычный, вдохновляющий и заставляющий задуматься доклад Брета Виктора о сути идей и о способе прожить свою жизнь.

Этот доклад уже пробегал на хабре, но как-то мельком и без перевода.
А он реально стоит того, чтобы посмотреть его не один раз.

Добавил английские субтитры и перевел их на русский.

Само видео...
Total votes 38: ↑34 and ↓4+30
Comments21

Культурные различия: японцы (другой взгляд)

Reading time4 min
Views6.4K
Раз на хабре новая серия постов «их нравы», тоже подключусь. Хабраюзер king2 начал, я продолжу. Взгляд на японцев после почти 3-х лет жизни и работы в Токио. Я работаю (программист) в крупной IT компании-производителе офисной техники, с общим числом сотрудников в 108 000 человек по всему миру. Живу в Токио, с семьей (жена и дочь).
Читать дальше →
Total votes 184: ↑178 and ↓6+172
Comments122

Пара полезных команд, которые могут пригодиться при DDoS и не только

Reading time3 min
Views82K
В моем случае, в качестве frontend сервера, стоит nginx и формат access-лога имеет вид:

log_format main '$remote_addr — $remote_user [$time_local] "$host" "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" -> $upstream_response_time';

Что на выходе дает что-то вроде такой строки:

188.142.8.61 — - [14/Sep/2014:22:51:03 +0400] «www.mysite.ru» «GET / HTTP/1.1» 200 519 «6wwro6rq35muk.ru» «Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.191602; .NET CLR 3.5.191602; .NET CLR 3.0.191602» "-" -> 0.003

1. tail -f /var/log/nginx/nginx.access.log | cut -d ' ' -f 1 | logtop

Позволяет получить общую картину: распределение уникальных IP, с которых идут запросы, кол-во запросов с одного IP и т.д.
Самое ценное — что все это работает в режиме реального времени и можно мониторить ситуацию, внося какие-либо изменения в конфигурацию (например просто забанить ТОП 20 самых активных IP через iptables или временно ограничить географию запросов в nginx через GeoIP http://nginx.org/ru/docs/http/ngx_http_geoip_module.html).
Читать дальше →
Total votes 105: ↑101 and ↓4+97
Comments21

Задача изменения голоса. Часть 1. Что такое голос?

Reading time12 min
Views55K
Этим постом мы хотели бы начать цикл статей, посвященных задаче изменения голоса. В зарубежной литературе данную задачу часто именуют термином voice morphing, в отечественной литературе данная задача ещё не получила достаточного освещения как в научных, так и в инженерных кругах. Тема является достаточно обширной и во многом творческой. В результате работы в данном направлении у нас накопился определенный опыт, который мы планируем систематизировать и изложить, а также передать основную суть некоторых алгоритмов.

image

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

P.S.
Добавил дополнительные ссылки на первоисточники

Читать дальше →
Total votes 94: ↑93 and ↓1+92
Comments31

Заглавные и строчные буквы

Reading time3 min
Views47K
Я собрал здесь некоторые не очень очевидные факты о заглавных и строчных буквах, с которыми может столкнуться программист в работе. Многие из вас переводили строки во «все заглавные» (uppercase), «все строчные» (lowercase), «первую заглавную, а остальные строчные» (titlecase). Ещё более популярна операция сравнения без учёта регистра. В мировом масштабе такие операции могут быть весьма нетривиальны. Пост построен в виде «сборника заблуждений» с контрпримерами.

1. Если я переведу строку в uppercase или lowercase, число Unicode-символов не изменится.

Нет. В тексте могут попасться строчные лигатуры, которым не соответствует один символ в верхнем регистре. Например, при переводе в uppercase: fi (U+FB00) -> FI (U+0046, U+0049)

2. Лигатуры — изврат, ими никто не пользуется. Если их не учитывать, то я прав.

Нет. Некоторым буквам с диакритикой нет точного соответствия в другом регистре, поэтому приходится использовать комбинированный символ. Скажем, в языке африкаанс есть буква ʼn (U+0149). В верхнем регистре ей соответствует комбинация из двух символов: ʼN (U+02BC, U+004E). Если вам попадётся транслитерация арабского текста, вы можете столкнуться с (U+1E96), которой в верхнем регистре также нет односимвольного соответствия, поэтому придётся заменять на (U+0048, U+0331). В ваханском языке есть буква (U+01F0) с аналогичной проблемой. Вы можете возразить, что это экзотика, однако на африкаанс в википедии 23000 статей.

3. Ну хорошо, но давайте считать комбинированный символ (с участием modifying или combining code points) одним символом. Тогда длина всё же сохранится.

Нет. Есть, например, в немецком языке буква «эсцет» ß (U+00DF). При переводе в верхний регистр, она превращается в два символа SS (U+0053, U+0053).
Читать дальше →
Total votes 171: ↑169 and ↓2+167
Comments66

О начинающих разработчиках и принципах работы с ними

Reading time7 min
Views141K
image

За последние десять лет через меня прошло много начинающих разработчиков. Да и чего греха таить, я тоже когда-то был начинающим разработчиком. За это время я получил тысячи вопросов а-ля “как стать разработчиком”, а также просьб взять людей к себе на практику. К сожалению, даже под чутким руководством более опытных специалистов, далеко не каждому хватает сил и мотивации перейти на качественно новый уровень. Статистика — вещь упрямая: количество “пытающихся” и “достигающих успеха” распределяется согласно принципу Парето, т.е. 20/80, где из десяти человек максимум двоим удается пройти первоначальное испытание. Остальные отваливаются по дороге или процесс обучения у них растягивается на долгие годы. И все же, каким должен быть начинающих разработчик, какими навыками и знаниями он должен обладать? Об этом и пойдет речь в статье.

Читать дальше →
Total votes 149: ↑103 and ↓46+57
Comments160

Никто не умеет обрабатывать ошибки

Reading time9 min
Views113K
Из одной книги в другую, из статьи в статью кочует мнение о том, что выражение

try {
   //do something
}
catch(Exception ex) {
}

является плохой практикой. Возврат кодов – также плохая практика. Но становится ли нам, программистам, жить легче с этими знаниями и так уж ли они неоспоримы? И самый забавный вопрос – кто-нибудь в мире умеет грамотно обрабатывать ошибки, возникающие по ходу работы приложения? (под этим я понимаю обработку только тех ошибок, которые имеет смысл обрабатывать и вывод сообщений об ошибках, которые соответствуют действительно произошедшей, которые не вводят пользователя в замешательство, а в идеале и предлагают решение возникшей проблемы).
Подробности под катом
Total votes 70: ↑59 and ↓11+48
Comments121

Математики нашли способ одновременного соприкосновения 7 цилиндров

Reading time1 min
Views133K


Более 50 лет назад автор популярных статей о математике в журнале Scientific American Мартин Гарднер предложил читателям задачу: «Можете ли вы разместить семь сигарет таким образом, чтобы каждая из них соприкасалась со всеми остальными?»
Читать дальше →
Total votes 152: ↑133 and ↓19+114
Comments106

4 причины, почему люди чего-то не делают или “Как раскачать low-performer’а”

Reading time8 min
Views103K
Так получилось, что тесть и теща у меня доктора педагогических наук. Что приводит к тому, что волей-неволей начинаешь постигать различные полезные методики :)

Однажды, после какого-то ученого совета за виски чаем на кухне тесть говорит: Саш, а вот как ты считаешь, почему люди чего-то не делают?

Честно сказать, вопрос поставил меня в тупик. Я начал фантазировать: ну, обстоятельства мешают, черты характера, недостаток опыта…

Не-не, сказал, тесть, все не так. Если люди чего-то не делают, для этого может быть 4 причины. После чего мой арсенал управленческих инструментов пополнился еще одним. И именно об этом инструменте мы сегодня поговорим, а заодно разберем несколько историй из реальной жизни:
  • Почему менеджеров проектов надо пересаживать в отдельное здание
  • Что делать, когда ваш заказчик не пользуется вашей системой отчетов
  • Как раскачать low-performer’а


Читать дальше →
Total votes 139: ↑111 and ↓28+83
Comments66

Почему я люблю Qt и вы все тоже должны его любить

Reading time5 min
Views280K

После суток жизни поста я начал замечать утечку кармы, так что заранее прошу прощение за возможно недопустимый стиль изложения в статье и субъективизм

Привет, Хабрахабр!

Последнее время я не мог не обратить внимание на популярность темы Qt на хабрике, но тем не менее, в комментах продолжают встречаться люди, которые говорят откровенно лживые и непонятные вещи. Этим постом я хотел развеять малость заблуждений о Qt и рассказать, почему же ты должен пересесть со своих Java/Obj-C/.NET на мягкий и пушистый Qt.

Под катом будет много впечатлений, субъективностей и моих скромных мнений на счет самого замечательного фреймворка для разработки приложений. Впрочем, я постараюсь добавить интересностей, чтобы моя статья приобрела хоть какой-то техническополезный смысл. Надеюсь, получится занимательное чтиво и вам понравится.

Ну, что, поехали?
Поехали!
Total votes 254: ↑138 and ↓116+22
Comments191

Почему в России почти нет гражданского/коммерческого высокотехнологичного производства?

Reading time27 min
Views410K
Статью с обзором ситуации с микроэлектроникой в России я закончил утверждением, что сейчас в России есть технические возможности для создания любых военных микросхем (если не считаться с ценой). Однако и в комментариях к той статье, и во многих других — всех больше волновал вопрос отсутствия (на уровне погрешности измерений) производства чисто-коммерческих (гражданских) высокотехнологичных продуктов. Этот вопрос волновал и меня, потому я постоянно мучил вопросами всех, кто так или иначе связан с высокими технологиями и бизнесом в России.

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

Под катом попробуем разобраться чем отличаются «высокотехнологичные» компании от «низкотехнологичных», что нужно, чтобы высокотехнологичные компании могли рождаться и выживать, почему с софтом у нас лучше, чем с хардом, с чего начиналась кремниевая долина в США и можно ли её «скопировать», почему Китай всех рвет, а также — окинем взором все, что происходит в Сколково, Роснано, фонде перспективных исследований и приведут ли они к расцвету российских инноваций. Безусловно, я где-то могу ошибаться — буду рад дополнениям в комментариях.

Сразу нужно отметить, что в связи с многогранностью проблемы объем статьи получился довольно большой, так что можно начать читать с резюме в конце, и затем прочитать лишь те разделы, которые вызовут интерес. Сразу хочу предупредить — повествование «нелинейное», соседние заголовки могут описывать разные аспекты проблемы и быть друг с другом практически не связанными.
Читать дальше →
Total votes 389: ↑380 and ↓9+371
Comments304

Традиционный пост к Первому апреля

Reading time4 min
Views91K
Вот уже в третий раз (раз и два) запускаю собирательный пост про найденные на просторах сети первоапрельские шутки.
В Новосибирске часы перевалили за полночь, и главный новостной портал города предложил своим жителям перейти на альтернативную пищу ввиду роста цен на основные продукты питания. А какие нововведения обнаружили вы? Тема будет расширяться с помощью ваших комментариев в течение дня.
Читать дальше →
Total votes 90: ↑79 and ↓11+68
Comments177

Загадочное объявление от IBM

Reading time3 min
Views108K
Сегодня в пятницу на доске объявлений ИМКН матмеха УрФУ было обнаружено странное объявление с логотипом IBM.
Текст сразу бросился в глаза необычными словами; никто не смог узнать язык. Гугл-переводчик на разные предложения подсказывает разные языки: от эсперанто до каталонского. Под катом немного соображений о природе текста.

image
Тем, кто прочитает топик уже 1.04
Прошу обратить внимание, что проблема возникла уже в пятницу; статья была добавлена в песочницу тоже в пятницу. Не стоит плодить поздравления с первым апреля в комментариях.


Читать дальше →
Total votes 101: ↑93 and ↓8+85
Comments185

Многопоточный сервер на Perl? Легко!

Reading time3 min
Views14K
Иногда возникает необходимость написать какой-то простенький TCP либо UDP сервер. Например, сейчас у меня вполне успешно в production трудится собственная реализация DHCP (существующие не подходят из-за специфики). Обычно это делается просто — один цикл, слушаем сокет — и вуаля! Но не всегда «тупой» подход оправдан (нужно что-то более сложное — работа в несколько потоков, например), а использование тяжелой артиллерии слишком затратно.

Интересно? Добро пожаловать под кат.
Осторожно! Внутри Perl-код.
Total votes 69: ↑56 and ↓13+43
Comments62

SOCKS через SSH — не только для ICQ

Reading time1 min
Views31K
Сегодняшние проблемы с аськой напомнили об одном простейшем способе запуска SOCKS-прокси. Многие этот способ знают, но подозреваю, что не все, поэтому решил поделиться.

Итак, что нужно:
a) SSH-клиент (любой, под Linux или под Windows, главное, чтобы он позволял задавать нужные нам параметры, под Windows вполне подойдет putty)
b) Доступ на любой сервер по ssh (в случае с аськой помогает любой буржуйский хостинг).

Читать дальше →
Total votes 31: ↑28 and ↓3+25
Comments42

Есть ли жизнь после кода?

Reading time6 min
Views15K
Что происходит с кодом после того, как он написан? Во многих областях разработки ПО его жизнь только начинается. Например, в разработке для веба, приложение исполняется где-то на сервере. Значит, после написания кода встаёт задача интегрировать его в приложение и доставить на конечную машину. Именно этот процесс мы сегодня обсудим.

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

Статья написана на основе материалов внутреннего семинара компании Аори, и рассказывает о принципах деплоймента на примере процесса, построенного у нас.
Читать дальше →
Total votes 33: ↑28 and ↓5+23
Comments7

Как запустить программу без операционной системы

Reading time13 min
Views183K

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

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

Итак, цель: затратив как можно меньше усилий, создать собственную загрузочную флешку, которая всего-навсего печатает на экране компьютера классический “Hello World”.

Читать дальше →
Total votes 196: ↑188 and ↓8+180
Comments69

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity