Архив за 29 января 2013 - 3

Задача

Задача звучит просто – напечатать таблицу. Напечатать так, чтобы она выглядела красиво и, по возможности, не расползалась.

После некоторых раздумий, решено было воспользоваться FOP для генерации PDF. Загвоздка в том, что Apache FOP не поддерживает table-layout:auto, то есть при построении таблицы необходимо вручную задать ширину столбцов (хорошо еще, что можно задать относительную ширину в процентах). Если же сделать все столбцы одинаковой ширины, таблица будет выглядеть несколько неэлегантно. Выходит, рассчитывать ширину придется вручную.

Основная идея в том, что ширину столбцов необходимо подобрать таким образом, чтобы как можно сильнее сократить число переносов строк внутри ячеек таблицы.

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

Приветствую всех Хаброжителей! В обзоре одного из смартфонов родом из Китая я пообещал сделать обзор на свой новый девайс Hero H9500+ по окончании сессии. В своем топике я надеюсь оправдать ожидания тех пользователей, которые хотели увидеть его.
Читать полностью »

Делаем простую игру с кнопками, ящиками и дверями на Unity

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

Для самых нетерпеливых по ссылкам ниже находится готовый прототип.
Скомпилированная версия для Windows [Зеркало] ~7.5 МБ
Unity Web Player [Зеркало] ~25 КБ

Что мы собираемся делать? Двумерную головоломку с колобком в роли главного героя, который может двигать ящики, которые могут нажимать кнопки, которые могут открывать двери, за которыми скрывается выход из уровня, который построил я. Или вы, у нас же здесь туториал как-никак.

Подразумевается, что вы уже успели скачать Unity и поигрались немного в редакторе. Нет? Сейчас самое время, я подожду.
Читать полностью »

Обзор читалки Assistant AE 601

Выбирая читалку для этого тестового обзора, искал устройство от производителя менее известного на рынке читалок, чем Amazon и PocketBook. Основным критерием поиска была поддержка формата FB2, а также удобный и продуманный интерфейс. Просматривая разные варианты, остановился на читалке Assistant AE-601, отзывы людей, выбравших для себя эту читалку, были весьма положительными, вот и решил протестировать этот девайс лично.

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

  • удобный и продуманный интерфейс;
  • поддержка большинства форматов, связанных с электронными книгами;
  • богатая комплектация, включающая неплохую обложку для девайса, а также полноценную зарядку;
  • возможность слушать музыку формата MP3, а также радио в фоне при чтении книг;
  • экран E-Ink Pearl;
  • а также 3.5 Гб свободного места на борту устройства, что даёт возможность со старта заполнить девайс весьма ощутимой библиотекой.

Некоторые недостатки у устройства также были замечены, о них я тоже расскажу в этом обзоре.

Итак, перейдём собственно к обзору.
Осторожно, ниже много фотографий и слайдшоу (Траффик!)
Читать полностью »

Ассоциация электронных коммуникаций сочла "антипиратские" инициативы Минкультуры противоречащими принципам гибкого законодательного регулирования. Критика законопроекта опубликована на сайте РАЭК. Ассоциация апеллирует к словам Председателя Правительства Российской Федерации Д.А. Медведева. Именно о гибком подходе к регулированию авторского права, якобы, говорил экс-президент в мае 2012 г. Однако, на данный момент, гибкость удаётся только Министерству культуры. По мнению РАЭК:

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

​18 января компания «Майкрософт Украина» объявила лучших партнеров по показателям объемов продаж, продвижения и внедрения продуктов и решений.

Партнеры-лидеры были определены в 10 ключевых направлениях, например, лидер корпоративных продаж и л​​идер в области решений на платформе Windows Azure. Очень приятно, что победа в номинации "​Лидер в реализации мобильных сценариев на платформе Windows Phone 8" досталась нам:
Читать полностью »

GCC x86, как уменьшить размер кода      Времена, когда программисты пытались выжать максимум из размера своего приложения, безвозвратно ушли. Основной причиной является существенное увеличение объемов оперативной памяти и дискового простраства на современных компьютерах. Немногие помнят, как при загрузке приложения с кассеты можно было пойти покушать. Или как можно было считать моргания дисковода, косвенно определяя размер приложения. Пожалуй, только разработчики програмного обеспечения под встраиваемые системы до сих пор заботятся о размере кода и потребляемой памяти. Могут ли таблетки и смартфоны вернуть разработчиков «назад в будущее»?
      Данная статья призвана помочь разработчикам програмного обеспечения, испульзующим GCC компилятор, уменьшить размер кода своих приложений. Все данные в статье получены при помощи x86 GCC компилятора версии 4.7.2 на операционной система Fedora 17 для архитектуры Intel® Atom™.
Читать полностью »

Исторически в Почте Mail.Ru использовался механизм от «большого» Поиска (go.mail.ru); однако для задач поиска по почтовым ящикам такой вариант не был оптимальным ввиду большого потребления ресурсов и относительной сложности в обслуживании. Поиском по почте пользуются около 3% владельцев почтовых ящиков; однако, хотя эта цифра кажется относительно небольшой, ящики этих людей обычно достаточно объемны, и поиск им действительно необходим. Поэтому мы приняли решение написать специализированный поисковый демон, который будет заниматься именно поиском по почте. Основными требованиями к нему стали ограничения по потребляемым ресурсам (размер индекса — не более 3% от размера почтового ящика, среднее потребление оперативной памяти — не более 100 Мб, средняя утилизация CPU — не более 3%) и скорости исполнения запросов (среднее время — не более 200 мс). О том, как он был организован, я расскажу ниже.Читать полностью »

Введение.

Python замечательный язык. Связка Python + NumPy + Matplotlib, на мой взгляд, сейчас одна из лучших для научных расчётов и быстрого прототипирования алгоритмов. Но у каждого инструмента есть свои светлые и тёмные стороны. Одной из самых дискутируемых особенностей Python является GIL – Global Interpreter Lock. Я бы отнёс эту особенность к тёмной стороне инструмента. Хотя многие со мной не согласятся.

Если кратко, то GIL не позволяет в одном интерпретаторе Python эффективно использовать больше одного потока. Защитники GIL утверждают, что однопоточные программы при наличии GIL работают намного эффективнее. Но наличие GIL означает, что параллельные вычисления с использованием множества потоков и общей памяти невозможны. А это достаточно сильное ограничения в современном многоядерном мире.

Один из способов преодоления GIL при помощи потоков на C++ был недавно рассмотрен в статье: Использование Python в многопоточном приложении на C++. Я же хочу рассмотреть другой способ преодоления ограничений GIL, основанный на multiprocessing и shared array. На мой взгляд, этот способ позволяет достаточно просто и эффективно использовать процессы и разделяемую память для прозрачного параллельного программирования в стиле множества потоков и общей памяти.
Читать полностью »

Служба Безопасности Украины (СБУ) запретила использование очков Google. Официальные разъяснения по этому поводу публиковала ранее газета «Сегодня». Покупатели очков со встроенной видеокамерой и других «шпионских» устройств будут привлечены к уголовной ответственности.

UPD: В комментариях пишут, что запрет распространяется на всех членов Таможенного союза.

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


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