Pull to refresh
22
0
Дмитрий Бабокин @DmitryBabokin

Compilers

Send message

Анонсирована Microsoft Robotics Developer Studio 4 Beta

Reading time1 min
Views5.3K
image

Сегодня анонсирована новая версия Microsoft Robotics Developer Studio (RDS) 4 Beta — среды разработки приложений по управлению роботами и их симуляции. В новой версии среды анонсированы следующие важные нововведения:
  • новые инструменты симуляции, которые позволяют создавать роботов работающих с Kinect без наличия аппаратного обеспечения;
  • опубликована спецификация платформы для аппаратного обеспечения. Компания Parallax, Inc выпустила первый набор аппаратных средств;
  • в RDS4 добавлена поддержка Microsoft .NET Framework 4, XNA Game Studio 4.0 и Visual Studio 2010.
Для большей информации посетите официальный сайт среды разработки http://www.microsoft.com/robotics/.

Загрузить новую среду можно по следующей ссылке.

Народ против PVS-Studio: дубль первый

Reading time3 min
Views9.8K
Добрый вечер Хабранарод!

Воодушевленный этим постом и Хабрасообществом, предлагаю вам свой вариант анализа хорошо пропиаренной утилиты (как примечательно выразился Wo1f) — PVS-Studio.

В качестве примечания, использовал Visual Studio 2010 (крэкнутый, конечно) и скачал PVS-Studio из официального сайта, нажимая «Download and Try» и следуя инструкциям. Все это я пишу потому, что у меня вопросы на счет данной утилиты и требуется ваша, так сказать, помощь.

Первым делом прогоняем тесты из предудущей статьи, и так:

Тест 1:

int main()
{
	vector<int> v;
	v.reserve(2);
	assert(v.capacity() == 2);
	v[0];
	v[0] = 1;
	v[1] = 2;
	cout << v[0] << endl;
	v.reserve(100);
	cout << v[0] << endl;
	return 0;
}

VS2010: ничего
PVS-Studio: ничего
Читать дальше →

Почему Intel любит конкурсы

Reading time9 min
Views5.2K
imageГенеральный директор по исследованиям и разработкам корпорации Intel — Камиль Исаев, именно ему стоит задавать вопросы, связанные с развитием информационных технологий и поиском инноваций в компьютерной отрасли, так как он, в некотором смысле, ее и представляет.

В этом интервью много вопросов о том, почему и с какой целью Intel проводит различные конкурсы, целью которых является поиск и установление контактов с разработчиками; как привлекаются студенты российских ВУЗов и что, в итоге, получают все участники процесса. Я уже писал на Хабре о конкурсе «Компьютерный Континуум», который сейчас в самом разгаре, о нем и пойдет речь. Для потенциальных участников все подробности на intel.ru/contest

— Камиль, Intel в течение многих лет проводит конкурсы, причем, разнообразные. Каково их назначение, всегда одинаковое или зависит от задач в определенных сферах?

— Действительно, Intel давно проводит разнообразные конкурсы, в том числе, в России. Их цели близки, но все же, не тождественны от конкурса к конкурсу. 10 лет назад я занимался в Intel образовательными программами и организовывал соревнования в университетах. Их целью было установление контактов с теми, кто хочет и может сотрудничать с нашей корпорацией. Пожалуй, такая задача ставится перед всеми конкурсами, которые мы организуем. Например, Intel открывает новое направление по исследованиям и разработкам в России, и необходимо понять, какие люди здесь могут задавать тон, что они собой представляют. Поиск людей – цель, проходящая красной нитью через любой конкурс, который мы инициируем.
Читать дальше →

Diablo 3 Beta доступна!

Reading time1 min
Views92K
На форуме diablofans.com появилась ссылка на скачивание беты Diablo 3. Клиент скачивается, но игра пока не запускается, так как в моем бета-профиле на Battle.net еще нет соответствующего ключика.

Читать дальше →

Полуавтоматический бот для игры «Веселая ферма»

