Новости информационных технологий - 13647

Пару месяцев назад в честь достижения отметки 10 млрд загрузок Google устраивал распродажу приложений по 0.10$. Теперь же, празднуя день летнего солнцестояния, снова открыта инициатива Longest Day Deals — в Play Market можно купить ряд популярных приложений и игр за 0.99$ (около 30 рублей или 8 гривен).

Список приложений на распродажу — есть и Grand Theft Auto III, и Mass Effect: Infiltrator (эта стоит 0.69€):

  • Jamie's 20 Minute meals
  • Draw Something
  • Blue Hat, Green hat
  • Shazam Encore
  • mSecure
  • Mini Motor Racing
  • Order & Chaos Online
  • Clouds & Sheep Premium
  • Alarm Clock by doubleTwist
  • NBA Jam
  • RepliGo PDF Reader
  • Guns'n'Glory WW2
  • Flight Track
  • Moo, Baa, La La La!
  • Mass Effect: Infiltrator
  • Grand Theft Auto III

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

Недавно (буквально два года назад) тут пробегала статья Только 10% программистов способны написать двоичный поиск. Двоичный поиск — это классический алгоритм поиска. Мало того, это еще чрезвычайно простой алгоритм, который можно очень легко описать: берем отсортированный массив, смотрим в середину, если не нашли там число, в зависимости от того, что в середине — ищем это число этим же методом либо в левой части, либо в правой, откидывая средний элемент. Для функций также, просто берем не массив, а функцию. Все очень и очень просто, алгоритм описан почти везде, все баги словлены и описаны.

Так вот, я не могу реализовать двоичный поиск. Для меня он ни капельки не тривиален. Наверное, я ненастоящий программист. А ведь так и есть, я всего-лишь студент, но ведь это не оправдание? Если точнее, я не могу реализовать хороший корректный красивый двоичный поиск. Все время у меня вылезает проблема либо с корректностью, либо с красивостью, либо и с тем, и с другим. Так что, да, заголовок немного желтоват.
Прежде чем читать этот топик, напишите свою версию бинарного поиска — для отсортированного массива. Причем, в зависимости от параметра, поиск должен выдавать или первый элемент, или любой из дублирующих. Еще для сравнения, напишите бинарный поиск для функций

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

Представлены SSD Corsair Neutron и Neutron GTX, самой интересной строчкой в спецификациях которых является используемый контроллер: микросхема LM87800 производства Link_A_Media Devices (LAMD). Эта малоизвестная компания появилась в заголовках новостей не только благодаря продуктам Corsair — буквально вчера ее приобрела корейская SK Hynix, тоже интересующаяся рынком SSD. Можно предположить, что продукция LAMD заслуживает внимания.

На сайте компании Buffalo появилось сообщение о выпуске внешнего жесткого диска MiniStation HD-PNT2.0U3-GBJ, оснащенного интерфейсом USB 3.0. Объем накопителя, пополнившего серию Buffalo HD-PNTU3, равен 2 ТБ.

Портативные винчестеры Buffalo HD-PNTU3

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

На состоявшемся вчера в США официальном анонсе мобильной операционной системы Windows Phone 8 компания Microsoft краешком коснулась улучшений аппаратной платформы, которые новая ОС с собой принесет, а также рассказала о том, какие компании выпустят свои изделия под управлением Windows Phone 8.

Одно из ключевых нововведений Windows Phone 8 — поддержка двухъядерных процессоров. А в будущем, по словам создателей, платформа будет поддерживать CPU и о 64 ядрах.

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

knockoutmvcНа Хабре уже много писали про Knockout.js (раз, два, три, четыре, пять, видео). Для тех кто не в курсе, Knockout.js — это популярная JavaScript библиотека, позволяющая реализовать Model-View-View Model (MVVM) паттерн на клиенте. Освоить Knockout.js можно очень быстро — ведь есть система интерактивного обучения, куча живых примеров (можно потыкать и посмотреть исходный код) и прекрасная документация.

