Pull to refresh
29
0
Send message

Конкурс приложений Tizen App Challenge

Reading time1 min
Views7.3K
Tizen, открытая операционная система, поддерживаемая среди прочих Intel и Samsung, вступает в свое сражение за разработчиков. Конкурс Tizen App Challenge предлагает нам в общей сложности более 4 миллионов долларов.

По результатам конкурса эта сумма будет поделена между 54 призерами – главный приз это 200 000 долларов, а кроме того, например, 10 лучших HTML5 приложений получат по 50 000.

Окончание конкурса назначено на 1 ноября 2013 года, а прием приложений начнется через несколько дней. Для участия нужно лишь размещенное в Tizen Store приложение или приложения — подавать заявок можно сколько угодно.



Официальный сайт: http://tizenappchallenge.com
Total votes 20: ↑17 and ↓3+14
Comments23

Описание протокола BitMessage

Reading time3 min
Views12K
В свете программы PRISM у многих пользователей интернета наблюдается повышенный уровень паранойи. Думаю, использование протокола BitMessage поможет Вам почувствовать себя более защищенным.

Сразу оговорюсь, что протокол достаточно молодой, хотя и достаточно многообещающий. Молодость средства криптографии может свидетельствовать о том, что не все дефекты (в том числе и критичные для сохранения сообщения или Вашей анонимности) были найдены и устранены. Версия клиента 0.0.1, написанного на Python, вышла 21 марта. Сейчас актуальна версия 0.3.4 и популярность, как и количество пользователей растет, в геометрической прогрессии.

По сравнению чатом в tor, или i2p подкупает легкость установки клиента. Буквально в один клик!

Читать дальше →
Total votes 51: ↑49 and ↓2+47
Comments40

Happstack Lite: Веб-фреймворк на Хаскеле

Reading time9 min
Views13K
image
Картинка для привлечения внимания, clckwrks — веб-фреймворк, тесно связанный с Happstack.

Happstack — веб-фреймворк с большими возможностями и богатым API, который развивался на протяжении последних семи лет, чтобы соответствовать нуждам повседневной веб-разработки. К сожалению, богатый и гибкий API может быть бесполезным и запутывающим, когда вам нужно что-то простое. Однако многие и не догадываются, что под крылом Happstack кроется очень элегантный и простой в использовании веб-фреймворк Happstack Lite.

Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments25

Эффективное техническое руководство

Reading time7 min
Views23K
image

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

Все компании разные, но между лучшими техническими руководителями, с которыми мне довелось работать, существует кое-что общее. Снимаю шляпу перед Брайаном Столером, Натаном Хантом, Эваном Гилбертом и Ричем Бердоном за то, что послужили мне хорошим примером.

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

Качества


Вы всегда должны улучшать три своих качества: компетентность, скорость и осведомленность.
Читать дальше →
Total votes 58: ↑51 and ↓7+44
Comments7

Вышел новый релиз Intel Perceptual Computing SDK

Reading time1 min
Views6.1K

Комания Intel сообщает о выходе новой версии Intel Perceptual Computing GOLD SDK R2 — набора инструментов для разработки приложений, использующих управление жестами, распознавание лица и голоса и прочие атрибуты «человеческого» интерфейса. Среди новых компонентов релиза:
  • Образцы и учебные материалы по Havok Vision SDK
  • Дополнительная документация по C#
  • Поддержка разработки приложений на Java

В разделе The Intel Perceptual Computing SDK 2013 на сайте Intel вы можете найти более подробную информацию о продукте, скачать разнообразные обучающие и прочие материалы (в том числе, естественно, и сам SDK).
В заключение — короткое видео, показывающее возможности Perceptual Computing SDK, которое на самом деле является промо-роликом конкурса Intel Perceptual Computing Challenge, полным ходом идущего в данный момент.
Total votes 16: ↑13 and ↓3+10
Comments5

Thread concurrency C++11, свой велосипед технологии (Apple) GCD

Reading time7 min
Views6.5K
Вступление

