суббота, 16 октября 2010 г.

Живи действуя

Привет всем.

Несколько раз за неделю наталкиваюсь на мысль о том, что достижение нирваны без действия невозможно.
В первую очередь это был перевод статьи "6 Tips To Stop Talking And Start Doing".
"Суть успешного стартапа - это превращение идей в действие" и
"Спенс определяет 3 простых ключевых слова, который приведут к совершенству в бизнесе — фокус, дисциплина и действие. Если что-либо из этого у вас отсутствует, на выходе вы получите посредственность. А как только вы начнете мириться с посредственностью, вы станете для нее магнитом."

Потом появилось две статьи на блоге Армена Петросяна "Мыслехранилище №28". Первая о книге Rework и вторая о использовании тегов при сохранении информации "Теги помогают эффективнее действовать". Вот несколько цитат:
"Действовать по обстоятельствам – это нормально. Просто сядьте в самолет и взлетайте. Симпатичную рубашку, крем для бритья и зубную щётку можно купить, уже добравшись до места" (Rework)

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

Конечно эти статьи не только о действиях, но каждый видит то, что хочет видеть, то что может видеть со своей колокольни.

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

Соответственно нужно исправлять. В первую очередь я стараюсь не просто собирать информацию, а конвертировать ее в определенные задачи. Если я не знаю что делать с информацией, то удаляю. Ведь на самом деле интернет никуда не денется и, если она мне понадобится, я всегда смогу найти нужную статью.

Вторым шагом станет изменение метода чтения книг. Я пытаюсь подстроить под себя методы скорочтения и фоточтения, чтобы научиться работать с книгой, а не просто смотреть буквы и слова.

Своими успехами поделюсь в будущих записях.

Всем доброй ночи.

четверг, 7 октября 2010 г.

Мобильная тема

Всем доброго вечера.
Настроил себе мобильный интернет для evernote, а заодно и для блога.

--
Надіслано з мого мобільного пристрою

пятница, 3 сентября 2010 г.

Функция set_new_handler

Нашел интересный метод в С++.
Называется set_new_handler и призван помочь нам в случае если не получилось выделить память.
Описание можно глянуть тут и тут
Ниже пример использования:

#include "stdafx.h"
#include
using namespace std;

void no_memory()
{
printf( "Failed to allocate memory!\n");
throw bad_alloc();
}

int _tmain(int argc, _TCHAR* argv[])
{
set_new_handler(no_memory);
while(1)
{
try
{
int* p = new int[1024*1024*256];
printf("successed\n");
}
catch(bad_alloc b)
{
return 0;
}
}
//delete []p;
return 0;
}

Сразу же возникает закономерный вопрос: а как же его использовать в практическом коде?
А ответ прост - никак.

На проекте может быть два способа работы с памятью:
  • ленивый - все отдается на откуп стандартному new и надеемся, что памяти у пользователя всегда хватит.
  • практичный - команда берет на себя все управление памятью, каждый байт подсчитан и задокументирован.
Начнем со второго случая. Если команда взяла на себя управление памятью, то new переопределен и стало быть метод установленный вызовом set_new_handler никогда не сработает. Да и не нужен он, при нормально написанном менеджере памяти.

В первом же случае, если команда дошла до точки, когда закончилась память и приходиться использовать set_new_handler, то это значит, что пора задумываться о втором случае. Пора садиться считать байты и брать управление памятью на себя. set_new_handler - это всего лишь заплатка, "гвоздь", который поможет пережить текущий майлстоун, но сдавать проект с ним нельзя.

Доброй всем ночи.