четверг, 25 апреля 2013 г.

Emulator

Настройки по умолчанию для эмулятора android в adt (eclipse) делают его чрезвычайно медленным. Порой бывает быстрее загрузить приложение на реальное устройство, чем ждать загрузки эмулятора. Как ускорить эмулятор android проще всего?

Я использую GNU/Linux и не желаю использовать проприетарных драйверов вроде Intel HAXM (они тоже улучшают производительность эмулятора). Для достижения цели понадобится всего два шага.

среда, 24 апреля 2013 г.

Smile

Основано на мини-новости opennet.
Поиск в исходном коде строки — твивиальная вещь в терминале GNU/Linux. Наиболее известной утилитой для данной задачи является grep.
Чтобы рекурсивно пройти по дереву файлов большого проекта, можно воспользоваться следующей командой:

$ egrep -ir ';-\)' *

суббота, 28 июля 2012 г.

Jessie

Стало известно имя следующего после Wheezy восьмого релиза Debian - Jessie.
Джесси - очень редкая игрушка, созданная по образу героини вымышленного телевизионного шоу "Загон Вуди", в котором помимо неё участвовали шериф Вуди, пожилой старатель Пит и Булзай, лошадь Вуди. Волосы Джесси сплетены в косичку. Она свежая, храбрая и очень ловкая. Однако кукла бывает грустна и недоверчива, поскольку была забыта своим владельцем. Годы, проведённые в гараже сделали её замкнутой и боящейся темноты.

Пост можно считать дополнением к списку имён героев, в честь которого именовались релизы Debian.

Источники:

четверг, 19 июля 2012 г.

lseek

Роберт Лав, как оказалось, пишет довольно увлекательно. Узнал для себя немало нового из его книги "Linux. Системное программирование". Одним из открытий хочу поделиться.
Системный вызов lseek() предназначен для установки позиции в файле, соответствующем файловому дескриптору. Однако у него есть одно забавное применение. Возможно использовать lseek() для 'перемотки' файла за его(файла) предел. Если после этого записать что-то в текущую позицию, место между концом файла и позицией заполнится нулями.

воскресенье, 8 июля 2012 г.

Main

Прогуливаясь по файловой системе, обнаружил в закромах небольшой файл с кодом. Взглянув на него, я вспомнил, что некоторое время назад пытался понять можно ли в Си вызвать функцию main рекурсивно. Тогда я не закончил исследование - вероятно, не хватило навыка работы с указателями.
Оказывается, main ничем от других функций не отличается (помимо того, что является точкой входа в программу). Приведённый ниже код компилируется с самыми "жёсткими" флагами и успешно работает (печатает переданные аргументы).

#include <stdio.h>

int main(int argc, char *argv[]) {
    if (argc > 1) {
        printf("%s\n", argv[1]);
        main(argc - 1, argv + 1);
    }
    return 0;
}