Добрый вечер хабровчане. В данной статье хочу описать проблемы работы в многопоточной среде, с которыми я встретился и пути их решения. Более пяти лет я занимаюсь разработкой игровых проектов на С++ / Objective C++, в оснвоном под платформу iOS. 2 года назад решил попробовать себя в «нативной» разработке используя только Objective-C. Примерно в тоже время меня заинтересовала технология GCD от Apple (как раз после просмотра очередного WWDC). В первую очередь, в этой технологии меня привлекла гибкая возможность делегирования операций между потоками. Довольно распространненой задачей является загрузка каких-либо игровых ресурсов в низкоприоритетном потоке. Но довольно нетривиальной задачей является смена потока по окончанию операции загрузки на главный поток с целью дальнейшей загрузки в VRAM. Конечно можно было закрыть глаза на эту проблему и использовать Shared Context для графического контекста, но ростущий в то время во мне перфикционизм к собственному коду и решениям проектирования графических систем, не позволил поступить так. В общем было принято решение опробовать GCD на «пет» проекте, которым я как раз в то время занимался. И получилось довольно не плохо. Кроме задач решающих загрузку игровых ресурсов я стал использовать GCD там где это было уместно, ну или мне казалось, что это было уместно.

Прошло много времени и вот появились компиляторы полноценно поддерживающие C++11 стандарт. Так как работаю я в текущий момент в компании, занимающейся разработкой компьютерных игр, то особое требование ставится именно к разработке на С++. Большинству сотрудников чужд Objective-C. Да и сам я не питаю особой любви к этому языку (может быть только кроме его обьектной модели построенной по принципам языка Smalltalk).

Почитав спеки по 11 стандарту, проштудировав множество буржуинских блогов я решился написать свой велосипед схожий с Apple CGD. Конечно я не ставлю себе за цель обьять необьятное и ограничился лишь реализацией паттерна «Пул потоков» и возможностью выйти в любой момент из контекста второстепенного потока на контекст главного потока, и наоборот.

Для этого мне понадобились следующие новшевства С++11 — std::function, variadic templates и конечно работы с std::thread. (std::shared_ptr используется лишь для чувства собственного успокоения). Конечно еще одна цель, которую я поставил перед собой — это кроссплатформенность. И очень был разочарован, когда узнал, что компилятор от Microsoft, укомплектованый в VS 2012, не поддерживал variadic templates. Но, поштудировав немного stackoverflow, я увидел, что и эта проблема решается установкой допольнительного пакета «Visual C++ November 2012 CTP».
Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments9

Генерация карты высот

Reading time3 min
Views31K
В качестве языка программирования здесь используется C++, но перенести этот код на другой язык программирования будет не так уж сложно.
Код написанный ниже далёк от идеала, но новичкам он может пригодится.
Не так давно у меня была проблема с генерацией карты высот для ландшафта.
Читать дальше →
Total votes 29: ↑17 and ↓12+5
Comments12

Нумерация аргументов variadic template, или что скрывает скромный pair

Reading time5 min
Views19K


Освоение стандарта C++11 — процесс, который не может происходить скачкообразно. Изучение новой языковой конструкции требует не только заучивания синтаксиса, но и осмысления её предназначения и типичных способов применения. Важным подспорьем в обучении является похорошевшая STL, которая зачастую может открыть глаза на существование весьма интересных и нужных возможностей. А уж зная, что какая-то вещь возможна и реализована в STL, докопаться до способа реализации нетрудно.

Об одном из любопытных примеров, связанном с обновлённым и улучшенным классом pair, и пойдёт речь в статье.
Новый стандарт добавил такой, казалось бы, простой вещи, как pair, удобства и универсальности. Если раньше к типам, входящим в состав пары, предъявлялись достаточно суровые требования, то сейчас слепить в пару можно практически что угодно. В частности, снято ограничение на конструирование таких типов. Теперь необязательно применять операции копирования или даже перемещения, возможно создание пары непосредственным конструированием членов (такая операция называется emplace, «размещение», и в C++11 поддерживается контейнерами STL), с применением нетривиальных конструкторов.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments14

Алгоритм seam carving для изменения размера изображения

Reading time7 min
Views30K
Seam carving это алгоритм для изменения размера картинки, сохраняющий важный контент и удаляющий менее значимый. Он был описан в статье S. Avidan & A. Shamir. Он дает лучший результат, чем обычное растягивание изображения ввиду того, что не меняет пропорций значимых элементов изображения. Две фотографии ниже демонстрируют работу алгоритма – исходное изображение имеет размер 332x480, в то время как модифицированное seam carving'ом 272x400.