Reading time3 min
Views11K
Добрый вечер читатели хабра! Недавно один человек показал макрос-бота для браузерной игры Diamond Dash, пост. А делал он все при помощи языка макросов AutoIt. И я вспомнил, что для разработки полуавтоматического бота на C# использовал библиотеку AutoIt.
Как я разрабатывал, смотрите ниже…
Читать дальше →

Content editable в HTML5

Reading time2 min
Views61K
HTML5
Одним из нововведений HTML5 стала возможность редактировать часть страницы прямо в браузере. Эта фича получила название content editable. Она работает во всех современных браузерах. Чтобы сделать часть страницы редактируемой, нужно поставить тегу атрибут contenteditable="true". Под тегом может стоять практически всё: текст с форматированием, картинки, списки и даже flash-ролики. Но пользователь может добавлять толко текст, остольное он может только удалять. В этом посте я покажу пример использования content editable на веб-сайте.
Читать дальше →

Боты для браузерных игр на AutoIT

Reading time6 min
Views99K

Вместо предисловия

Сегодня я получил ссылочку на статью на хабре о технологии создания «макроса-бота для браузерной игры». Там же было написано с сожалением, что AutoIT мало представлен на хабре. Со штуками, описанными в статье я баловался год-два назад. В последнее время использую библиотеку IE.au3, которая позволяет творить с браузерными игрушками просто чудеса.Собственно информацией об этом и хотел бы поделиться. Только сразу предупреждаю — речь идет только работе под MS-Internet Explorer.
Читать дальше →

Свёртки в Intel Cilk Plus

Reading time8 min
Views3K
Допустим нам зачем-то нужно найти сумму элементов массива. Мы можем разбить массив на две части, просуммировать каждую часть отдельно и сложить результаты. При этом суммировать эти части можно параллельно. Но суммирование части массива это в точности исходная задача, и каждую часть снова можно разбить на две части и просуммировать каждую часть отдельно, а затем сложить результаты и т. д. Такая стратегия вычислений называется «разделяй и властвуй».

Таким способом можно вычислять много других функций от массивов, ниже в первой части статьи будет приведено математическое объяснение этой идеи, а во второй — как с помощью Intel Cilk Plus эту идею использовать в своих программах.

Итак, если есть желание посмотреть на математические формулы и куски кода на C++ в последние дни лета, то добро пожаловать под хабракат.

Читать дальше →

Написание макроса-бота для браузерной игры

Reading time8 min
Views53K

Введение


Не так давно на Google+ появились игры. Прочитав топик об этом, я решил во что нибудь поиграть. Выбор пал на игру Diamond Dash. Через некоторое время игры программист во мне заговорил, что однотипные действия нужно автоматизировать. И вот что из этого вышло…

*Примечание: «руками» даже опытному игроку сложно набрать больше 400к

Раньше я никогда не сталкивался с задачами работы с экраном и мышкой. После непродолжительного гугления было решено для решения использовать язык макросов AutoIt.
Под катом вы найдете краткое описание игры, мой способ распознавания поля, алгоритм определения точки нажатия, и некоторое количество оптимизаций. А так же ссылку на github-репозиторий скрипта.
UPD Добавлено видео работы скрипта.
Читать дальше →

13 бесплатных курсов Стэнфордского университета

Reading time2 min
Views72K
Недавно анонсированный бесплатный онлайн-курс Стэнфорда по основам искусственного интеллекта вызвал настоящий ажиотаж у публики. Заявки на регистрацию подали уже 81 966 человек. Оно и понятно: курс ведут Питер Норвиг и Себастьян Тран — настоящие звёзды. Первый раньше работал в НАСА и написал учебник по ИИ, а второй разрабатывает лучшие в мире роботизированные автомобили (для Google).

