Денис aka Xronos @Xronos
User
12 способов не накосячить со вспышкой
8 min
357K
Ниже — достаточно известные вещи, которые, однако, вызывали facepalm у тех, кто был вместе со мной или же у меня. В списке грабель вы с некоторой вероятностью можете найти что-нибудь новое. Если хотя бы она фича использования вспышки окажется для вас полезной, то мою задачу можно считать выполненной.
+218
Секрет анализа трафика
3 min
10K
+49
Немного о архитектуре процессоров ARM7TDMI
3 min
17KВ последнее время я часто встречаю о самых разных устройствах, работающих на процессорах с архитектурой ARM. В этой статье я хочу начать рассказ о архитектуре процессоров ARM7TDMI (не путать с ARMv7). ARM7TMI — это довольно таки устаревшее семейство, но оно довольно таки широко используется в разных embedded устройствах. Так как моя работа очень плотно связанна с разработкой таких устройств — то я довольно неплохо ориентируюсь именно в этом семействе. Но если кому-то будет интересно — могу рассказать и о более новых семействах ARM.
+49
Неттоп Zotac ZBOX HD-ID11 на NVIDIA Ion 2
1 min
4.5K
На выставке CeBIT 2010, проходящей в эти дни в немецком Ганновере, компания Zotac представила неттоп ZBOX HD-ID11 на платформе NVIDIA Ion нового поколения. Сердцем Mini PC служит 1,66-гигагерцевый двухъядерный процессор Intel Atom D510 с интегрированным графическим ядром, чипсета Intel NM10 Express (платформа Intel Pine Trail).
+29
Никто ни хрена не знает, что он делает или Три типа знания
6 min
2.3KTranslation
Наткнулся недавно за любопытную статью под названием «No One Knows What the F*** They're Doing (or The 3 Types of Knowledge)». Если точнее, то эту статью разослала нам наша менеджер проекта. Представляю вашему вниманию свой перевод этой статьи.
(Я попытался передать экспрессивный заголовок максимально близко — но всё равно не получилось, буду рад предложениям, как можно более точно его передать).
(Я попытался передать экспрессивный заголовок максимально близко — но всё равно не получилось, буду рад предложениям, как можно более точно его передать).
+78
Проверка грамматики Open Office в вашем WEB-приложении
4 min
1K
+14
standalone Google Wave Notifier
1 min
583Думаю многим бы пригодилась standalone утилита для оповещения о новых волнах, и вот я нашел такую.
+25
Сферические панорамы коллайдера
1 min
821Британский фотограф Питер МакКриди разместил на своем сайте (http://petermccready.com/) достаточно большое количество созданных им трехмерных сферических панорам (360 градусов) различных фрагментов коллайдера.

p.s. они еще и со звуком.

p.s. они еще и со звуком.
+79
Дизайн интерьера. 12 сайтов с которых следует начать.
1 min
52KКому это может быть интересно:
— дизайнерам и интересующимся дизайном интерьера;
— тем, кто ищет дизайнера для ремонта кватиры или загородного дома;
— тем, кто собирается делать ремонт сам и ищет идеи.
Каталоги дизайнеров и интерьерных проектов (в алфавитном порядке):
designstory.ru — собирают информацию о частных дизайнерах, дизайн студиях, интерьерных салонах и школах дизайна в Санкт-Петербурге.
infolios.ru — самый молодой, но активно растущий каталог дизайнеров интерьера с возможностью размещения проектов.
— дизайнерам и интересующимся дизайном интерьера;
— тем, кто ищет дизайнера для ремонта кватиры или загородного дома;
— тем, кто собирается делать ремонт сам и ищет идеи.
Каталоги дизайнеров и интерьерных проектов (в алфавитном порядке):
designstory.ru — собирают информацию о частных дизайнерах, дизайн студиях, интерьерных салонах и школах дизайна в Санкт-Петербурге.
infolios.ru — самый молодой, но активно растущий каталог дизайнеров интерьера с возможностью размещения проектов.
0
Ускорение загрузки Windows for fun and profit
4 min
811K
Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
+501
Создание приложения для Windows Phone 7 от начала до конца. Часть 1
4 min
41KTranslation
Эта статья и прилагаемое к ней приложение-пример поможет вам начать создавать полноценные приложения для Windows Phone 7. Вы узнаете об общих вопросах разработки на примере создания простого приложения для отслеживания количества топлива, потребляемого вашим автомобилем. В этой статье описываются вещи, которые вы должны знать, прежде чем приступить к созданию приложений для Windows Phone.
Вы также узнаете, как выполнять следующие задачи (ниже указаны ссылки на другие части):
Вы также узнаете, как выполнять следующие задачи (ниже указаны ссылки на другие части):
- Следование рекомендациям по проектированию интерфейса
- Определение вашего приложения, начиная с идеи
- Создание нового проекта Windows Phone
- Создание страниц
- Навигация между страницами
- Разметка страницы
- Использование элементов управления для создания пользовательского интерфейса
- Добавление изображений и иконок
- Создание согласованного внешнего вида
- Отображение данных
- Создание классов данных
- Использование классов доступа к данным
- Сохранение и загрузка данных
- Восстановление приложения после дезактивации
- Валидация вводимых данных
- Доступ к фотографиям на Windows Phone
+28
Еще один шаг к идеальным закладкам
2 min
58KПривет всем! На хабре я уже более 5 лет и успел заметить множество стартапов которые были анонсированы здесь и успели дорасти до серьезных коммерческих проектов.
Мне всегда хотелось повторить их путь и следствием этого стал запуск Raindrop.io и публикации анонса.

Ваш последовавший отклик и интерес очень вдохновили меня, а замечания и идеи определили дальнейший путь развития проекта.
О том каким он стал и чего добился я хочу рассказать в этом посте.
Мне всегда хотелось повторить их путь и следствием этого стал запуск Raindrop.io и публикации анонса.

Ваш последовавший отклик и интерес очень вдохновили меня, а замечания и идеи определили дальнейший путь развития проекта.
О том каким он стал и чего добился я хочу рассказать в этом посте.
+61
Этот пудель кусается: использование дыр в протоколе SSL 3.0
7 min
36K
Интересующиеся веб-безопасностью хабражители уже в курсе очередной уязвимости в SSL, именуемой POODLE. Мы подробно рассмотрим, что же собой представляет эта уязвимость и каким именно образом позволяет злоумышленнику добраться до, казалось бы, защищенных данных пользователя, а также расскажем, как с этим зверем справилась команда Mail.Ru Group.
+38
UDP и C# async/await
3 min
35KTutorial
Недавно возникла необходимость решить следующую несложную задачку: есть несколько десятков устройств (учебных комплексов), у которых нужно регулярно запрашивать их текущее состояние. Комплексы общаются по протоколу UDP, и хотелось сделать так, чтобы не задумываться о цикле опроса и определении, от какого же устройства пришел ответ, а просто посылать запрос — и когда пришел результат — записывать его. Задачу эту я решал и раньше, но захотелось посмотреть, насколько концепция async/await упростит и сократит код. Оказалось, что финальный результат занимает меньше странички.
+19
Потокобезопасные события в C# или Джон Скит против Джеффри Рихтера
11 min
70K
Готовился я как-то к собеседованию по C# и среди прочего нашел вопрос примерно следующего содержания:
«Как организовать потокобезопасный вызов события в C# с учетом того, что большое количество потоков постоянно подписываются на событие и отписываются от него?»
Вопрос вполне конкретно и чётко поставлен, поэтому я даже не сомневался в том, что ответ на него можно дать также чётко и однозначно. Но я очень сильно ошибался. Оказалось, что это крайне популярная, избитая, но до сих пор открытая тема. А еще заметил не очень приятную особенность — в русскоязычных ресурсах этому вопросу уделяется очень мало внимания (и хабр не исключение), поэтому я решил собрать всю найденную и переваренную мной информацию по данному вопросу.
До Джона Скита и Джеффри Рихтера тоже дойдем, они то, собственно, и сыграли ключевую роль в моем общем понимании проблемы работы событий в многопоточной среде.
Особо внимательный читатель сможет найти в статье два комикса в стиле xkcd.
(Осторожно, внутри две картинки примерно по 300-400 кб)
+65
Функциональное программирование для всех
33 min
354KTranslation

Доброго времени суток. Это статья — перевод заинтересовавшего меня поста в блоге аспиранта Университета штата Нью-Йорк в Стоуни-Брук. Статья в доступной форме описывает основные концепции функционального программирования, их преимущества и недостатки. Думаю она будет полезна широкому кругу читателей, которые сомневаются, нужно ли им углубляться в мир функционального программирования или нет. Пожелания, предложения и замечания по переводу и терминологии принимаются по личной почте.
Мнение переводчика может иногда не совпадать с мнением автора, но переводить статью было крайне занимательно.
UPD: альтернативный вариант перевода вы можете найти на rsdn (спасибо flamingo за ссылку).
+174
Некриптографические хеш-функции и DoS атака на них
10 min
35KНекриптографические хеш-функции применяются там, где важна скорость и не так важна возможность атаки на характеристики функции. Последнее время активно обсуждается атака на алгоритмическую сложность хеш-таблиц путём создания множественных коллизий хеш-функции, которая может привести к DoS. Мы рассмотрим современные некриптографические хеш-функции, условия для их применения, возможные методы защиты от атаки на хеш-таблицы и почему оказалось, что это не так просто исправить.

Некриптографические хеш-функции
Если криптографические хеш-функции у всех на слуху, то про некриптографические (хеш-функции общего назначения) известно мало. Некриптографические функции применяются там, где на данные не воздействуют третьи лица (злоумышленник). Например, такие функции могут использоваться для построения хеш-таблиц.
Критерии, которые важны для некриптографических хеш-функций:
+60
Расширенные инструкции процессора в .NET или «C# Intrinsics»
6 min
17KВ шахматных программах широко используются «битовые доски» (битборды 1, 2) для представления фигур на доске. А так же и для других игр на той же доске 8×8, и даже для карточных игр. С битбордами часто проводят различные операции, например, найти первый установленный бит или посчитать количество установленных битов. Для этих операций придумано много «хитрых» алгоритмов, а на современных процессорах некоторые из этих операций доступны в расширенном наборе инструкций. Например, popcnt, доступный в SSE4.2 ABM. Также есть пара инструкций bsf/bsr, которые доступны уже давно, но из JIT-компилятора к ним нет никакого доступа.
Конечно, всё серьёзные шахматные программы пишут на C++, но для прототипирования каких-нибудь алгоритмов хочется использовать C#, потому что я с ним лучше знаком и у меня меньше шансов выстрелить себе в ногу. Но производительность тоже не хочется терять просто так, в C/C++ интересующие нас инструкции доступны так называемые встроенные функции. Я попробовал сделать подобное решение и для C#.
Конечно, всё серьёзные шахматные программы пишут на C++, но для прототипирования каких-нибудь алгоритмов хочется использовать C#, потому что я с ним лучше знаком и у меня меньше шансов выстрелить себе в ногу. Но производительность тоже не хочется терять просто так, в C/C++ интересующие нас инструкции доступны так называемые встроенные функции. Я попробовал сделать подобное решение и для C#.
+30
Как правильно разрабатывать API с поддержкой обратной совместимости. Семинар в Яндексе
7 min
36KПривет! Меня зовут Сергей Константинов, в Яндексе я руковожу разработкой API Карт. Недавно я поделился опытом поддержки обратной совместимости со своими коллегами. Мой доклад состоял из двух неравных частей. Первая, большая, посвящена тому, как правильно разрабатывать API, чтобы потом не было мучительно больно. Вторая же про то, что делать, если вам нужно что-то рефакторить и не сломать по дороге обратную совместимость.
Если заглянуть в Википедию, то про обратную совместимость там будет написано, что это сохранение интерфейса системы при выпуске новых версий. На самом деле, для конечных пользователей обратная совместимость означает, что код, написанный для предыдущей версии системы, работает функционально так же и в следующей версии.
Для разработчика обратная совместимость в первую очередь подразумевает, что единожды принятое обязательство предоставлять какую-либо функциональность невозможно отменить, исправить или перестать поддерживать.
Если заглянуть в Википедию, то про обратную совместимость там будет написано, что это сохранение интерфейса системы при выпуске новых версий. На самом деле, для конечных пользователей обратная совместимость означает, что код, написанный для предыдущей версии системы, работает функционально так же и в следующей версии.
Для разработчика обратная совместимость в первую очередь подразумевает, что единожды принятое обязательство предоставлять какую-либо функциональность невозможно отменить, исправить или перестать поддерживать.
+64
Information
- Rating
- Does not participate
- Location
- Россия
- Registered
- Activity