Search
Write a publication
Pull to refresh
42
0
Send message

Алгоритмы обработки видео на процессоре TI DM368, продолжение…

Reading time6 min
Views7.2K
В первой части статьи мы рассмотрели аппаратные блоки, составляющие видеопроцессор TI DM368, a сейчас переходим к обзору наших алгоритмов и коду.



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

12 малоизвестных возможностей CSS

Reading time8 min
Views138K
CSS — не очень сложный язык. Но даже если вы пишете таблицы стилей в течении многих лет, наверняка бывают моменты, когда вы узнаете еще что-нибудь новенькое: свойства или значения, которые вам не доводилось использовать, детали спецификации, о которых вы не имели понятия.

В процессе работы с CSS я постоянно нахожу что-нибудь интересненькое, так что решил написать пост и поделиться своими знаниями с вами. Правда, учитывайте, что не всё, о чем будет рассказано, имеет непосредственное практическое значение, но, на всякий случай, в хозяйстве пригодится.
Читать дальше →

История однострочных багов

Reading time2 min
Views43K
Компания Apple недавно допустила крупную ошибку, забыв удалить лишнюю строчку с оператором безусловного перехода goto посередине функции SSLVerifySignedServerKeyExchange для проверки серверной подписи при установке SSL-соединения. В результате, функция успешно завершала работу, независимо от результата проверки подписи.

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

X Server


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