Очевидно, что качественное образование через интернет нужно людям и становится всё популярнее. Поэтому перед началом учебного года есть смысл напомнить список 13-ти бесплатных учебных курсов Stanford Engineering. В отличие от лекций Норвига и Трана, это не онлайновые, а старые курсы. В свободный доступ уже выложены видеозаписи всех лекций от первой до последней, PDF'ы с заданиями и другие материалы, но здесь нельзя задать вопрос преподавателю.
Читать дальше →

OpenCL: универсальность и высокая производительность или не так все просто?

Reading time5 min
Views10K
На Хабре уже были статьи об OpenCL, CUDA и GPGPU со сравнениями производительности, базовыми понятиями и примерами, поэтому рассказывать об основах и принципах работы я тут не буду, даже код не покажу. Но я хочу описать в чем заключаются реальные трудности при использовании GPU (про ограничения и их последствия), почему нельзя сравнивать производительность CPU и GPU, а также про то насколько “универсален” OpenCL на самом деле.
Читать дальше →

Как повысить безопасность своего аккаунта. О двухэтапной аутентификации и не только

Reading time3 min
Views9.5K
Джулс ван де Вен (Jules van de Ven), отдел по взаимодействию с клиентами, Google Accounts.

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

Google стремится максимально повысить уровень защиты и безопасности вашего аккаунта. Для этого мы недавно разработали для вас новую возможность — двухэтапную аутентификацию. Теперь она доступна и на русском языке.

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

На вашей странице Настроек аккаунта скоро появится ссылка “Настройка двухэтапного подтверждения”.

Активируйте на своем аккаунте двухэтапную аутентификацию. Теперь после ввода пароля вы увидите дополнительную страницу, на которой нужно будет ввести специальный код. Его вам сообщит Google – по телефону или SMS. Если вы используете Blackberry, iPhone или устройства на базе ОС Android, то сможете сами сгенерировать этот код, используя специальное мобильное приложение. При правильно введенном пароле и коде мы будем практически полностью уверены в том, что в ваш аккаунт зашли действительно вы. При желании вы всегда можете выбрать «Запомнить верификацию на этом компьютере на 30 дней», тогда вам не придется вводить код каждый раз при входе в аккаунт.


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

Еще несколько советов по усилению безопасности при использовании продуктов Google:
Потратьте 10 минут для того, чтобы повысить уровень безопасности при работе в Сети. Теперь вы сможете не только испытать на себе все богатство возможностей Интернета, но и надежно защитить свои данные.

Эмулятор компьютера с linux на JavaScript

Reading time2 min
Views46K
Никакой серверной части. Только JS: полноценный эмулятор компьютера с линуксом на борту.

bellard.org/jslinux
(внимание, только хром и FF4)

Я долго с ним игрался — это не имитация, линукс ведёт себя как настоящий линукс — компилированные программы работают, ошибки в них вызывают segmentation fault, повреждение корневой файловой системы вызывает бурю возмущения в dmesg и т.д.
Эмулятор PC на JS с линуксом на борту

dd показывает при работе с памятью более чем приличную производительность — более 40 мб/с (не забываем, что это эмулятор, и что это JS в вашем браузере!).

Я никогда не думал, что мы доживём до подобного.

… А теперь начинается оргия:

* С использованием локального хранилища мы можем организовать диски (каждый key-value соответствует одному сектору).
* С использованием web-socket мы можем создать паравиртуализированный драйвер сети с выходом на железный машрутизатор и получить нормальную сеть.
* С использованием существующих технологий (NUMA, DRBD, corosync) можно организовать вычислительный кластер из браузеров.

(Кстати, показывать консоль в этом случае не обязательно — вы запускаете виртуальную машину у клиента в бэкграунде, виртуальная машина присоединяется к кластеру, начинает считать, по её аварийному завершению — закрытию браузера — кластер автоматически переконфигурируется).

Я это пишу как хохму, но в реальности, если у вас есть линукс и есть — у вас есть все возможности для работы чего угодно. Любые сетевые приложения, любые системы синхронизации и управления.

Никто не мешает создать паравиртуализированный драйвер видео с помощью canvas, у вас есть webGL, для которого можно написать свой вариант cuda и получить довольно мощную акселерацию вычислений…

