Pull to refresh
0
Николай@nickus2010read⁠-⁠only

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

Send message

Создание минидампов в проектах на C# 4.0, разрабатываемых в VS 2010

Reading time4 min
Reach and readers11K
Для создания минидампов в управляемой среде используются возможности библиотеки DbgHelp.dll. Рассмотрим применение ее функционала на примере готового проекта на WinForms.

Читать дальше →

От последовательного кода к параллельному за пять шагов c Intel® Advisor XE

Reading time9 min
Reach and readers13K

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

Новый инструмент Intel Advisor XE поможет вам распараллелить приложение, потратив на это минимум сил и времени.

Advisor XE вышел в свет в сентябре этого года в составе пакета для разработчиков Intel Parallel Studio XE 2013. Дословный перевод названия – «советчик» — довольно ёмко описывает его предназначение. Инструмент помогает программисту проанализировать возможности распараллеливания кода: найти наиболее подходящие для этого участки и оценить предполагаемый полезный эффект – а стоит ли вообще за это браться? Кроме того, Advisor XE подскажет, где могут возникнуть ошибки, такие как гонки данных. И всё этого без реальной модификации программы! Но обо всём по порядку.
Читать дальше →

Самый важный инструментарий

Reading time5 min
Reach and readers23K
Давно хотел написать на данную тему, но создавая топик, подвис минуты на две, пытаясь понять, куда его запихнуть (в какую тему). В итоге запихнул в программирование, но тема актуальна вообще для всего хабра в целом. Речь идет о глазах.

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

Приступим.
Читать дальше →

Упрощаем работу с oDesk

Reading time7 min
Reach and readers20K
oDesk

Здравствуйте, Хабропользователи!

В свете недавно появившейся статьи я хотел бы рассказать Вам историю появления программы для мониторинга количества залогированного времени на oDesk от зарождения идеи до готового приложения.
Читать дальше →

Какой Java поток нагружает мой процессор

Reading time3 min
Reach and readers28K
Что Вы делаете, когда Ваше Java приложение потребляет 100% ЦП? Оказывается Вы легко можете найти проблемные потоки, используя встроенные Unix и JDK утилиты. Никакие инструменты профилирования не потребуются.
С целью тестирования мы будем использовать простую программу:
Читать дальше →

В пень free-lance.ru!

Reading time4 min
Reach and readers640K
В связи с прочтением соседнего поста предлагаю перечислить список бирж, на которых можно найти альтернативу тому унылому говну, в которое превратился free-lance.ru, ибо терпеть планомерный геноцид я больше не намерен.
Читать дальше →

Простой wifi бот для мониторинга помещений или «кухонное» роботостроение

Reading time7 min
Reach and readers264K

Вступление.


Сегодня у каждого из нас дома присутствует выделенная линия с весьма «толстым» каналом. Так же у большинства есть wifi роутер, и опять таки большинство из нас не заботится о его отключении когда уходим из дома. И действительно зачем? Протоколы защиты wifi весьма надежны, потребление роутера ничтожно. Следовательно ваш дом часто или всегда on-line. Но что это нам дает? Торентокачалки, личные разнообразные сервера и т.д.

Особо продвинутые из нас имеют умный дом с разнообразными «плюшками» и дистанционным мониторингом посредством интернета. Это правильное, но дорогое решение. Но все это есть смысл устанавливать только в своем жилье. В случае со съемным это абсурд.

Тем не менее обострения паранойи, гиперответственность или схожие факторы (вспомним классическую ситуацию – «А выключил ли я утюг?») создают нам определенный дискомфорт когда мы оставляем свое жилище. Особенно на длительный срок. Возникает вопрос – как так получается что квартира все время on-line, а я ничего не вижу и не контролирую. Странно.

Читать дальше →

Изучить Github за 15 минут

Reading time1 min
Reach and readers128K
TryGit — интерактивный обучающий курс по Github в стиле Codecademy. Курс состоит из 25 мини-уроков, которые знакомят пользователя с базовыми понятиями и основными командами git, при этом ученик своими руками вводит команды в консоль, смотрит результат и читает сопровождающие надписи с объяснением происходящего.



Вот таким в будущем должно стать обучение в школах!

Конечно, 15-минутное введение не заменит полноценного учебника. Для обучения можно рекомендовать бесплатную книгу Pro Git и видеокурс Getting Git.