--- hw/xfree86/common/xf86Init.c
+++ hw/xfree86/common/xf86Init.c
@@ -1677,7 +1677,7 @@
   }
   if (!strcmp(argv[i], "-configure"))
   {
-    if (getuid() != 0 && geteuid == 0) {
+    if (getuid() != 0 && geteuid() == 0) {
        ErrorF("The '-configure' option can only be used by root.\n");
        exit(1);
     }

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

RedDwarf (бывший DarkStar) и Unity3D

Reading time4 min
Views5.4K
Для тех кто хочет связать сервер на java RedDwarf (DarkStar):
Используется бесплатная версия Unity.

1. Скачать плагин на Unity (http://sourceforge.net/apps/trac/reddwarf/attachment/wiki/CommunityClientImplementations/DarkstarSharp.unitypackage). Импортировать в Unity. В ассетах должен появиться «DarkstarSharp».

2. В файле «SimpleSgsProtocol.cs» из папки со скриптами «DarkstarSharp», необходимо изменить версию протокола,
значение VERSION = 0x04; меняем на 0x05;

3. Создаем папку для наших скриптов и создаем в нем csharp скрипт «Messages.cs» следующего содержания:
Читать дальше →

Стратегия игры в «мафию» с точки зрения анализа транзакций

Reading time4 min
Views223K
В разных компаниях в Мафию играют по-разному. У всех свои заморочки, за которые эти отдельные компании часто просто готовы порвать. Например, я знаю компанию, где много говорить опасно – считается, что мафия нервничает и болтает. Где-то надо обязательно смотреть в глаза собеседнику. Могут «убить» за закрытую позу или другой частичный признак, почерпнутый из книг или сериалов.

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

Итак, начнём с простой вещи. Мирный житель – это игрок, всегда находящийся под угрозой. Это основной фактор, определяющий его поведение.
Читать дальше →

Образовательные и обучающие ресурсы для веб-разработчиков и веб-дизайнеров

Reading time15 min
Views144K
Данным постом мы открываем рубрику «Переводы» в нашем блоге. Почему мы решили открыть такую рубрику? Дело в том, что сотни специалистов, работающих в Mail.Ru Group, для решения стоящих перед ними задач ежедневно прочитывают множество интересных статей и постов на форумах. Некоторые из них кажутся нам интересными, и мы считаем своим долгом перевести их на русский и поделиться этими ценными знаниями с Хабражителями.

Пользуясь случаем, хотим сообщить новость: сегодня состоялось открытие Технопарка — нашего образовательного проекта, о котором мы уже не раз писали на Хабре (например, тут, тут и тут). Теперь у технопарковцев есть свое собственное помещение. Изначально Технопарк задуман как место, где талантливые студенты МГТУ им. Баумана могут получить дополнительное образование в сфере веб-разработки, дизайна и программирования, а также окунуться в работу над реальными проектами высокой сложности. В общем, у Технопарка сегодня знаменательный день, и поэтому первый выпуск в рубрике «Переводы» мы решили посвятить образовательным ресурсам для веб-разработчиков и веб-дизайнеров. Ведь пока такие Технопарки не распространились по всей стране, разработчикам зачастую приходится заниматься исключительно самообразованием.

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

Шпаргалка по С++11 для печати на кружке

Reading time1 min
Views47K


Вот захотелось мне такое сделать и я сделал.
Картинка под спойлером


Полноразмерная картинка (на случай если Хабр пережмёт картинку под спойлером). Подходит для печати на стандартной кружке, площадь поверхности 20 х 8.8 см, 300 dpi (ребята в магазине сувениров сказали, что это стандарт).
Шпаргалка, послужившая основой

P.S. Да, я в курсе, что у меня не вышло вместить 1300-cтраничный стандарт на одну кружку. В следующий раз точно получится, я уверен.

«Задачка-то сошлась с ответом!»

Reading time4 min
Views34K


Я очень часто по работе слышу вопрос, задаваемый из, большей частью, академической среды, ввиду огромного количества выполняемых вычислений именно там: «Почему наши результаты разные от запуска к запуску одного и того же приложения? Мы же ничего не меняем в нем». Стоит отметить, разговор про это уже был, но лишь частично отвечающий на вопрос. Попробую рассказать про эту проблему ещё чуть-чуть.
Читать дальше →

10 потенциальных SQL ошибок, которые делают программисты

Reading time6 min
Views234K
Оригинал статьи носит название «10 SQL ошибок, которые делают Java разработчики», но, по большому счёту, приведённые в ней принципы можно отнести к любому языку.



Java программисты мешают объектно-ориентированное и императивное мышление в зависимости от их уровня:
— мастерства (каждый может программировать императивно)
— догмы (шаблон для применения шаблонов где-либо и их именование)
— настроения (применять истинный объектный подход немного сложнее чем императивный)

Но всё меняется, когда Java разработчики пишут SQL код.
Читать дальше →

Опубликован исходный код Light Table

Reading time1 min
Views55K


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

Собрав необходимую сумму на Кикстартере, американский разработчик Крис Грэнджер сдержал слово — реализовал поддержку Python и опубликовал исходный код Light Table на Github.
Читать дальше →

Не дразните программиста

Reading time4 min
Views168K
Подходит к концу очередная рабочая неделя. Не знаю, как у вас, а у меня эта неделя, что называется, — не задалась. Потрачена куча энергии и нервных клеток, и никакого движения вперед. Переносить стрессовое состояние на выходные мне очень не хочется, поэтому я решил взять короткую паузу и немного развеяться.

Вы устали? Хотите выпустить пар? Вам требуется передышка? Предлагаю вам присоединится ко мне, тем более, что на дворе пятница.
Читать дальше →

Архитектура убеждения, 7 механизмов манипуляции пользователями

Reading time6 min
Views46K
image

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

Например, Маша, считает, что вечно опаздывающий на работу Вова — страшно неорганизованный человек, который не умеет управлять своим временем.
При этом Вова опаздывает на работу, потому что вынужден с утра умыть, накормить, одеть маленькую дочку и отвести ее в садик. Сама Маша приходит почти вовремя только на работу, во всех иных случаях она всегда опаздывает. Маша винит в своих опозданиях пробки на дорогах, не сработавший будильник, родственников, которые ее отвлекали.
95% бизнесменов терпят крах в первые 1-2,5 года, считая, что знают своего потребителя и могут заставить его купить свой товар. Мысль: «Я знаю, как думает мой покупатель», — главная ошибка начинающего бизнесмена.
На самом деле сам покупатель не знает, как он думает.
Именно поэтому большие компании содержат несколько маркетологов для реализации своей продукции.

Интернет-маркетологи, познавшие особенности когнитивного восприятия, выработали несколько механизмов, способных «включить» скрытые механизмы поведения.

Курица, услышавшая зов птенца, будет заботиться о любом объекте, издающем подобные звуки. Человеческий мозг устроен гораздо сложнее, нежели куриный. Тем не менее, с помощью определенных установок можно побудить человека на совершение определенных действий.
Вы готовы стать архитектором убеждения?
Читать дальше →

Бесплатные скринкасты для изучения Go

Reading time1 min
Views9.7K
На сайте GoCasts.io опубликована небольшая подборка скринкастов, обучающих программированию на языке Go. Всего опубликовано три скринкаста от Алана Харпера. Приятно, что в качестве примеров выбраны не абстрактные, а самые практичные примеры из реальной жизни.

#1 – HTTP Get
Как осуществить простой HTTP-запрос с использованием пакета net/http в стандартной библиотеке Go.
Читать дальше →

C#. Сортировка членов типа с помощью ReSharper

Reading time6 min
Views15K

Существуют некоторые соглашения касаемые структуры класса, и того, в каком порядке должны располагаться его члены.
Вот, например, правила которые использует StyleCop, возможно, в вашей компании есть свои собственные.
Поддерживать структуру вручную довольно тяжело, скучно и отнимает много времени, особенно когда в классе довольно большое количество свойств, полей, методов и.т.д.
В этом посте речь пойдет о том, как с помощью ReSharper автоматизировать этот процесс.
Читать дальше →

Еще раз об архитектуре Android приложения или джентльменский набор библиотек

Reading time6 min
Views57K
Вот надумал написать обзор библиотек с помощью которых легко и удобно писать приложения под Android.
Список вырисовывается такой:

Если заинтересованны прошу под кат.
Читать дальше →

Пишем виртуальный буфер обмена на C#

Reading time16 min
Views34K
VirtualClipBoard Очень много приходится работать с текстовыми данными, такими как код, статьи, посты и т.д. В то время когда жил под Linux — пользовался менеджерами истории буфера обмена, которые запоминали, то что попадало в виде текста в буфер и по клику в трее я мог вернуть нужное значение в буфер, не возвращаясь к источнику.
Недавно пришлось большую часть времени проводить в Windows, удовлетворяющей альтернативы для такого простого приложения я не нашел. Что-то в найденных вариантах не устраивало: не свободное ПО, много ненужного функционала (который просто мешал) или работали неудобно для меня (например: получить предыдущее значение буфера, приходилось открывать окно программы). Недолго думая решил сделать, так как мне хотелось.

Поскольку, приложение должно работать исключительно в Windows, было принято решение написать ее на C# — к тому же, никогда ранее на нем ничего не писал — появился повод попробовать.

Задача


  • Программа должна слушать и запоминать изменения в текстовом буфере обмена.
  • Через контекстное меню в трее или через окно программы по клику на выбранном элементе истории, нужное значение должно автоматически попадать назад в буфер.
  • История не должна пропадать после перезагрузки системы


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

Опыт создания робота. Часть 1

Reading time6 min
Views88K
Доброго времени суток! Хочу поделиться со всеми опытом по созданию робота, на базе Arduino. В первой части не будет чего-то оригинального, возможно даже местами похоже на другие статьи, но постараюсь описывать именно проблемы, с которыми я столкнулся при сборке робота.

Преамбула


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

Идея была собрать более или менее компактного робота, но достаточно проходимого и функционального. Я не хотел привязываться к каким-то определённым платформам или собирать китовые наборы, поэтому решил отдельно заказывать детали и стараться по максимуму делать из подручных средств.
Читать дальше →

Краткий путеводитель по конференциям для разработчиков игр

Reading time3 min
Views20K
Я технический евангелист компании Unity Technologies, и моя работа — путешествовать. За пару часов до Нового Года я насчитал в своем календаре 23 командировки по разным конференциям и мероприятиям в 2013-ом. В 2012-ом ситуация была похожа, но фокус был больше на Западную Европу. А теперь пришло время делиться опытом.


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

Хитрые задачи по Java

Reading time7 min
Views117K
Совсем недавно я сдал OCA Java SE 7 Programmer I. За время подготовки успел решить огромное количество задач и извлечь из них много тонких моментов языка. Самые интересные и ловкие — сохранял на будущее. И вот у меня накопилась небольшая личная коллекция, лучшую часть которой я здесь и опишу.

В замечательной статье Знаешь ли ты JAVA, %username% и её второй части автор тоже поделился опытом после подготовки. Однако я пришёл к выводу, что могу добавить что-то своё. Так и зародилась эта статья.

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

Information

Rating
Does not participate
Registered
Activity