В данной статье я опишу работу алгоритма используя псевдокод и код Matlab. Оригинал статьи, написанный мной на английском доступен тут, исходный код на гитхабе.
Читать дальше →
Total votes 84: ↑82 and ↓2+80
Comments29

Делаем Liquid Resize своими руками

Reading time12 min
Views16K
Вы наверное уже слышали о технологии масштабирования Liquid Resize, которая учитывает содержимое изображения. Если вам интересно как оно все работает и как можно реализовать все это самому, то читайте далее (осторожно, много рисунков).


(НЛО прилетело и растянуло этот рисунок здесь)
Читать дальше →
Total votes 230: ↑227 and ↓3+224
Comments125

Return by value и const variables в C++11

Reading time3 min
Views25K
Во многих языках программирования существует возможность объявлять объекты и переменные константными. И, соответственно, существуют рекомендации делать так, если Вы не собираетесь менять их значения. С приходом нового стандарта, в С++ появилась рекомендация возвращать объекты из функций по значению, потому что даже без RVO можно повысить производительность программы, за счет использования семантики перемещения. Что же будет, если использовать эти две рекомендации вместе: вернуть константный объект по значению? Попробуем разобраться далее.
Читать дальше →
Total votes 40: ↑36 and ↓4+32
Comments8

Окрашивание изображений

Reading time2 min
Views57K

Здравствуй, Хабрахабр. Сегодня мы будем раскрашивать.
Что здесь будет? Будет поиск цветного изображения со схожими цветами по черно-белому и метод переноса цвета с первого на второе.
Читать дальше →
Total votes 120: ↑120 and ↓0+120
Comments60

Очередная дыра в системе безопасности Skype

Reading time2 min
Views117K

ПРЕДИСЛОВИЕ

Осенью 2012 года уважаемое сообщество уже обсуждало уязвимость в Скайпе. Обсуждение прошло по всем крупным новостным сайтам и получило широкую огласку т.е. прошло очень удачно, в результате Майкрософт наконец-то закрыл эту уязвимость. Цель этой статьи аналогична — привлечь к проблеме как можно больше внимания в надежде что Майкрософт отреагирует и исправит свою систему безопасности в Скайпе.

В чем суть проблемы
Total votes 121: ↑106 and ↓15+91
Comments105

Особенности получения пакетов через raw socket в Linux

Reading time2 min
Views31K

Linux (в отличии, к примеру, от FreeBSD) позволяет использовать сырые сокеты не только для отправки, но и для получения данных. В этом месте существуют интересные грабли, на которые я наступил. Теперь спешу показать их тем, кто еще на знает, чтобы каждый, используя свой любимый язык программирования, будь то C++ или Python, мог опробовать их в деле.

Суть граблей изображена на рисунке, чтобы те, кто уже в курсе, не тратили свое время.
Читать дальше →
Total votes 34: ↑26 and ↓8+18
Comments9

Команда Джеффри Хинтона победила в конкурсе компьютерного зрения ImageNet с двукратным преимуществом

Reading time3 min
Views32K
Конкурс ImageNet состоялся в октябре 2012 года и был посвящен классификации объектов на фотографиях. В конкурсе требовалось распознавание образов в 1000 категорий.

Команда Хинтона использовала методы deep learning и сверточных нейронных сетей, а также инфраструктуру, созданную в Google под руководством Jeff Dean и Andrew Ng. В марте 2013 года Google инвестировал в стартап Хинтона, основанный при университете Торонто, тем самым получив все права на технологию. В течение шести месяцев был разработан сервис поиска по фотографиям photos.google.com.
Читать дальше →
Total votes 84: ↑80 and ↓4+76
Comments36

Портирование кода на мобильные устройства iOS/Android

Reading time13 min
Views20K
Что вам кажется привлекательней: сталкиваться с новыми интересными задачами и разрабатывать нетривиальные алгоритмы или переписывать с одного языка на другой уже существующую логику и воевать со странными особенностями конкретных API? Я занимаюсь мобильной разработкой уже лет 8, и, не раздумывая, выбираю первый вариант, но и повоевать с API тоже люблю. Тем, кто со мной согласен, но еще не знает, как заниматься первым и сводить к минимуму второе, будет интересно заглянуть под кат.

