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

Погромист

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

Сказ царя Салтана о потенциале лапласиана

Время на прочтение9 мин
Количество просмотров44K
«Три девицы под окном пряли поздно вечерком.»

image

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

«Какой-то странный конкурс», — беспокоились девицы. И это было правдой. По правилам конкурса вес лайка участника зависел от того, сколько лайков он получает от других. Что это значит, — никто из девиц до конца не понимал.
«Как все сложно», — тосковали девушки и подбадривали себя песней «Кабы я была царицей».

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

Вот что там было:
  • Алена получила 1 лайк от Софьи и 2 лайка от Варвары.
  • Варвара получила по лайку от Алены и Софьи.
  • А Софья получила 2 лайка от Алены и 1 от Варвары.

Царь взял лайки, покрутил гайки, постучал по колесам, пошмыгал носом, причмокнул губами, поскрипел зубами, сгонял в палаты и объявил результаты.

Наибольший вес лайков (7 баллов) получила Софья, но титул «мисс Салтан» достался Алене (15 баллов).

Подробнее о матрице лайков
Для матрицы


вектор потенциалов равен (5, 4, 7), а вектор потоков — (15, 12, 14).

После объявления результатов девицы бросились обратились к царю с просьбой рассказать,- откуда взялись эти странные цифры?
Действительно - откуда?
Всего голосов 67: ↑65 и ↓2+63
Комментарии34

История про msdb размером в 42 Гб

Время на прочтение5 мин
Количество просмотров56K
Недавно выдалась минутка посмотреть почему старый тестовый сервер безбожно тормозил… К нему я не имел никакого отношения, но меня одолевал спортивный интерес разобраться, что с ним не так.

Первым делом открыл Resource Monitor и взглянул на общую нагрузку. Процесс sqlserv.exe нагружал ЦП под 100% и формировал большую дисковую очередь, которая была за 300… при том, что значение выше единицы уже считается проблемным.

При анализе дисковой активности заметил непрерывные IO операции в msdb:

D:\SQL_2012\SYSTEM\MSDBData.mdf
D:\SQL_2012\SYSTEM\MSDBLog.ldf

Посмотрел на размер msdb:

SELECT name, size = size * 8. / 1024, space_used = FILEPROPERTY(name, 'SpaceUsed') * 8. / 1024
FROM sys.database_files

и включил режим «рука-лицо»:

name         size           space_used
------------ -------------- ---------------
MSDBData     42626.000000   42410.374395
MSDBLog      459.125000     6.859375

Файл данных занимал 42 Гб… Взяв небольшую паузу я начал разбираться в чем причина такого нездорового объема msdb и как побороть проблемы с производительностью сервера.
Подробнее
Всего голосов 49: ↑48 и ↓1+47
Комментарии28

Укрощаем UEFI SecureBoot

Время на прочтение11 мин
Количество просмотров173K
Данные обещания надо выполнять, тем более, если они сделаны сначала в заключительной части опуса о безопасности UEFI, а потом повторены со сцены ZeroNights 2015, поэтому сегодня поговорим о том, как заставить UEFI SecureBoot работать не на благо Microsoft, как это чаще всего настроено по умолчанию, а на благо нас с вами.
Если вам интересно, как сгенерировать свои собственные ключи для SecureBoot, как установить их вместо стандартных (или вместе с ними), как подписать ваш любимый EFI-загрузчик, как запретить загрузку неподписанного или подписанного чужими ключами кода, как выглядит интерфейс для настройки SecureBoot у AMI, Insyde и Phoenix и почему это, по большому счету, совершенно не важно — добро пожаловать под кат, но опасайтесь большого количества картинок и длинных консольных команд.
Войти в клетку
Всего голосов 45: ↑45 и ↓0+45
Комментарии50

Интеграция ASP.NET MVC c Sharepoint 2013. Part 1: High-Trusted provider-hosted APP

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

Меня зовут Денис и я работаю старшим разработчиком в компании «ДоксВижн». Этим постом я хочу начать цикл статей, касающихся разработки в области SharePoint 2013. Они затронут разные аспекты этой темы, начиная с возможностей базовой интеграции Web-приложения и заканчивая публикацией в магазине SharePoint Store. Знание нюансов и подводных камней, с которыми я столкнулся, может пригодиться тем, перед кем впервые будет стоять аналогичная задача.

Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии3

