2009-04-23
Больше трёх не собираться
2009-04-15
Кризисно-компьютерное
2009-04-13
И стройные ряды чеканят шаг туды-сюды...
2009-04-06
Portable Ubuntu
2009-04-02
О креационизме.
2009-03-21
2009-02-28
Kernel Mode Linux
2009-02-23
Советская армия
2009-02-13
Unix Time = 1234567890
2009-02-12
Кот в обезьяннике
2009-02-11
И там аварии...
2009-02-07
2009-02-02
Google как русский орфографический словарь...
2009-01-25
Липосакция
2009-01-21
Буквы на холсте
2009-01-20
Гурация
2009-01-19
Виста номер 7
- Инсталляция прошла вполне нормально. Легко поменять партиции при установке, а потом всё поставить. Никаких лишних вопросов. Удобно.
- Ноут не новый, Dell D600. Система не нашла драйверов ни для проводной сети, ни для беспроводной, ни для для звуковой карточки. Что за ёклмн! Драйвера от Висты должны подходить к W7. На сайте Dell ничего нет. И XP и Ubuntu на этот ноут ставятся без проблем.
- Разрешение экрана поставилось по умолчанию 1024x768, хотя родное будет где-то 1400x, но поставилось с clear-type, что смотрелось очень мерзко. Поменял без проблем, как только нашёл где. Непонятно, почему сразу не поставить нормальное.
- UI выглядит живым, нет "тормозного" вистовского ощущения. Может потому, что аэро не запустилось.
- Приятно пустой экран. Ни лишних кнопок, ни лишних панелей. Забыл посмотреть, можно ли, наконец, убрать с экрана корзину. (Знаю, что через реестр можно.)
- Какие-то "Libraries" вместо некоторых папок. Не понял чем libraries отличаются от folders.
- Цвета те же, сине-зелёные переливы. С ходу не нашёл, как выключить фоновую картинку. Можно поменять, но выключить на ровный цвет - не нашёл. Проглядел, наверное, кнопку.
- Теперь в task manager есть сервисы. Но размер занимаемой ими памяти посмотреть нельзя.
- В management console есть некая "performance". Интересная информация, но почему так далеко?
- Проверить на совместимость программ не смог из за отсутствия сети. Может завтра, перетащу через usb-ключ, хотя без сети - бессмысленно.
2009-01-14
HyperSpace, система instant-off.
2009-01-12
Нет OS для нетбука.
2009-01-06
Как это было. Рождественская сказка.
2009-01-05
Итоги прошедшего года
2009-01-01
Yellowstone
2008-12-31
2008-12-29
Сам писи!
2008-12-24
SFO
2008-12-12
Google chrome & native client
2008-12-09
Немного об истории и литературе.
2008-12-08
Рекомендую.
2008-12-07
Об истории, хронологии, литературе и психологии познания. Обо всём, короче.
2008-12-03
Прошлогодний San Francisco
2008-11-24
На коленке.
"Сделано на соплях", "сделано на коленке" -- эти две фразы я слышал неоднократно от разных людей, причём они имели при этом противоположные значения.
В устах одних это означало, что сделано на "низкоуровневом языке типа С", потому плохо, ненадёжно, опасно, непрофессионально, "home grown" или "home brewn". Часто такое слышал про Open Source Code. Обычно в контексте, что написано студентами-двоечниками, которые не могут найти нормальную работу. Правильное, профессиональное решение должно быть написано на защищённом высокоуровневом языке (C#, Java) и хранить данные в серьёзном месте, типа SQL сервера. Причём все данные, компромиссы не допустимы. Компромиссы вообще не допустимы, надо взять самые последние и мощные инструменты, и писать с их использованием. Остальное - на коленке.
В устах других - точно наоборот. Любой интерпретируемый или JIT-код в системе - признак непрофессионализма, люди используют от неграмотности, не могут освоить C/C++. Тоже про Windows: не могут освоить Unix. Приложение надо оптимизировать по максимуму, а любой лишний уровень не позволяет этого сделать. SQL вообще сложно оптимизировать, у него от версии к версии всё меняется. Поэтому надо написать всё самим на С/C++, все классы, протоколы и базу данных. Это круто и профессионально.
В принципе, обе точки зрения по своему правы. И я готов согласиться с доводами обеих сторон, когда обсуждается конкретный проект в конкретном случае. Но фразы эти не люблю. В них нет содержания, кроме оскорбления, в них снобизм и нежелание понять другую точку зрения.
2008-11-20
Picasa 3

2008-11-11
Another Canvas Test
Этот график считается и строится непосредственно в браузере. Оказывается, вполне возможно добавить скрипт в блог.
2008-11-10
Холст
2008-11-03
My Desktop
Несколько иллюстраций к предыдущему посту. Вот так выглядит мой домашний десктоп и вот так я работаю.
Это BBLean с открытым меню приложений и запущеным Google Chrome, в котором открыта персонализированная iGoogle. Мне, кстати, последняя понравилась. Вся информация в одном месте, почта, RSS, закладки (последние сконфигурированы открываться в новом табе, поскольку в Chrome закладки ещё не сделали). Кстати слева - столбик с иконками Quick Launch.
Те же и FAR. Это наиболее типичная конфигурация экрана, вероятно 80% времени.
Пара кадров с Visual Studio VS6. Я пользуюсь до сих пор 6-ой версией поскольку мне в ней нравится оболочка. Компайлер С++ в ней не супер, но, мне его хватает. Новые версии более громоздкие и менее удобные.
2008-11-01
Три PM-а под виндой занимались ерундой
2008-10-30
Мостик
2008-10-27
Written on the piece of junk
Subversion
Я уже давно поставил subversion на свой домашний сервер (Synology). Раньше я "догфудил" нашу внутреннюю систему, и она работала очень хорошо даже на netbook-е, но мне всегда хотелось, чтобы она работала на linux-сервере. Subversion оказалась очень удобной, особенно для персонального использования:
- Есть варианты для ARM-процессора, что позволяет использовать Slug (Linksys NSLU2), или Synology, или даже Nokia N800.
- Её можно сконфигурировать для работы через inetd, когда она не висит постоянно в памяти. При персональном использовании это наиболее удобный режим.
- Один сервер может работать с несколькими репозитариями. Что позволяет создать не хранить мух с котлетами. Один для моих проектов, сыну - свой, один - как backup для всяких my documents, один для временных вещей, которые потом будут удалены и т.д.
- Можно быстро загрузить репозитарий из файла и сохранить в файл. Я сделал скрипт и загрузил свои проекты вместе с полной историей.
- Tortose Svn - как оболочка очень удобна. Даже spell-checker с подсказками имён функций из текста. Супер.
- Очень удобно, что сервер не хранит состояние клиента. Это просто гора с плеч. Никаких read-only атрибутов, никаких "открыть файл для редактирования". Просто работаешь спокойно, переписываешь всё вместе куда хочешь, если надо, потом система разберётся сама, что изменилось. И не надо никаких плагинов к Visual Studio.
Короче, я этой штукой очень доволен. И вот что я подумал: нет никаких технических причин, по которым крупной компании нужна более мощная система. Фактически единственная причина - та же, по которой крупной компании нужен совет директоров и отдел кадров. Реально проекты должны разбиваться на мелкие функциональные части, которые вполне могут располагаться в малых серверах, где количество клиентов - это, по порядку величины, количество людей в команде. Команды периодически отправляют стабильные версии в вышестоящий сервер, где количество клиентов - порядка количества команд, и т.д. Сейчас это делается в крупных компаниях через ветки (branches), но нет особых причин, по которым все ветки должны располагаться на одном сервере. Я за децентрализацию.
2008-10-23
2008-10-20
Вчера на Snoqualmie Middle Fork
2008-10-14
Йцукенъ
2008-10-12
2008-10-09
Конец бумажных книг
2008-10-08
2008-10-03
Cloud OS
2008-09-26
Google Chrome - 20 дней спустя.
2008-09-22
Нижний Новгород - город контрастов.
2008-09-19
Для чего нужен Downtown?
2008-09-02
Google Chrome
2008-09-01
Пеньки на Keechelus Lake.
Почти все горные озёра - натуральные. Горные речки заливают впадину и получается озеро. Но уровень многих дополнительно поднят дамбой. Вода используется для орошения засушливой восточной части штата. Весной озеро наполняется талой водой, а за лето вода расходуется и озеро опускается до своего естественного уровня.
2008-08-31
Последствия снежной лавины
2008-08-26
Компьютерно-операционно-системное.
2008-08-24
Жирный пингвин робко прячет тело жирное в утёсах...
2008-08-23
2008-08-05
Мысль дня
2008-08-04
О хлебе насущном.
2008-08-02
Корпоративные игры.
Фабрики производят массовый товар, выполняя функцию клонирования. Программисты должны, в принципе, писать уникальный код, ибо стоимость прямого клонирования нулевая. Но модель продажи построена на старых традициях материального производства, поэтому нулевая по себестоимости функция клонирования оплачивается реальными деньгами, и эта особенность приводит к тому, что компания однажды завоевавшая рынок, может больше вообще ничего не производить, продавая копии уже сделанного. Рынок информационного продукта в силу ряда причин любит сиквелы и версии того же самого, что работает на ту же тенденцию. Обычно мелкие изменения и исправления багов достаточны для продолжения продаж. Покупатели не требуют прорыва и изменений. "Мы только-только разобрались в предыдущей версии, не надо нам нового API, сделайте просто чтобы старый работал, и всё."
А люди сидят, им надо расти, делать карьеру. Чем же они заняты? Корпоративными играми. Они играют в производство, в карьеру, в перспективные исследования и разработки, в новые методы производства и системы управления персоналом. Сотрудники делают супер-пупер продукт следующего тысячелетия, проводя бессонные ночи над переписыванием всего кода на новый язык или новую платформу, и ничего при этом не выпуская. А когда кто-то вдруг потребует выпустить что-нибудь, чтобы оправдать расходы, можно быстро повырезать весь новый сомнительный креатив и выпустить почти то же самое, что было, слегка перекрасив. Начальник сделает умное лицо и скажет, что мы потратили миллиарды на разработки и исследования и выпустили продукт много лучше, чем все остальные наши продукты. Блогеры и журналисты скажут WOW! Хакеры расскажут о способе вернуть старую раскраску и привычные функции. Все будут довольны.
Но только до тех пор, пока неумолимое движение прогресса не сделает этот супер-успешный продукт никому не нужным или выскочка-конкурент не напишут вдруг что-нибудь на порядок лучше и удобнее. Но даже и тогда, агония будет долгой, движение прогресса неспешно, инерция потребителей велика, супер доход от копирования позволит уничтожить конкурента или, в конце концов, попытаться завоевать новый рынок.
И тут-то и будет поджидать засада. Забыли! Разучились! Забыли как выпускать. Разучились писать исходя из здравого смысла, из проблем потребителя, быстро и эффективно. Начальство продолжает играть в игры, в карьеры, строить супер-пупер стратегии. Внедрять технологии и бизнес-процессы. Управлять персоналом. И потому не получается захватить новый рынок. Остаётся подождать, пока конкурент тоже начнёт деградировать от своих внутренних игр. И там, в будущем, мы ещё посмотрим, кто победит в финальной схватке гигантов. Если сумеем вспомнить их имена.
2008-07-29
Synology
2008-07-25
2008-07-23
Переключение раскладки в Windows с помощью Caps Lock.
В Windows поменять кнопку, конечно же, нельзя. А написать свою программу можно, но лень. Кроме того, API для этого довольно странный. Например, раскладка в Windows есть не свойство Desktop, как бы логично было предположить, а персонально свойство каждого thread в системе. Потому переключатель должен внедрить DLL в каждый поток каждого процесса, имеющего окна.
Оказалось, однако, что всё уже, в принципе, сделано, и можно найти, если поискать. Есть такая программа "The Microsoft Keyboard Layout Creator". В ней можно создать свою раскладку клавиатуры и Caps Lock в ней - одна из клавиш состояния, наряду с Shift и Alt-Gr. Вот эта раскладка!
Инструкция по установке такая:
1. Поставить creator и скачать раскладку (может потребоваться проверка подлинности Windows, как обычно для сайта MS).
2. Загрузить второе в первое.
3. Пойти в меню Project и выполнить "Create DLL and setup package."
4. Проигнорировать предупреждения.
5. Когда откроется каталог со сгенерированными файлами, запустить из него setup.
6. Пойти в Control Panel туда, где ставятся кнопки переключения раскладок, и выбрать новую раскладку раскладкой по умолчанию для английского языка (!!!). Новая раскладка универсальна, и содержит и кириллицу и латынь.
7. Можно выключить старые кнопки переключения на русский, во избежании путаницы.
8. Всё, можно наслаждаться.
Утверждается, что некоторые старые программы могут не понимать русские символы, введённые таким образом. Я пока такого не встречал.
Update: Сгенерированные драйверы можно загрузить здесь. Это zip-архив с инсталлятором. Его надо распаковать во временный каталог и перейти сразу к пункту 5.
N.B.: Переключение раскладки глобально в системе и не запоминается для каждого окна. Это свойство данного метода и мне лично оно очень нравится.
N.B.: Caps Lock не переключает ни раскладку, ни текущий язык. Он лишь является модификатором внутри раскладки, так же, как, например, и Shift, и заставляет клавиатуру генерировать другие коды. Оказалось, что Microsoft Word использует информацию о текущем языке, чтобы установить правильную проверку правописания. Так что с приложениями Офиса возможны некоторые проблемы.
Update: Я сделал аналогичную раскладку для OSX.