Читать дальше →
Total votes 48: ↑43 and ↓5+38
Comments16

Мягкое введение в Coq: используем тактики

Reading time2 min
Views6.5K

Доказательство упрощением


Итак, в предыдущих частях мы определили новые типы данных и функции над ними. Настало время обратиться к вопросу о том, как сформулировать и доказать их свойства и поведение. В некотором смысле мы уже начали делать это – в первой части мы написали своего рода юнит-тест, используя ключевое слово Example, который содержал некоторые утверждения о поведении некоторой функции, применяемой к определенному набору аргументов. Используя определение функции, Coq упрощает выражение и проверяет на равенство его левую и правую часть.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments5

О продаже Waze и распоряжении контентом

Reading time5 min
Views11K
Позавчера стало известно, что Google приобрела израильскую компанию Waze – очень популярного в некоторых странах оператора «социальной» навигации. Сумма сделки составляет $1.3 миллиарда. От всей души радуясь за основателей компании, я все же хочу поговорить о менее приятной тенденции.

Waze долго шла к большим игрокам, навешивая рюшечки и ненужный функционал, нередко ценой ухудшения стабильности навигации. И вот наконец количество рюшечек достигло критической величины для продажи. Поздравляем Google с приобретением! Ждем информацию о пробках на G+ и [вероятное] закрытие приложения в его сегодняшнем виде. Немного жалко, конечно, но не конец света. Гораздо большее сожаление вызывает непрекращающаяся торговля не своим наполнением. Хотя нет, не сожаление — злость! Как в рассказе Марка Твена, в котором герой-сатирик использовал все возможные источники острот для своей работы, интернет-паразиты лезут своими слоновьими задами в посудные лавки любой мало-мальски заметной тусовки.

Это уже порядком надоело, честное слово. Предоставление инфраструктуры и организация канала для общения — безусловно очень важная и нужная вещь. Например, медицинская конференция нейрохирургов не может состояться без организаторов, оформителей, уборщиц, техников для настройки микрофонов и официантов для фуршета. Но с каких бесов уборщицы и техники вдруг начинают распоряжаться материалами конференции? Вас сочтут сумасшедшим, если вы скажете, что у владельца проектора для презентаций есть право публиковать, продавать или запрещать показанные на нем труды по своему желанию и усмотрению. А в цифровом мире это стало в порядке вещей! ЖЖ, Фейсбук, Гугл, Яху и проч. — хозяева проекторов — всячески монетизируют, переделывают и распоряжаются чужим контентом!
Читать дальше →
Total votes 56: ↑48 and ↓8+40
Comments35

Десять возможностей C++11, которые должен использовать каждый C++ разработчик

Reading time12 min
Views534K
В данной статье рассматривается ряд возможностей С++11, которые все разработчики должны знать и использовать. Существует много новых дополнений к языку и стандартной библиотеке, эта статья лишь поверхностно охватывает часть из них. Однако, я полагаю, что некоторые из этих новых функций должны стать обыденными для всех разработчиков С++. Подобных статей наверное существует много, в этой я предприму попытку составить список возможностей, которые должны войти в повседневное использование.

Сегодня в программе:
  • auto
  • nullptr
  • range-based циклы
  • override и final
  • строго-типизированный enum
  • интеллектуальные указатели
  • лямбды
  • non-member begin() и end()
  • static_assert и классы свойств
  • семантика перемещения
Читать дальше →
Total votes 133: ↑125 and ↓8+117
Comments115

Эдвард Сноуден: осведомитель, который выдал секреты АНБ

Reading time3 min
Views164K


Несколько часов назад газета The Guardian сообщила имя человека, который передал в редакцию секретные документы Агентства национальной безопасности США, включая презентацию проекта PRISM и запрос на информацию обо всех абонентах сотовой связи Verizon. Крупнейшую утечку в истории АНБ организовал 29-летний компьютерщик, специалист по информационной безопасности Эдвард Сноуден (Edward Snowden). Теперь он сам попросил раскрыть свою личность — и объясняет мотивы этого поступка.

Эдвард Сноуден не боится мести со стороны американского правительства, и для него раскрытие информации было делом принципа.
Читать дальше →
Total votes 193: ↑181 and ↓12+169
Comments237

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Date of birth
Registered
Activity