Очень часто Knockout.js используют в связке с ASP.NET MVC — ведь библиотека существенно упрощает написание клиентской логики. Однако, возникает много типичных проблем для клиент-серверной разработки: основную модель и часть логики её обработки приходится описывать как на клиенте (JavaScript), так и на сервере (C#/VB). Кроме того, есть рутинная часть, связанная с обращением клиента к серверным методам и передачи им модели для обработки. Но не стоит печалиться! Теперь у нас есть Knockout MVC — это .NET оболочка для Knockout.js, которая генерирует весь нужный JavaScript-код за нас. Нам остаётся только описать нашу модель на C# и в MVVM-стиле указать для каждого нужного html-элемента к какому свойству модели нужно привязаться (а можно указать и целые выражения — они будут транслированы в js). Таким образом, можно получить полноценное кроссбраузерное клиентское веб-приложение без единой строчки JavaScript!
Читать полностью »

abstract:

  1. Как выключить правую кнопку на ClickPad'е
  2. Что такое сниппеты для X-сервера
  3. Немного лирики о том, как в линуксе ищут решения проблем.

Вступление

X-сервер в отношении железа у меня обычно вызывает неприязнь. Потому что с одной стороны это нечто жутко консьюмерское и покрытое бесконечными тонкостями поддержки элитных ноутбуков очередного мегазасранца (Linus Loves Nvidia), который и под винды нормальных дров не может сделать, а с другой стороны, это то, что хочется, чтобы работало гладенько и само собой, ибо чинить сломавшийся X-сервер неприятно, особенно, если это единственный рабочий компьютер под рукой.

Впрочем, от лирики к хардкору.

На x220 есть такая замечательная вещь:
Отключение ClickPadа на X220; чуть чуть детектива
Посреди клавиатуры фирменный IBM'овский клитор (трекпоинт), под клавиатурой (над точпадом) кнопки от трекпоинта. Сам точпад второго комплекта кнопок не имеет и является ClickPad'ом — под ним расположена одна кнопка, нажатие которой транслируется либо в левую, либо в правую кнопки в зависимости от того, где было зафиксировано нажатие. Обработка эта софтовая (в драйвере).

Давным давно (~2.6.30) в линуксе поддержку этой штуки сделали кривыми хаками, потом выкинули (~2.6.38). В результате многие ноутбуки (например, уродливый HP, который у меня на работе) остались вообще без правой кнопки мышки.

Недавно привалили апдейты, которые «включили» это. HP такой вещи, наверное, обрадуется, однако, на X220, где есть аппаратные кнопки клитора с правой (и средней) кнопками, меня на 100% устраивало, что кликпад работает только как левая кнопка.

После апдейта я недельку помучился, но так и не привык. Как же этот багфикс выключить нафиг и вернуть на место баг? Я всё время кликал справа, ожидая, что это будет левый клик (потому что палец справа и ещё его шевелить куда-то не хочется).

Поиск

(вместо унылого howto я лучше покажу процесс поиска варианта решения, который не только решил проблему, но вкачал мне несколько малых уровней в linux).
Читать полностью »

Парадокс двух конвертов и стратегия Ковера (реализация на .NET)

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

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

Этой статьей я открываю серию материалов про инфраструктуру для аналитики вообще и экзотическую для России базу данных Vertica в частности. Статьи описывают опыт серии проектов в моей компании LifeStreet и не претендуют на полноту. Однако, где это представляется возможным, я буду пытаться давать общие обзоры. Прежде чем начать разговор собственно о Вертике, я хочу рассказать немного о том, как мы к ней пришли. Начнем с истории развития аналитической инфраструктуры в нашей компании.

Часть 1. Немного истории, теории и практики

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

Первая версия “инфраструктуры” была сделана “на коленке” за два дня в далеком 2006 году, когда в компании было 4 человека разработчиков, и примерно столько же людей из бизнеса. Читать полностью »