Мобильная версия ruTorrent

Reading time3 min
Reach and readers23K
У меня дома стоит мини-сервер сделанный из старого ноутбука. Одно из основных предназначений – торренты. В качестве клиента используется rTorrent + rutorrent. В такой связке меня всё устраивало кроме одного: невозможность использовать rutorrent со смартфона. Причин на это две:

  1. Сильная зависимость от правой кнопки мыши. Лечится при помощи плагина ipad, но как можно сделать вывод из названия плагина этот вариант подходит только для планшетов из-за второй причины.
  2. Неприспособленность интерфейса к маленьким дисплеям. Пример можно увидеть на скриншоте ниже (скриншот сделан на HTC Incredible S. Разрешение: 800x480, размер экрана: 4")



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

Оптимизация размещения купюр в банкоматах

Reading time6 min
Reach and readers82K
Внутри у среднего банкомата лежит от 1 до 3 миллионов рублей. Они разложены по 4 кассетам, в каждой из которых – купюры своего номинала. Замена кассет похожа на замену картриджей в принтере: модуль вынимается (и неважно, сколько там осталось денег — инкассаторы этого даже не знают по правилам безопасности), а на его место вставляется другой модуль точно по стрелке, указывающей, какой стороной и как это делать.

Инкассация — дорогая и достаточно рискованная с точки зрения безопасности процедура, поэтому любое обслуживание банкомата обходится довольно дорого. Естественное желание банка – уменьшить количество инкассаций. Получается классическая задача распределения ресурсов: с одной стороны, в банкомате всегда должны быть деньги для клиентов, с другой — в идеале банк хочет, чтобы ровно перед инкассацией из ящика уходила последняя купюра.
Читать дальше →

Windows 8 – да будет SMEP!

Reading time5 min
Reach and readers53K

С приходом нового поколения процессоров Intel на базе архитектуры Ivy Bridge было представлено новое аппаратное средство безопасности. Оно называется Intel SMEP. Как и бит NX, предотвращающий исполнение кода на странице памяти, оно добавляет головной боли при эксплуатации уязвимостей режима ядра.

В свою очередь Microsoft реализовала поддержку SMEP в Windows 8, таким образом сделав эту ОС ещё безопасней. Однако, первая реализация «в лоб» поддержки SMEP получилась с небольшим изъяном, благодаря которому у атакующего всё ещё есть возможность относительно безболезненной для него эксплуатации уязвимостей.
Что такое SMEP?

В ответ на вопрос почему доступ к элементу массива быстрее чем доступ к полям объекта

Reading time4 min
Reach and readers22K
Совсем недавно уважаемый lany написал замечательный пост про mutable numbers в Java: http://habrahabr.ru/post/151887/
В комментарии к его посту я упомянул, что если важна производительность, то можно заменить объект-обертку на одно-элементный массив, доступ к элементу массива по определению быстрее чем извлечение значения из instance field.
Этот стереотип мне достался в наследство от Sun после прочтения очередного performance white paper. Там было написано что быстрее всего происходит доступ к локальной переменной, следом идет статический филд, потом элемент массива и замыкает этот список instance field.
К счастью на слово мне не поверили и это послужило поводом для написания этой статьи.
Статья не расчитана на джуниоров, читатель должен знать Java, ASM x86 и байткод.

Читать дальше →

Логично, но незаконно

Reading time6 min
Reach and readers22K
Полагаю, что многие пришедшие в славный мир .NET из славного мира С++ прекрасно помнят, как им приходилось буквально впиваться в стандарт, чтобы разобраться, почему язык ведет себя именно так, а не иначе. Многие вещи, которые казались им совершенно очевидны, при ближайшем рассмотрении оказались не то, что неочевидны — а просто-таки прямо противоположны здравому смыслу, на который мы все привыкли полагаться.

Впрочем, вероятнее всего, это проблема многих языков программирования. Многие, думаю, помнят известный ролик WAT, посвященный проблемам некоторых «очевидностей» языков JavaScript и Ruby. Логика привычного мира выходит покурить тогда, когда появляются пограничные области — те, в которые нормальные люди не лазят.

Впрочем, я предлагаю несколько отвлечься от этих высоких материй и взглянуть на язык C# несколько с другой, непривычной стороны. А именно посмотреть некоторые конструкции, которые, с одной стороны, совершенно понятны и легко описываются в терминах языка, а с другой — совершенно отказываются компилироваться.

Я даже не собираюсь спорить с тем, должны ли они компилироваться и работать. Я просто еще раз в очередной раз напомню, что все то, что для нас «логично и понятно» на самом деле может быть совершенно нелогично и непонятно.

И, да — я не буду в очередной раз ныть на тему того, что хотелось бы вернуть из функции тупл без использования громоздких структур и получить имя переменной с помощью простого оператора. Это не сюда — это к Майкрософту в фич-реквесты. У нас пятиминутка юмора. Итак, все то, что вы ежедневно хотите написать, но не пишете, потому что знаете — оно не скомпилируется. Поехали!
Читать дальше →

Решение задачи коммивояжёра на плоскости рекурсивным жадным алгоритмом

Reading time3 min
Reach and readers22K
В предыдущей публикации был рассмотрен алгоритм решения задачи коммивояжёра на плоскости рекурсивным полным перебором. Результат получился любопытным, но итоговый маршрут содержал очевидные неоптимальные участки. В предлагаемой заметке рассмотрен улучшенный алгоритм, который я назвал «рекурсивным жадным алгоритмом». Признаюсь сразу, итоговый маршрут в сравнении с рекурсивным полным перебором получается лучше, в среднем, на 8%.
Читать дальше →

Привычный вид для Visual Studio 2012

Reading time1 min
Reach and readers78K

Не нравятся новые цветовые темы


Ставим Visual Studio 2012 Color Theme Editor, видим в меню VS новый пункт «THEME», наслаждаемся.

Не нравятся новые иконки в Solution Explorer


Ставим Visual Studio Icon Patcher (VS 2010 должна быть тоже установлена).

Не нравится CAPS в меню


Об этом уже писали.

Спасибо Скотту Хансельману за то, что пишет полезные вещи в свой блог.

Легкая прогулка от функтора через монаду к стрелке

Reading time8 min
Reach and readers28K

Давайте совершим прогулку по цепочке Pointed, Functor, Applicative Functor, Monad, Category, Arrow, в процессе которой я попытаюсь показать что все это придумано не для того что бы взорвать мозг, а для решения вполне реальных проблем, притом существующих не только в haskell. Большая часть кода написана на C#, но думаю и без его знания можно будет понять что к чему.
Читать дальше →

О некоторых особенностях Windows 8 и WinRT(метро)-приложений

Reading time4 min
Reach and readers32K
Речь пойдет о новом типе приложений, которые предназначены для новой операционной системы Windows 8 и нового меню “Пуск”.



Хочу сразу отметить, что несмотря на все написанное ниже — технология мне понравилась, однако традиционный подход Microsoft — “сделать все хорошо, но что-нибудь наиболее часто используемое — плохо” — тут наблюдается во всей красе.

Читать дальше →

О том как я Java в дотнет портировал

Reading time7 min
Reach and readers13K
image

Давным давно… ну как давно? вчера! (С), то есть пару лет назад, портировал я одну скромную библиотечку с Java на .NET. И не просто на .NET, а на версию 1.1.

Подход известен — берем в зубы Sharpen (или конвертер из вижуалстудии 2003 года, кому что нравится), и далее — лобзиком.

Про очевидности с итераторами, структурами ("System.Drawing.Size это не объект") и потоками рассказывать не буду — банальщина. А вот про некоторые сюрпризы — добро пожаловать.

Читать дальше →

Стипендия Erasmus Mundus для высшего образования в Европе

Reading time11 min
Reach and readers71K
Тема образования за границей на Хабре освещалась уже не раз, однако именно по этой стипендии упоминаний почти нет. Ее уникальная фишка состоит в том, что учеба не ограничивается одним университетом, а можно будет поучиться в 2 – 3 университетах в разных странах ЕС, получить полноценный диплом, и сумма стипендии покрывает все нужды. Кто заинтересован в учебе на магистра или PhD, найдет под катом мой личный опыт и рекомендации.
Читать дальше

Drag-the-Digit для iPad. Как мы учились считать в уме или Наше первое приложение

Reading time3 min
Reach and readers13K
«Первый проект… Он самый любимый!»


Привет, дорогие читатели хабра!

Предисловие.

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


Читать дальше →

Information

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