Архив за 14 августа 2013 - 6

Вступление

Эту статью я уже публиковал на другом ресурсе (autolynch.ru), но не могу не поделиться её с сообществом Хабра. Когда я писал её, я выбрал такого автопроизводителя как Вольво, и постарался собрать в одном посте по крупицам всю информацию о самых передовых технологиях которые они придумали, и будут внедрять в автомобили в ближайшие 10 лет.
К 2020 году, ни один человек не погибнет в машине Вольво. Задумайтесь об этом на секунду. Даже для компании, которая ставит безопасность во главу угла, такой как Вольво, это практически невыполнимая задача. Но это то, к чему она стремится.
Читать полностью »

Компания HP готовит новое устройство под названием Slate 8 Pro. На сегодняшний день в линейку Slate входят в основном планшеты. Кроме них есть новый Slate 21 AIO, представляющий собой гибридный моноблок. Цифра в названии зачастую указывает на диагональ дисплея (исключение — Slate 500Читать полностью »

Ссылочные и значимые типы.

CLR поддерживает две разновидности типов: ссылочные (reference types) и значимые
(value types). Помимо этих есть еще и примитивые типы(но я их опишу в следующих статьях).
Большинство типов в FCL(Framework Class Library)- ссылочные, но программисты чаще всего используют значимые. В чем между ними разница спросите вы?

Читать полностью »

В C# все типы объявленные с ключевым словом struct являются значимыми, как class — ссылочными. Разницы в их поведении не наблюдается, поэтому особо важно понимать какой тип используется в программе, так как это может значительно влиять на производительность в программе.
Рассмотрим пример, из которого видна разница между ссылочными и значимыми типами:
Читать полностью »

от переводчика: В свете недавно появившейся на Хабре публикации «Наука под замком», хотелось бы привести взгляд изнутри на проблему доступности научных публикаций британского математика из Кембриджского университета, пишущего в интернете по ником gowers.

P.S. Международные названия журналов, насколько мне известно, не имеют официальных переводов, поэтому перевод дан по смыслу с указанием оригинального названия
Эльзевир – мой вклад в его падение
Нидерландская издательская компания Эльзевир (Elsevier) публикует множество самых известных мировых журналов по математике, включая «Успехи математики» («Advances in Mathematics»), «Доклады по математике» («Comptes Rendus Mathematique»), «Дискретная математика» («Discrete Mathematics»), «Европейский журнал по комбинаторике» («The European Journal of Combinatorics»), «История математики» («Historia Mathematica»), «Журнал по алгебре» («Journal of Algebra»), «Журнал теории приближений» («Journal of Approximation Theory»), «Журнал по комбинаторике. Серия А» («Journal of Combinatorics Series A»), «Журнал функционального анализа» («Journal of Functional Analysis»), «Журнал по геометрии и физике» («Journal of Geometry and Physics»), «Журнал математического анализа и его приложений» («Journal of Mathematical Analysis and Applications»), «Журнал по теории чисел» («Journal of Number Theory»), «Топология» («Topology»), «Топология и её приложения» («Topology and its Applications»). В течение многих лет компания подвергается жесткой критике за свою практику ведения бизнеса. Позвольте мне кратко обобщить основные пункты, на которых основана эта критика.

  1. Цены издательства непомерно высоки – настолько выше среднего, что просто удивительно, что это так долго сходит издательству с рук.
  2. Один из способов, с помощью которого им удается этого добиваться, – это так называемая «продажа пачкой», суть которой в том, что библиотеки не могут выбирать, на какие именно журналы подписаться, они могут выбрать либо большую подборку (сделанную издательством, а не библиотекой) либо вообще ничего. То есть если некоторые из журналов в «пачке» незаменимы для библиотеки, то ей приходится подписываться и по очень высоким ценам на большое число журналов по разным наукам; при этом многие из этих журналов библиотеке вообще не нужны («Журнал хаоса, солитонов и фракталов» являет собой яркий пример периодического издания, которое многие математики считают просто ничтожным, при этом библиотеки по всему миру вынуждены на него подписываться). Учитывая то, что бюджет библиотек часто весьма ограничен, на практике это означает, что из-за этого им просто не хватает средств, чтобы подписаться на многие журналы других издателей, которые гораздо нужнее. В результате страдают не только библиотеки, но и другие издательства, что безусловно, является одной из причин, почему Эльзевир предпочитает эту схему.
  3. Если библиотеки пытаются договориться о лучших условиях, Эльзевир просто отрезает им доступ ко всем своим журналам.
  4. Эльзевир поддерживает многие меры, такие как «Закон о научных работах» ( «Research Works Act» ), которые препятствуют попаданию работ в открытый доступ. Также издательство Эльзевир поддерживало законопроекты SOPA и PIPA и активно их лоббировало.

Я мог бы продолжить, но на этом остановлюсь.

Кажется необъяснимым, почему ситуация продолжает развивается подобным образом. В конце концов, математики (как и другие ученые) жалуются на это уже долгое время. Почему бы им просто не отказаться публиковаться в журналах, издаваемых Эльзевиром?

Читать полностью »

Компания AMD не слишком торопится расширять ассортимент процессоров поколения Richland в бюджетном сегменте. Одним из последних представленных CPU был Athlon X2 370K, располагающий парой ядер с частотой 4 ГГц и лишённый графического ядра.

Читать полностью »

Вчера компания Microsoft выпустила набор security-обновлений для своих продуктов, среди которых было обновление MS13-063, которое исправляет возможность обхода таких «смягчающих» механизмов эксплуатирования как DEP & ASLR. Техника обхода этих механизмов в эксплойтах была продемонстрирована ресерчерами NSFocus Security Labs на конференции CanSecWest и VUPEN на Pwn2Own 2013.

Мы уже писали про механизмы EMET v4, в котором появилась возможность противодействия к использованию метода ntdll!LdrHotPatchRoutine для загрузки кода нужной библиотеки в памяти, обходя т. о. ограничения накладываемые DEP&ASLR. LdrHotPatchRoutine используется ОС как часть «хот патчинга» (исправления компонентов без применения перезагрузки) и позволяет загружать динамические библиотеки из различных мест, включая сеть (через UNC адреса). MS13-063 вводит для ОС исправление, аналогичное по возможностям тому, что было продемонстрировано в EMET.

ntdll!LdrHotPatchRoutine & DEP/ASLR bypass (MS13 063)

Эксплуатирование LdrHotPatchRoutine тесно связано с обходом ASLR при использовании всем известной структуры UserSharedData (KUSER_SHARED_DATA), которая проецируется по жестко заданным адресам в режиме пользователя (0x7ffe0000) и в режиме ядра (0xffdf0000). Структура используется для быстрого доступа компонентов ОС, работающих в режиме пользователя и ядра к некоторым разделяемым служебным данным (информация отладки, таймера, версия ОС и др.). При использовании некоторых указателей на функции в UserSharedData атакующий может быстро выяснить адрес необходимой функции. В частности, 64-битные версии Windows до Windows 8 хранили в этой структуре указатели на функции 32-битной версии ntdll, которую ОС использует для WoW64.

Читать полностью »

Многие знакомы со словом «JTAG», но знакомство это скорее всего поверхностное. В этой статье я хочу перевести Вас на новый уровень, так сказать «во френдзону». Возможно, для многих я не открою ничего нового, но надеюсь тем, кто давно хотел ознакомиться, будет интересно почитать. Итак, от винта.
image

Читать полностью »

Навигация в сабжевых платформах проста, но доставляет некоторый зуд в некоторых местах при попытке красиво связать ее с MVVM. К примеру, в Windows Phone навигация происходит только по ccылкам с возможностью задать параметры только в URI (т.е. строками) что особенно доставляет удовольствие при перемещении представлений в другие папки

Navigate(Uri uri)

тогда как в Windows Store интерфейс немного улучшили и дали возможность передавать объект

Navigate(Type pageType, object argument)

Тут есть интересная особенность – argument должен быть сериализуемым, иначе он пройдет на страницу успешно но поломает NavigationState (функция GetNavigationState зависнет при вызове).
Собственно, задача mvvm-навигации – это красивое связывание представлений с вьюмоделями и передача вьюмоделей при переходе на представления. Задавшись такой задачей я написал небольшой тулкит с примерами для Windows Store и Windows Phone.

Как это выглядит?

Регистрация

И так, сперва нам надо собственно связать представления с вьюмоделями (в качестве IoC я использую Autofac в примерах):

_navigationBuilder
    .RegisterViewModel<FrameViewModel>().StaticResource().WithoutView()
    .RegisterViewModel<MainViewModel>().Singleton().ForView<MainPage>()
    .RegisterViewModel<NotesViewModel>().StaticResource().ForView<NotesView>()
    .RegisterViewModel<NoteViewModel>().ForView<NoteView>()
    .RegisterViewModel<AppSettingsViewModel>().ForView<AppSettingsView>()
    ;

Читать полностью »

Всем привет!

Навеяно http://scientificmarketer.com/2010/09/cartoon-index.html
Картинка для привлечения внимания:
image

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js