Ну и финал — запуск хрома внутри эмулируемой виртуальной машины.

Итак, эмуляция дошла до браузеров…

GitHowTo — тур обучения гиту на русском

Reading time1 min
Views15K
image

Спешу поделиться радостной новостью о запуске проекта GitHowTo — интерактивного тура-обучалки основам Git.

За основу были взяты идеи gitimmersion.com, но переведены на русский язык и немного изменены под реалии не-ruby разработки, поэтому спешите любить и жаловать — githowto.com!

Буду чрезвычайно рад любым замечаниям и пожеланиям к проекту.

Perl::Critic + Subversion = внедрение единых практик кодирования в команде

Reading time13 min
Views2.9K
Язык Perl хорошо известен той степенью свободы (a.k.a. TIMTOWTDI), которую он даёт программисту в выборе способа решения той или иной задачи. У этой медали, к сожалению, есть и оборотная сторона, которая может проявиться при командной разработке крупных проектов. Если в команде нет единых практик кодирования и каждый из разработчиков придерживается принципа TIMTOWTDI, то новичку в таком коллективе не позавидуешь.

В 2005 году активный участник Perl-сообщества Дамиан Конвей (Damian Conway) опубликовал книгу Perl Best Practices, в которой собрал и структурировал 256 рекомендаций по написанию понятного, надёжного и поддерживаемого Perl-кода. Краткую шпаргалку с выжимкой из книги можно скачать отсюда.

Годом позже, Jeffrey Thalhammer и группа товарищей выпустила Perl::Critic — гибкий и расширяемый фреймворк, позволяющий автоматизировать проверку Perl-кода на предмет его соответствия большей части рекомендаций из книги Конвея, а также многих других полезных практик.

Perl::Critic подаётся под разными соусами: во-первых, в комплекте с модулем поставляется одноимённая утилита — perlcritic, во-вторых, проверку кода можно оформить в виде тестов с помощью Test::Perl::Critic либо Test::Perl::Critic::Progressive, в-третьих, критик легко интегрируется в VIM и Emacs.

В этом рецепте я расскажу о том как проверять Perl-код на лету при коммите в Subversion-репозиторий. Bon Appétit!

Читать дальше →

«Как доводить начатое до конца, если я …» или GTD и DISC для «нечайников»

Reading time8 min
Views5.9K
image
В одном из предыдущих своих постов я пообещал продолжить тему о теории DISC для «нечайников». Сегодня очередной пост в эту сторону.
Наверное одним из ключевых моментов работы программиста, прожект-менеджера, да и вообще любого человека, как связанного с IT так и не связанного – это привычка, навык или умение доводить до конца начатые дела.
В этом посте мы разберёмся с этим вопросом.
Читать дальше →

Используем console на полную

Reading time6 min
Views459K
Метод console.log() — отличный способ вывести отладочную информацию, не мешая пользователю. Но знаете ли Вы, что объект console имеет еще уйму других не менее полезных методов? Очень редко разработчики используют этот функционал, ограничиваясь неблокирующим alert'ом. Что-ж, давайте исправим это положение.

Вкусности console

Smthngs (thn.gs) — todo веб-сервис как десктопное приложение

Reading time4 min
Views5.7K
Странное дело, порой кажется что каждый месяц появляется не меньше дюжины новых GTD-like таск-менеджеров. Одновременно с этим, хороших приложений для эффективного управления повседневными задачами крайне мало. Думаю, редкий читатель нашел для себя подходящий инструмент и пользуется им повседневно.
Мы не из ленивых, и как вы уже догадались, тоже сделали свой, с… всем что полагается.
Ниже я расскажу о нашей парадигме и особенностях, которые выгодно отличают нас от конкурентов. Т.к. многие уже устали от обилия постов о личной продуктивности на Хабре, в своем рассказе я сделаю упор на веб-технологии, а не на gtd-методологию. А пока картинка для привлечения внимания:
image
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity