Архив за 20 июня 2012

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

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

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

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

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

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

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

Раз и навсегда решить проблему паролей меня побудила история со взломанным LinkedIn — очень неприятно было увидеть свой пароль в списке самых часто встречающихся. Паролей нынче нужно помнить все больше, требования к ним становятся все жёстче, а на OpenId что-то мало кто переходит.

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

Угроза №1 это сами сайты, на которые надо при регистрации отправить пароль. Администраторы и техподдержка этих сайтов будут иметь возможность увидеть ваш незашифрованный пароль, а значит смогут и попробовать использовать его на других сайтах, где вы, возможно, имеете аккаунты.
Читать полностью »

Тема микрокомпьютеров однозначно пошла на взлет. Про сборку Maximite я уже писал.

За последнее время удалось пощупать еще несколько мини машин, правда несколько иного класса, чем Maximite, построенных на ARMах.
Читать полностью »

<h3>Способ первый. Экстремаль

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

После состоявшей вчера премьеры планшетов Microsoft Surface большинство потенциальных покупателей интересовал только один вопрос: во сколько обойдется радость обладания одной из новинок. Как оказалось, радоваться тут пока нечему: по данным источника, самый дешевый Surface, построенный на платформе NVIDIA Tegra и укомплектованный ОС Windows RT, будет стоить свыше $599.

На выходных к нам в сервиc принесли убитый неудачной прошивкой роутер CISCO Linksys E2500, сегодня наконец добрался до него. Как я понял не удачно залили альтернативную прошивку dd-wrt, но какую именно и как — врать не буду, заливал не я.

Роутер был в циклической перезагрузке, он стартовал, даже успевал выдать адрес по DHCP и тут же перезагружался, и так каждые 30 секунд примерно.

Прописав на сетевой карте статический адрес 192.168.1.2 можно было успеть попинговать его и даже попытаться начать заливку по tftp.

Советы по удержанию кнопки reset в течение 30 секунд на включенном, потом 30 на выключенном роутере, и еще 30 на снова включенном, никакого результата не принесли.

Остался вариант посмотреть что у него внутри.
Читать полностью »

Петиция в Qualcomm: финал?
Ровно месяц назад мною была начата петиция в компанию Qualcomm с просьбой зарелизить обновленные кодеки с поддержкой ICS для устройств на базе ARMv6. Вдохновлением для нее послужила предыдущая петиция с просьбой зарелизить обновленные драйвера для графического ускорителя Adreno 200, созданная пользователем sweetnsour с форума xda-developers. Как вы может быть слышали, она увенчалась успехом.

Итак, я создал петицию, рассказал народу, что же в итоге получилось?
Читать полностью »

Здравствуйте, многоуважаемые Хабровчане.

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

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

Введение

Как и большинства разработчиков Qt, использующих библиотеку OpenCV, меня заинтересовала тема представления изображения, полученного из web-камеры, как компонент визуального проектирования интерфейса для Qt Designer.
Перерыв кучу информации в сети, заметил, что большинство статей повторяют друг друга, и найти «изюминку» слишком трудно. Думаю, мой обыт создания визуальной компоненты по представлению изобравжения библиотеки OpenCV для Qt Designer будет полезен. К тому же, поделюсь информацией, как разделить библиотеки времени проектирования дизайна и времени выполнения кода. Подобный подход весьма удачно зарекомендовал себя в RAD Delphi для операционных систем семейства Windows.

Замечания

  • Автор coffeesmoke не «разжёвывает» простые истины, методы и тонкости. Код понятен. Функции не превышают 20 строк.
  • Проект и пример использования реализован на Qt Creator для ОС Linux. Разработчики Windows-приложений должны установить настройки в файлох .pro соответственно своей ОС
  • Автор не пускается в дискуссии типа «а так было бы лучше». Нашли оптимальное решение, реализуйте.
  • Автор не отвечает на вопросы настроек Qt Creator и/или Qt Designer. Поисковые системы вам в помощь!
  • Пост несёт ознакомительный характер и служит обозначению направления движения ваших мыслей. Куда они пойдут, вам виднее.

Проектирование и выполнение

Выполнение

Оставим ненадолго библиотеку OpenCV работы с изображениями. Наша задача — универсальная runtime-библиотека (библиотека времени исполнения кода).
Возможно, то, что я сейчас покажу используется повсеместно. Однако, не встретил я на просторах сети по тематике построения плагинов под Qt Designer подобного подхода.
Задача состоит в том, чтобы не «тащить» библиотеку плагина Qt Designera в проект, а обойтись библиотекой времени исполнения. Очевидно, что runtime-библиотеку можно «обрамить» виджетом представления компонента на палитре Qt Dessigner
Читать полностью »


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