Если ты регулярно осознаёшь, какой ты дурак – это ведь значит, что ты улучшаешься, нет? 
Author Archives: himself
Об анинсталлерах
Одно из самых жутких, заброшенных и тоскливых мест Windows – это управление приложениями. Целиком мне сейчас о нём говорить не хочется, скажу только об одном аспекте: об анинсталле. Как он устроен – это дичайший бред. Попробуйте удалить несколько случайных продуктов на системе, которая проработала пару лет!
Не найден msi-файл установки, удаление невозможно.
Пропал компонент приложения, удаление невозможно.
Кто-то перезаписал мою регистрацию, удаление невозможно.
Кто-то вручную удалил с диска файлы, удаление невозможно.
Да нет конечно же! Это лентяи-программисты заставляют пользователей плясать под свою дудку. Вместо того, чтобы подумать головой и написать нормальный деинсталлятор, они предпочитают переваливать все проблемы на плечи пользователя. Нет уверенности, что мы удалим всё? Ну так не будем удалять ничего! Пусть пользователь сам разбирается.
Удаление, уничтожение, очистка – это операции, которые должны выполняться “наилучшим возможным образом”. Т.е. в каждой ситуации должен удаляться абсолютный максимум того, что можно удалить. Если каких-то файлов уже нет – удаляем те, что остались. Если установочного пакета нет – ладно, удаляем хотя бы то, о чём сохранились записи. Не сохранилось записей – удаляем хотя бы то, о чём можно догадаться без них.
Ошибок в этих операциях не должно существовать в принципе. Они должны выполняться всегда.
В качестве бонуса: этот же принцип относится и к деструкторам объектов в программировании. Деструктор должен работать всегда. В каком бы состоянии не находился объект, деструкция, деинициализация, и вообще всё, что угодно, с приставкой “де-“, должно игнорировать ошибки и удалять всё возможное.
Это не значит, что надо ловить в деструкторе все ошибки и затыкать им рты. Если ошибка уже случилась, её, как обычно, нужно вывести пользователю. Просто деструктор должен быть написан так, чтобы выполнять максимум без ошибок даже в неизвестных обстоятельствах. Например, даже если деструктор у вас вызывается единожды, и lpMyObject всегда существует, нужно писать:
if (lpMyObject != NULL) {
FreeMyObject(lpMyObject);
lpMyObject = NULL;
}
Хорошая практика – это чтобы ваш деструктор можно было вызвать на любом этапе жизни объекта, и он успешно выполнился бы. Даже в середине конструктора. Даже в процессе выполнения какой-то критической функции. Потому, что деструктор не может позволить себе вызывать исключения: его самого, вероятно, вам придётся вызывать, если вы надеетесь программно обработать какие-то исключения. Следовательно, деструктор уже должен быть готов обрабатывать исключительные ситуации.
Посмотрев на это вот безобразие, пришло в голову (шляпа слетела, да): до какого же идиотизма докатилось написание мини-рецензий?
Все вот эти “сценарий писал АБВ (День одинокого кролика, Дважды два, Лысый), музыку сочинял ГДЕ (Проклятие чёрной горы, Школа, Прыжок в никуда), камеру держал ЖЗИ (Семь станций, Паника в почтенном семействе)”.
Упоминать работы авторов в рецензии стоит только тогда, когда:
1. Их имя никто не знает.
2. У них есть работы, которые все знают, и немедленно! Немедленно! Падут ниц, услышав их название.
Кроме того, количество. В одной рецензии может быть одна, максимум две ссылки на предыдущие работы. Ведь смысл как раз в их исключительности! “Да, звучит не слишком внушительно, но снимал-то сам Хидеаки”! Иначе говоря, рецензент восхищается каким-то конкретным, полюбившимся творцом.
Когда рецензент тупо перечисляет всех, кто участвовал в создании кино, это напоминает какую-то плаксивую рекламу. “Ну купите наш товар! Не за то, так хоть за это! Не за пятое, хоть за десятое! Режиссёр плохой, зато какой звукооператор! Уборщица какая у съёмочной группы была! Ещё при съёмках Евы убиралась.”
Если б я хотел читать энциклопедию, я бы открыл энциклопедию. Читая рецензию, я надеюсь на нормальную человеческую речь.
The Day of Saggitarius
Перфекционисты перфекционировали-перфекционировали, да так и не выперфекционировали. Вот вам ещё рассказ Харухи:
Так повелось, что к каждому рассказу я добавляю хитрую теорию о мире Судзумии. Вот ещё одна. Кён много раз упоминал в рассказах, что Коидзуми фанатик настольных игр, но совершенно не умеет в них играть. Давайте задумаемся: а как же так? Scheming bastard Коидзуми, которому просто на роду положено мастерски играть в шахматы – постоянно проигрывает? Разве не научился бы он играть, учитывая, сколько он тренируется?
Коидзуми без устали приносит всё новые игры, чтобы проверять, что Кён по прежнему сохраняет эту свою странную способность его обыгрывать.
Аналогично и Асахина-сан. Она приносит всё новые чайные листья, и всякий раз даёт попробовать Кёну. Кён всегда отмечает, что не видит разницы, и что для него любой напиток, заваренный Асахиной-сан, одинаково прекрасен. Как можно не различать никакие сорта чая? Конечно, может быть, у Кёна просто странный вкус, но возможно и иное объяснение. Кён никогда раньше не пил диковинных приносимых Асахиной чаёв, и поэтому не знает, каким должен быть их вкус. Всё, что он может себе вообразить – это вариации вкуса того чая, который он пробовал. А поскольку мир вокруг подчиняется его подсознанию, то и чай становится ровно того вкуса, какого Кён ждёт.
Ха-ха
Что бы такого полезного там выложить? У меня есть гигабайт места и анлимит траффика. Торренты ко старым сериям?
Mirai Nikki
Бредовая, но захватывающая манга. Обычно я натыкаюсь на интересную мангу уже после того, как её экранизируют. Это исключение. Мираи никки, без всякого сомнения, экранизируют, и при капле удачи оно будет хитом, а я читаю уже сейчас, хе-хе-хе.
Сюжет такой.
Но на самом деле бога DEUS EX MACHINA нет. Его выдумал одинокий и нелюдимый главный герой Юкитеру. Однако богу пофиг, потому что он же бог. Так что дневники работают. Кроме того, у главного героя обнаруживается поклонница, Рена из Хигурашей. Она ходит за ним с тесаком и любит глазами. Её дневник документирует жизнь героя каждые 10 минут. Она сталкер с ножами. Но очень героя любит. Только его, всех остальных она убивает на всякий случай. У неё дома комната, в которую лучше не заходить. Там внутри те, кто уже зашли.
Да, я забыл сказать, что Остаться Должен Только Один. В качестве приза он станет богом. Но не все владельцы дневников плохие. Некоторые хорошие, и мечтают самоотверженно защищать слабых от сильных. (Опять же, слабых потом проще убить). Некоторые вообще не хотят быть богом. Но что поделать, жизнь заставила. Сталкер-Рена, например, хочет только жить в мире и согласии с любимым Юкитеру. Зачем он всё время убегает! Надо привязать его к стулу, чтобы не убегал. Ему самому так будет лучше!
Хостинг
Опытным путём установлено, что хостинг бывает двух видов:
1. Именитые надёжные хостеры, которые брать меньше 100 рублей в месяц считают ниже своего достоинства. Даже за ерунду. Даже за “просто пальчиком потрогать”. Деньги! На бочку! Неважно, что бесплатные неограниченные почтовые ящики можно заказать у гугла. У нас они стоят денег! Много денег! Ведь гугл не хостит сайты, а мы хостим. Монополия… Ах, как приятно звучит это слово… Ах, как… Простите, о чём это мы. В кассу, пожалуйста.
2. “Начальство сказало предоставлять хостинг, значит, предоставим хостинг. Все покупайте наш Хостинг! Наш Хостинг самый Лучший Хостинг! Клипарт с улыбчивым дядей не даст соврать. Наш сервер стоит у нас в серверной и круглосуточно поддерживается! На нём установлен LINUX SERVER. Регистрация under construction, но вы пишите на klienty@ultra-line-resheniya.ru, мы договоримся.”
Рассеянность
Хоть я и не умён как Холмс, но разделяю кучу его вредных привычек. Например, не могу запомнить всякие мелочи. Как говорил Холмс “в голове мало места, и незачем забивать его ерундой”. Хотя Холмс делал это специально, а я просто рассеян.
Ехал в лифте с соседской девочкой, не смог вспомнить, на какой ей этаж. Хотя мы соседи уже много лет, пусть и не особо знакомы. Пришлось, как идиоту, спрашивать. И это девочка, которую я в общем знаю! Каких-нибудь посторонних жильцов я могу вообще не отличить.
Забываю, естественно, обо всех возможных днях рождения и праздниках. Кроме Нового Года.
В новом коллективе всегда путаю фамилии и имена малознакомых людей. Очень долго путаю, до года и больше. В школе ненавидел дежурить и разносить тетради из-за этого. Хотя в лицо я прекрасно всех знаю и помню, кто есть кто.
Пока рак за пятки не укусит, не могу удержать мелочи в голове. Уже третью неделю иду в вуз с намерением взять там одну справку. А на обратном пути подстричься. А также купить два нужных учебника и папку для конспектов. Уже третью неделю обо всём забываю.
Об альтернативных способах ввода
Билл Гейтс любит гадать на кофейной гуще, предсказывая будущее. В последний раз он, кажется, заявил, что будущее за тачскринами. А вот как на самом деле:
Тачскрин – никогда и нигде не будет популярным средством ввода. Наши руки привыкли работать с объёмными предметами, которые можно ощупать, дёрнуть, нажать. Вазюкать ими по холодному стеклу – просто предел мечтаний футуриста-идиота.
Голос – тоже не будет. Печатать быстрее, чем диктовать. В общественном месте, да и дома, разговаривать неудобно. И вообще, клавишами управлять быстрее. Голос, однако, незаменим в играх – об этом я раньше писал, но пост искать лень.
Рукописный ввод – только для математических формул и нот.
Попытки перенести в компьютер “привычные” средства ввода (голос и рукопись) сродни попыткам выдалбливать на бумаге наскальную живопись.