Как стать автором
Обновить
90
0
Руслан Хайров @khayrov

Разработчик

Отправить сообщение

Сохраняем видео из Flash Player 10.2 или unlink нам не помеха

Время на прочтение5 мин
Количество просмотров39K
Я, как, вероятно, и многие другие пользователи Linux, привык сохранять видео с сайтов вроде YouTube, копируя временные файлы, создаваемые Adobe Flash. Примерно так:
$ cp /tmp/FlashIBmQCU video.flv

Поставив свежий пре-релиз флэш-плеера, который на днях обсуждали на хабре (у меня 64-битная система), я с удивлением обнаружил, что этот способ больше не работает, так как никакие файлы во временном каталоге не создаются. Рассудив, однако, что едва ли плеер хранит видео целиком в памяти, и куда-то он его всё-таки должен писать, я приступил к расследованию.
Читать дальше →
Всего голосов 135: ↑130 и ↓5+125
Комментарии53

Программирование — не отстой! По крайней мере, не должно быть им

Время на прочтение5 мин
Количество просмотров9.1K
Перевод статьи из блога Enfranchised Mind.

Недавно мне на глаза попалось два текста, на которые я просто не мог не ответить. Первый, самый ужасный, — это статья на Daily WTF «Программирование — отстой! Или что-то вроде того». Второй — пост о том, почему функциональное программирование не получает распространения.

Читать дальше →
Всего голосов 104: ↑95 и ↓9+86
Комментарии64

Обзор LLVM

Время на прочтение13 мин
Количество просмотров85K
LLVM (Low Level Virtual Machine) — это универсальная система анализа, трансформации и оптимизации программ или, как её называют разработчики, «compiler infrastucture».

LLVM — не просто очередной академический проект. Его история началась в 2000 году в Университете Иллинойса, а теперь LLVM используют такие гиганты индустрии как Apple и Adobe. В частности, на LLVM основана подсистема OpenGL в MacOS X 10.5, а iPhone SDK использует GCC с бэкэндом на LLVM. Apple является одним из основных спонсоров проекта, а вдохновитель LLVM — Крис Латтнер — теперь работает в Apple.

В основе LLVM лежит промежуточное представление кода (intermediate representation, IR), над которым можно производить трансформации во время компиляции, компоновки (linking) и выполнения. Из этого представления генерируется оптимизированный машинный код для целого ряда платформ, как статически, так и динамически (JIT-компиляция). LLVM поддерживает генерацию кода для x86, x86-64, ARM, PowerPC, SPARC, MIPS, IA-64, Alpha.

LLVM написана на C++ и портирована на большинство *nix-систем и Windows. Система имеет модульную структуру и может расширяться дополнительными алгоритмами трансформации (compiler passes) и кодогенераторами для новых аппаратных платформ. Пользовательский фронтенд, как правило, линкуется с LLVM и использует C++ API для генерации кода и его преобразований. Однако LLVM включает в себя и standalone утилиты.

Для тех, кто не без оснований считает C++ не лучшим языком для написания компиляторов, с недавних пор в LLVM включена обертка API для OCaml.

Чтобы понять, что можно сделать с помощью LLVM, и на каком уровне придётся работать, давайте разберёмся,
что из себя представляет LLVM IR.
Всего голосов 52: ↑51 и ↓1+50
Комментарии25

Обновление линейки Lenovo ThinkPad

Время на прочтение3 мин
Количество просмотров3.1K
Анонс новых ноутбуков Lenovo сразу вслед за объявлением обновлённой мобильной платформы Intel не стал неожиданностью. Характеристики новинок Lenovo регулярно всплывают задолго до официальных анонсов. Служащий Lenovo писал по этому поводу в официальном блоге, что работа с крупными корпоративным клиентами не позволяет выпускать продукт в обстановке полной секретности, в отличие от некоторых других компаний.

Обновление претерпели существующие линейки T, R и X, а также добавились новые: SL (Small Business) и W (Workstation).
Читать дальше →
Всего голосов 12: ↑8 и ↓4+4
Комментарии8

Стив Егге: динамические языки возвращаются

Время на прочтение3 мин
Количество просмотров1.9K
Небезызвестный Стив Егге опубликовал стенограмму своего доклада в Стенфордском университете. Он затронул целый ряд вопросов, которые недавно активно обсуждались на Хабре: оптимизация программного кода, «нетрадиционные» языки программирования и др. Кроме того, для тех, кто «в теме», доклад содержит ссылки на интересные публикации по компиляции и методам оптимизации.

Ниже я постарался сделать выжимку из весьма объёмного текста. Местами с намеренно провокационными, в духе Стива, заявлениями.

Основные тезисы доклада
Всего голосов 47: ↑46 и ↓1+45
Комментарии130

Информация

В рейтинге
Не участвует
Откуда
Zürich, Zürich, Швейцария
Дата рождения
Зарегистрирован
Активность