О том, как я собирал на Linux'е application bundle для MacOS

Время на прочтение6 мин
Количество просмотров6.6K
Итак, довелось мне недавно обновить билд-скрипт одного приложения написанного на Java Swing. Приложение давно разрабатывается, и писалось ни одним поколением программистов, но дело свое делает хорошо и четко, поэтому собирается под основные платформы (Window's, Unix, MacOS). Вот и решили мы проапдейтить сборку нашего старого app bundle'а для MacOS, а заодно и положить в него встроенную jre версии 1.8. И тут начали выясняться интересные вещи: старый bundle был собран под Java 6 от Apple, и отныне не работал, формат Info.plist поменялся, ибо Oracle больше нравятся свои пропертя, старый JavaApplicationStub отныне вне закона, да здравствует JavaAppLauncher, ну и много другого интересного. Лично мне по душе больше Linux, да простят меня любители MacOS, и даже такая знакомая консоль терминала слабо согревала мою душу после долгих мытарств по просторам интернета в поисках опыта таких же отважных людей, победивших мою проблему. Это практически невероятно, но в конце концов, я обнаружил статью в блоге David Clunie, в которой он шаг за шагом описал практически все мои попытки найти пути решения поставленной задачи. Кого заинтересовал прошу подкат, для любителей оригиналов вот ссылка на заветную статью, заранее прошу прощения за качество моего перевода, т.к. он не будет полным и дословным.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии3

Oracle join elimination

Время на прочтение15 мин
Количество просмотров26K
Оптимизатор в Oracle может применять различные способы трансформации запросов для улучшения их производительности. Одним из таких способов является join elimination. В официальной документации Oracle Database SQL Tuning Guide об этом способе сказано достаточно мало, в отличие от других.
Приглашаю читателей под кат, чтобы поговорить об этом способе поподробнее.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии35

Встраиваем бэкдор в Bitcoin (ECDSA) или еще раз о клептографии

Время на прочтение3 мин
Количество просмотров43K
Привет, %username%!
Пользуешься неофициальными bitcoin клиентами? Есть повод присмотреться к ним повнимательней.
После реализации бэкдора для RSA мне стало интересно, как обстоят дела с остальными криптографическими примитивами. Оказывается, целая наука под названием клептография занимается передачей информации в так называемых «подсознательных» каналах. Таких, о которых никому не известно кроме отправителя и получателя. Вроде стеганографии, только внутри криптоалгоритмов.
Читать дальше →
Всего голосов 61: ↑60 и ↓1+59
Комментарии36

GPU Particles с использованием Compute и Geometry шейдеров

Время на прочтение10 мин
Количество просмотров54K
Привет, дорогой читатель!

Сегодня мы продолжим изучение графического конвейера, и я расскажу о таких замечательных вещах, как Compute Shader и Geometry Shader на примере создания системы на 1000000+ частиц, которые в свою очередь являются не точками, а квадратами (billboard quads) и имеют свою текстуру. Другими словами, мы выведем 2000000+ текстурированных треугольников при FPS > 100 (на бюджетной видеокарте GeForce 550 Ti).


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

Использование AWS Lambda для создания архива определённых файлов с AWS S3

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

AWS Lambda — это сервис вычислений, запускающий ваш код при определенных событиях и автоматически управляющий вашими вычислительными ресурсами. Обзор концепции, принципов работы, цен и тому подобного уже есть на хабре ( habrahabr.ru/company/epam_systems/blog/245949 ), я же попробую показать практический пример использования этого сервиса.

Итак, как следует из названия поста, мы будем использовать AWS Lambda для создания архива указанных нами файлов, хранящихся на AWS S3. Поехали!

Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии5

Доступны триальные версии Adobe Creative Cloud

Время на прочтение1 мин
Количество просмотров34K
image
Я рад уже в пятый раз донести благую весть о появлении триальных версий новых продуктов Adobe.

Adobe Creative Cloud по заверениям разработчиков, полностью меняет рабочий процесс. Теперь все приложения интегрированы с облачным сервисом от Adobe и позволяют упростить разработку. Так же подписчикам доступны от 2 до 20 гигабайт в облачном хранилище.
Подробности
Всего голосов 22: ↑18 и ↓4+14
Комментарии54

Текстовые маркеры SiDiM: новая схема DRM для защиты электронных книг

Время на прочтение2 мин
Количество просмотров22K
Исследователи из Дармштадтского технического университета (Германия) предложили новую разновидность DRM-защиты электронных текстовых документов SiDiM.

Идея заключается в том, что в каждую электронную копию книги вносятся уникальные изменения. Они впоследствии позволяют точно идентифицировать источник утечки и нечестного пользователя, который слил защищённое произведение в открытый доступ. Маркировка электронных книг и текстовых документов осуществляется на семантическом уровне: каждая версия отличается словом-синонимом, буквой, знаком препинания, пробелом и т.д.
Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии59

XKB: перенастроим клавиши под себя любимого

Время на прочтение8 мин
Количество просмотров98K
В один прекрасный день надоедает нажимать Shift, чтобы вывелся символ ~ вместо `.
Надоедает тянуться до Esc, при этом клавишей CapsLock пользуетесь РЕДКО.
Надоедает смещать кисть вниз и нажимать Ctrl/Cmd/Win слабым мизинчиком, либо, не дай бог, тянуться до них большим пальцем.
Надоедает лезть за PgUp, PgDn, Home и End, двигая руку каждый раз, чтобы всего лишь промотать страницу вниз.
Надоедает каждый раз, когда вы делаете опечатку, со злобой смотреть на клавиатуру в поисках кнопки Backspace.



Сегодня мы узнаем, как навсегда избавиться от этих мучений.

Зачем это всё?


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

Многие раскладки для печати (Dvorak, Colemak и т.п.) сильно улучшают расположение клавиш, ставя их ближе к тем местам, куда нужно меньше тянуться. Но при этом совершенно забывают о модификаторах, спец. символах и командных клавишах (Enter, Backspace, Tab, Esc, Delete). А мы подумаем о том, как улучшить существующее положение вещей.

В статье пойдём от простейших изменений, до более интересной и глубокой настройки. И, как в конце хороших фильмов, я оставлю читателя подумать, что делать дальше, и не дам готового рецепта на всё. В конце концов, идеальных и универсальных решений нет, и на раскладку клавиатур товарищей нет.
Читать дальше →
Всего голосов 64: ↑53 и ↓11+42
Комментарии97

Кидхак Prehistorik 2: анлочим уровни

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

Любителям этой замечательной игры посвящается...


image
… Если таковые еще есть. Впрочем, я уверен, что не все так плохо и Crysis не поглотил мозг человечества целиком и окончательно.
Так вот, вышеупомянутые любители старых игр и в частности одной замечательной игры 92 года могут помнить, что система сохранений в игре сделана в несколько приставочном духе: по уровням разбросаны (иногда в довольно неожиданных и труднодоступных местах) коды, которые во времена MS-DOS старательно записывались на бумажечку и хранились, как сокровище. Код, введенный в главном меню, позволял начать соответствующий уровень со стартовой позиции.
Soshite, в наше время появилась, в некотором роде, проблема для тех, кто хотел бы поиграть в Prehistorik 2. А именно — необходимость эмулировать игру в Dosbox: далеко не у всех есть возможность найти на свалке или, что еще гораздо реже, вытащить с антресолей заботливо хранящийся там 486-й.
Дело в том, что при генерации кодов игра использует переменные окружения BIOS. Как это эмулируется в Dosbox, я не разбирался, знаю достоверно, что при каждом новом запуске эмулятора коды в игре другие. Соответственно, бумажка с кодами становится бесполезной, а возможность приятного и ненапрягающего прохождения игры сводится практически на нет: полностью игру можно пройти только за один присест. Возможно, это решается детальной настройкой Dosbox. Но это менее интересно, чем небольшое копание в исполняемом файле игры.
Читать дальше →
Всего голосов 42: ↑40 и ↓2+38
Комментарии10

8 ловушек программирования

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


Эта статья содержит те ловушки программирования, в которые я попадал сам, продолжаю попадать и возможно никогда не прекращу, а также те, в которых я находил своих товарищей.

Однако я верю в то, что их можно избежать, если знать в какие ловушки можно попасть и как из них выбираться. Возможно эта вера — очередная ловушка.
Читать дальше →
Всего голосов 276: ↑256 и ↓20+236
Комментарии83

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

Время на прочтение5 мин
Количество просмотров35K
В последнее время пользователи все чаще получают изображения документов при помощи фотокамер или мобильных устройств, прибегая к помощи сканера изредка, в особых случаях. В то же время, для изображений, получаемых фотокамерами, характерны следующие недостатки: геометрические искажения (о них мы говорили в статье про автоматическое выделение документа), неравномерность освещения (часто можно видеть тени или засветки при использовании вспышки), падение контраста, расфокусировка, смаз, цифровой шум при недостаточном освещении. Постараемся избавиться от этих недостатков, применяя некоторые преобразования к исходному изображению, чтобы приблизить его вид к отсканированному.
Читать дальше →
Всего голосов 94: ↑93 и ↓1+92
Комментарии30

Что должен знать каждый участник крупного MMO-проекта

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

Рядовые программисты обычно всё это прекрасно знают. А вот менеджерский состав нередко считает, что совершенно не обязательно разбираться в игровой экономике, клиент-серверной архитектуре и психологии игрового комьюнити. Ведь есть же крутая команда спецов, которые обо всём позаботятся.
Итог очевиден: трудно вспомнить хотя бы один крупный MMO-проект, выпущенный за последние два года, который избежал бы стандартного набора граблей. Такое ощущение, что MMO-индустрия не способна учиться на своих ошибках.
Итак, список вопросов, ответы на которые должен знать каждый, от топ-менеджера до работника техподдержки крупного MMO-проекта.
Читать дальше →
Всего голосов 102: ↑81 и ↓21+60
Комментарии114

Бесплатный редактор шрифтов на HTML5

Время на прочтение1 мин
Количество просмотров48K
Всё больше полезных программ удаётся портировать на открытые веб-технологии. До сих пор среди них не было редактора шрифтов. Теперь есть: Glyphr.



Профессиональный софт для проектирования шрифтов — это сложные и дорогие программы. В отличие от них, интерфейс Glyphr вполне доступен для каждого желающего, а само приложение совершенно бесплатно.
Читать дальше →
Всего голосов 93: ↑89 и ↓4+85
Комментарии11

Splay-деревья

Время на прочтение8 мин
Количество просмотров65K
Сбалансированное дерево поиска является фундаментом для многих современных алгоритмов. На страницах книг по Computer Science вы найдете описания красно-черных, AVL-, B- и многих других сбалансированных деревьев. Но является ли перманентная сбалансированность тем Святым Граалем, за которым следует гоняться?

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

Сегодня я расскажу о splay-деревьях. Эти деревья не являются перманентно сбалансированными и на отдельных запросах могут работать даже линейное время. Однако, после каждого запроса они меняют свою структуру, что позволяет очень эффективно обрабатывать часто повторяющиеся запросы. Более того, амортизационная стоимость обработки одного запроса у них , что делает splay-деревья хорошей альтернативой для перманентно сбалансированных собратьев.
Читать дальше...
Всего голосов 88: ↑83 и ↓5+78
Комментарии26

Объясняем бизнесу, почему у нас такие «фиговые» оценки

Время на прочтение3 мин
Количество просмотров36K
Далеко не все владельцы бизнеса, менеджеры продуктов и менеджеры по продажам, связанные с разработкой ПО, пришли на свою позицию из программистов. Этот пост в основном для них. Но, возможно, он будет полезен и разработчикам ПО, которым постоянно приходится отвечать им на два стандартных вопроса:

Почему ты не можешь дать точную оценку трудоемкости разработки?
Почему ты не можешь завершить все работы в два раза быстрее?

В одной серьезной компании, в которой я участвовал в создании нового направления бизнеса, заказной разработки ПО, я даже провел небольшой семинар, чтобы ответить на эти вопросы сразу всем людям бизнеса.
image
Вот краткие тезисы
Всего голосов 87: ↑81 и ↓6+75
Комментарии45

Информация

В рейтинге
Не участвует
Откуда
München, Bayern, Германия
Дата рождения
Зарегистрирован
Активность