Обновляемся до MacOsX 10.5.5

Сентябрь 29, 2008 by bthemad

Если, вдруг, кто не знает, то последняя версия макоси сейчас это 10.5.5 Став счастливым обладателем установленного хакинтоша версии 10.5.2, я обнаружил, что софт, ради которого я и затеял всё это безумие, требует минимум 10.5.4.
Это вселило в меня некоторую печаль. Особенно после того, как я узнал, что обновиться до нужной мне версии на AMD малореально.
Благо, буквально на позавчера был выпущен iDeneb v1.3, который я “бысто” слил с Demonoid’а, параллельно читая неутешительные комментарии о том, что всё плохо и на AMD он не ставиться и вообще нифига для них не предназначен.
Буквально потеряв всякую надежду, я всё-таки залил его на диск и начал уже приевшийся мне процесс установки =) Инсталлер отличается незначительно, зато вот при выборе дров ничего не было проставлено по-умолчанию, ну да я уже разбирался что к чему.
Поставилось всё со второго раза =) Я использовал:

  • sleep-kernel-9.2 (проверенное ядро)
  • AMD patch
  • Azalia Sound (2ch. sound)

Всё.  Никаких дров под видюху или сетевую я не ставил, зная, что они всё равно работать не будут. Установилось всё бодро, но вот загружаться не захотело. Залипало где-то посередине выдавая невразумительные сообщения. Спасла опция “-x”, которая загружает систему в Safe Mode. Набирая при каждой загрузке этот флажок, я установил дрова на сетевуху и видеокарту. С помощью тех же танцев, которые я описывал в предыдущей заметке. После установки дров на видюху, MacOsX загрузилась нормально. И теперь нормально работает. Правда, в процессе загрузки драйвер сетевухи жалуется, что моя карта не поддерживается…но это не мешает ему работать =)
Теперь надо только перенакатить GRUB, чтобы всё вернулось на круги своя. А сделать это до безобразия просто =) Загружаемся с live-(cd|dvd) (я грузился с kubuntu), открываем консоль и пишем:

sudo grub
grub> find /boot/grub/stage2
(hd0,2) - ответ grub
grub> root (hd0,2)
grub> setup (hd0)
grub> quit

Тут я думаю, все смогут разобраться, что команды root и setup принимают те аргументы, которые выводит нам find.

Ubuntu 8.10, WinXP, MacOS X 10.5 на одном hdd.

Сентябрь 27, 2008 by bthemad

По ряду сложных причин мне понадобилось установить OS X. Учитывая, что Apple вот-вот должна обновить свою линейку ноутов, я решил подождать с покупкой и поэкспериментировать пока с хакинтошем. Благо информации в сети навалом и рапорты об успешных установках на системы подобные моей я встречал. Сама система представляет собой следующее скопление железок:

  • AMD Athlon 64 3800+
  • ASUS M2NPV-VM
  • OnBoard Video NVidia 6150
  • OnBoard Audio
  • 160GB IDE HDD
  • 1GB RAM

Такая довольно-таки старая и бюджетная конфигурация. Но довольно банальная, и это мне сильно помогло гуглить.

План установки прост до безобразия. Чтобы все три системы установились и начали работать без особых шаманств, лучше ставить их в следующем порядке:

  1. WinXP
  2. MacOS X
  3. Ubuntu

Объясняется этот порядок порядочностью систем по отношению к MBR и возможностям их загрузчиков. Диск пришлось форматнуть начисто, для того, чтобы разбить его в соответствии с новыми смешными требованиями. Возможно, всё могло бы быть проще, но я поступил именно так. Диск разбивается следующим образом:

  1. Primary NTFS (WinXP)
  2. Primary FAT32 (MacOS X)
  3. Extended ext3, swap (Ubuntu etc.)

Т.е. для винды и макоси лучше создавать Primary партиции, тогда как Ubuntu фиолетово куда ставиться, и ему я отдал Extended. Причем хитро создал раздел /home в конце партиции, чтобы при желании можно было его без проблем отресайзить и выделить место под что-нибудь ещё =)

Винда ставиться первой, прописывает себя в MBR и живет спокойно. Здесь подводных камней, надеюсь ни у кого не возникало. Далее в ход идет dvd с Kalyway 10.5.2 (выбор совершен после анализа числа установок).

Грузимся с диска, запускается установщик. Лезем в меню и выбираем тулзу для работы с дисками (Utilities -> “Disk Utilities”). Выбираем наш второй раздел (Primary FAT32), выбираем Erase и выбираем “Mac OS Extended Journaled” в качестве файловой системы и называем партицию как-нибудь простенько, типа “macosx”. Просим всё почистить (5 секунд) и закрываем приложение. Проваливаемся обратно в установщика и нажимая “далее” выбираем нашу недавно-созданную партицию. Теперь главное не нажать “установить”, а ткнуть на кнопку “Customize”. Здесь нашему вниманию представиться всеобразие драйверов/ядер/приложений/патчей. И именно от этих галочек зависит запуститься ли OS X =) Некоторые подбирают их по 15 установок. Мне понадобилось всего 5 (пять)! =)

Если вы являетесь счастливым обладателем процессора AMD, то надо очень внимательно просмотреть всё дерево и поставить галочки. Помимо тех, что были поставлены изначально, я выставил следующие:

  • NVinject (первый)
  • SSE2_Jas1048_ACPI_APIC (may or not work) (все)
  • AMD_1052_Patches (select patch 1 or patch 2)
    • AMD_1052_Patch_test_2
    • -legacy flag

Пока я нашел этот правильный список, дальнейшее желание экспериментировать у меня как-то пропало, поэтому всякие TimeMachine меня не привлекли =)

Всё. Теперь можно нажать “Установить” и отправляться пить чай где-то на полчаса. Только надо отследить и вовремя вытащить dvd, чтобы не грузиться в него по второму разу. OS X вежливо воткнет свой загрузчик в MBR, пропишет в него WinXP и вуаля, у нас есть 2 системы. Правда OS X надобно ещё попилить =)

А пилить есть что… Леопард, конечно запустился, но out of the box не работали следующие вещи:

  • Видео только 1024х768 и надпись “IGPU family not mathced” при загрузке
  • Интернета нет, ибо нет сетевой карты =)

Вот это и будем допиливать. Для начала разберемся с инетом, ибо без него жизнь не мила =)

Учитывая, что чипсет nForce как-то не сильно в почете у Apple, драйвера какбэ существуют, но их какбэ и нет. Начинаюстя танцы с бубном. Вообще надо отдать должное первопроходцам и искателям решений, ибо решения, мягко говоря, не очевидны =) Итак, по шагам:

  1. Идем на InsaneMac, если вы ещё не там =)
  2. Находим и качаем forcedeth_0.3_leopard.zip и nForceEthernetController.kext.zip
  3. Распаковываем (в OS X) их и пыщьнув правой кнопкой мыши выбираем “Show package content” или что-то вроде того. Пыщьать надо на файлах nForceEthernetController.kext и ./force.../build/release/forcedeath.kext
  4. Аккуратно просматривая состав пакета, находим файлик Info.plist Он встречается по два раза в каждом из пакетов. Открываем его в любом редакторе (TextEdit, TextMate).
  5. Это xml-файлы. Добавляем в элемент “IOPCIPrimaryMatch” строку “0×026910DE” (это ID нашего устройства, чтобы совпало). Сохраняем все 4 файла в этих же пакетах.
  6. Далее находим, скачиваем, устанавливаем Kext Helper, который повзолит нам просто и безболезенно устанавлить эти драйвера.
  7. Перетаскиваем на него сначала forcedeath.kext, вбиваем пароль и пыщьаем “установить”. Он рапортует об установке и предлагает скрестить пальцы и перегрузиться. На этом счастливом моменте леопард обнаруживает нашу сетевуху, предлагает настроить её и зависает намертво. Ресетим его.
  8. Далее мы можем словить kernel panic. А можем и не словить (у меня не было =) Но всё ж лучше грузить леопард в Safe Mode (для этого при загрузке надо набрать “-x”)
  9. Загружаемся, и удаляем файлик forcedeath.kext из /System/Library/Extensions самым наглым образом =) Т.е. тащим в корзину.
  10. Опять грузим Kext Helper и перетаскиваем на него второй наш драйвер nForceEthernetController.kext Опять скрещиваем пальцы и вот тут (!!!) очень важный момент. Надо не просто перегрузиться. Надо…
  11. Выключить компьютер и отсоединить его от сети.
  12. Это настолько важный момент, что я его даже выделил. Потому что без этого может ничего не заработать. У меня, например, карточка какбэ в системе присутствовала, но по DHCP получала что-то непотребное и даже до роутера я не мог достучаться.
  13. Интернет появляется =)

Теперь начинаем пилить видео. Наши 1024х768 и надпись IGPU family not mathced какбэ говорят нам, что карта наша встроенная несчастная nVidia 6150 с шареной памятью маком была проигнорирована. И он перешел в наиболее безопасный и общий режим. А всё потому, что маки используют интеловские карты с шареной памятью, а не nVidia. И вообще, все пришли к выводу, что чтобы заставить эти видюхи функционировать правильно, надо свои дрова писать. Очень неприятный момент =) Но кто-то вновь изобрел танец, благодаря которому можно получить нормлаьное разрешение. Правда не будет никаких qe/ci (это такие штуки, чтобы было красиво), но работать вполне можно. Вот стенография танца:

  1. Грузим MacVidia 1.0.81 (разработка прекращена, поэтому рапидШара)
  2. Бэкапим всё из папки /System/Library/Extensions типа Geforce*.kext и NV*.kext
  3. Ставим MacVidia, но не перегружаемся.
  4. Открываем терминал, идем в /System/Library/Extensions, пишем sudo mkdir NVBack, sudo mv ./NV*.plugin ./NVBack, sudo mv ./NV*.bundle ./NVBack
  5. И вот теперь уже перегружаемся.

Таким образом, мы получаем в пользование разрешения выше 1024, и никаких больше IGPU family not mathced на загрузке. Правда резковато всё выглядит.

Теперь, когда OS X у нас функционирует почти в полном объеме, осталось доставить Ubuntu. Хотел я побаловаться с Kubuntu, да что-то раздумал. Ubuntu ставиться привычным образом и благополучно добавляет WinXP в menu.lst для grub’а (да, всё ж это самый лучший загрузчик =)

Ну а нам остается только дописать в это меню MacOS X:

title Mac OS X
rootnoverify (hd0,2)
makeactive
chainloader +1

Et voila! У нас есть три системы, которые вполне себе успешно грузятся и работают. И да, кстати, установив Ubuntu 8.04, я не удержался и вписал sudo update-manager -d, получив 8.10 Намного лучше, чем год назад, надо сказать. Всё работает и функционирует =)

Ну и напоследок пара ссылок на ресурсы, где все танцы уже описаны и запротоколированы, если, конечно, вы не являетесь обладателем самопального железа или каких-то экзотических комплектующих =)

ПКМГ. rsync по ssh для обновления сайта.

Сентябрь 14, 2008 by bthemad

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

CIS - continuous integration server

Начинать придется с этой малопонятной штуки. Насколько я понял из русской и английской (лучше) Wiki эту штуку придумали незабвенные Фаулер с Беком. Где-то на рубеже веков. Придумали для всеяЫнтерпрайзЖавы, но идея ожила и распространилась дальше. Даже книга на русском есть.

Честно скажу, этой штукой я займусь не скоро, но уж больно интересна идея. Хорошие обсуждения можно найти на форуме по гибким методологиям, где идут очень интересные обсуждения, заставившие меня почувтсовать, что я работаю в детском саду, а не в девелоперской конторе ;)

Но для начала я вытащил из всей этой идеи Phing. Те, кто работал с всеяЫнтерпрайзЖабой, знают, что есть такая штука, как Ant. Это такой трудолюбивый муравей, которого создали люди, считающие, что xml намного понятнее, чем файлы make. В двух словах, он нужен для того, чтобы билдить из исходного кода то, что можно потом задеплоить. Вы ещё здесь? =)

Так вот меня этот Phing здорово зацепил, ибо я всегда любил всё автоматизировать. Ведь однажды обученный компьютер ошибается гораздо реже, чем человек. Надо просто объяснить ему что делать =) В принципе, у нас в пыхоРазработке не сильно много проблем, не то что в ынтырпрайзЖабе. Но тоже хватает. И среды dev/prd отличаются, и изменения в DB надо учитывать, короче, есть где развернуться автоматизатору. Можно держать все изменения в голове и обновлять только нужные файлики, а базы обновлять одновременно. Можно вообще на prd разрабатывать =) Но не зря же мы svn используем и вообще пытаемся отмыться от приставки “быдло” в слове кодинг =)

Временным решением пробдем с конфигами и прочими паролями к БД может быть привязка к рабочей директории. Об этом хорошо писал Кузьма Феськов в последнем PHPInside. Где-то год назад. Костыль, но всё ж лучше, чем каждый раз вспоминать, что не надо заливать разработческий конфиг на продуктивный сервер =)

Далеко меня уже занесло, постараемся вернуться назад. Итак. План теперь таков:

  1. Пишем код, тестируем, отлаживаем. Добиваемся работоспособности.
  2. Коммитим в svn
  3. В post-commit hook вызываем phing
  4. Phing пакует наш проект в продуктивный вид, заменяя файлики конфигов, убирая ненужные всякие фишки svn и Eclipse.
  5. Лезем (не сами, скриптом) на продуктив. Пакуем текущую версию сайта в архив. Сливаем себе.
  6. Заливаем изменения с помощью rsync over ssh.

По-моему неплохой план =) первые 2 пункта уже вроде как отлажены. Осталось разрбраться с остальными. Так как сегодня вечер воскресенья, пришлось взять самый маленький и скучный шестой пункт =)

Rsync over ssh

Ну наконец-то. Процедура беспарольного соединения с удаленным сервером обсосана уже вдоль и поперек (да, именно так =) на просторах инета и рунета. Например, здесь.

А дальше чистая bash-магия, которая выглядит вот так (подсмотрено здесь, одна строка!):
rsync -zrptL --delete-after -e "ssh" /local/folder/ remote-server.ru:/remote/folder

За разъяснениями - в man или источник. Только будте аккуратны. Оно удаляет без права переписки. Именно поэтому я хочу для начала бэкап наладить, а потом уже это использовать это заклинание =) Кстати, обращайте внимание на слэшики в конце путей. Они важнее, чем вы думаете.

Именно за это я люблю *nix. Весь вечер ты читаешь маны, бродишь по сайтам, читаешь чуть ли не китайские форумы. Зато потом одной строкой ты захватываешь мир. Продложение следует.

Клавиатуры Apple. Доработка напильником.

Сентябрь 14, 2008 by bthemad

Разумеется, сами клавиатуры я не допиливал =) Чуть пришлось повозиться с тем, чтобы они нормально работали. Но всемогущий гугл подбросил несколько полезных ссылок и всё было довольно просто.

Apple Wireless Keyboard и Windows

Для начала, я разобрался с беспроводной красавицей на работе. Для повторений моих действий стоит пройти ссылке.

Эта статья посвящена работе кнопочки Fn, которая совершенно не спешит работать под Windows. Для обеспечения её работоспособности, умные люди написали скрипт к хорошей программе и создали .dll-файлик. Вообще, работа проделана колоссальная. Видимо, не одному мне эти клавиатуры нравятся =)

Ещё один хороший человек попытался создать вариант для ленивых, но у меня он не завелся. Может, что-нибудь не так делал =)

После всех манипуляций, клавиатура отлично работает и понимает заданные hot-key’и.

Есть, правда, ещё один вариант. Думаю, многие знают про BootCamp. Т.е. Apple обеспечивает своему железу работоспособность под Windows. Следовательно, есть драйвера. Правда есть они только на дисках с Leopard и достать их просто так не получается. Но в очередной раз нашелся добрый человек, который всё сделал за нас. Только вот экспериментировать я с ними не стал. Во-первых русского языка почему-то нет (но это, я думаю, решаемо), а во-вторых если всё работает, то лучше не чинить =)

Apple Wired Keyboard и Ubuntu 8.04

С проводным вариантом под убунтой было ещё меньше проблем. Всё подхватилось и работает. Правда, кнопки F1-F19 работали в инвертированном режиме. Т.е. не как кнопки, а как замапленные на них медиаКоманды. Решение этой проблемы хорошо представленно даже в рунете. Правда медиаКлавиши после этих махинаций не работают, но они мне и не нужны =)

Apple Wireless Keyboard для PC.

Сентябрь 9, 2008 by bthemad

Давно являясь латентным маководом, сидя под убунтой дома и используя винду на работе (не по своей воле ;), я тем не менее давно раздумываю над покупкой MPB. Сегодня Стив, возможно представит нам новую линейку MPB или не представит, там посмотрим.

В силу стремления к покупке, частенько почитываю ru_macsale и буквально вчера наткнулся на выгодное предложение пары эпловских клавиатур, которые были привезены из Амереки и не понадобились. Т.к. печатаю я вслепую, русские буквы мне совершенно не принципиальны, поэтому сегодня, пробираясь под дождем, я притащил обе клавиатуры на работу.

Беспроводную я планировал использовать с рабочим ноутом, ну а проводную использовать дома. И вот настал момент истины. Т.е. привязки эпловской клавы к рабочему ноуту HP. Накануне, поизучав форумы и гугль, я пришел к выводу, что проблемы будут, но всё разрешимо ;)

Собственно, так и случилось. Коннектиться она не хотела вообще никак. Точнее, это такой изысканный баг. Предлагает вводить ключ для создания пары, не показывает его и ни на что не реагирует. Так ведет себя встроенный HP’шный блутус с применением драйверов widcomm 5.1.0.2900.

Решений было предложено несколько (большой тред). Я перепробовал всё подряд, поэтому не знаю, что в итоге привело к победе =) Но куммулятивный эффект налицо.

Учитывая, что ноут у меня старый (compaq nx8220), обновлений HP для него не выпускает. Поэтому проблема решилась скачиванием драйвера версии 5.1.0.3400 с (sic!) рапидшары. Не смотря на все опасения, всё прошло гладко и сейчас на ней я и печатаю эту заметку. Если к тому времени, как до этой статьи доберется кто-нибудь страждущий, ссылка уйдет - пишите мне, я куда-нибудь залью это самый драйвер.

Самая магия, кстати, состоит в том, что, когда вам предлагают вводить циферки для сопряжения, вводить их надо на другой клавиатуре. А вот энтер жать на маковской. Вот это реально снесло мне башню =)

Перевод с птичьего.

Август 25, 2008 by bthemad

Ещё одна копи-паста. В свое время наслаждался этим текстом, вот пришлось на днях вспоминать =)

Инструкция для читателя научных статей

Во всех основных разделах современной научной работы - во введении, изложении экспериментальных результатов и т. д. - встречаются традиционные, общеупотребительные выражения. Ниже мы раскрываем их тайный смысл (в скобках).

Введение

“Хорошо известно, что…” (Я не удосужился найти ссылку на работу, в которой об этом было сказано первый раз.)
“Имеет огромное теоретическое и практическое значение”. (Мне лично это кажется интересным.)
“Поскольку не удалось ответить сразу на все эти вопросы…” (Эксперимент провалился, но печатную работу я все же сделаю.)
“Был развит новый подход…” (Бенджамен Ф. Мейсснер использовал этот подход по меньшей мере 30 лет тому назад.)
“Сначала изложим теорию…” (Все выкладки, которые я успел сделать вчера вечером.)
“Очевидно…” (Я этого не проверял, но…)
“Эта работа была выполнена четыре года тому назад…” (Нового материала для доклада у меня не было” а поехать на конференцию очень хотелось.)

Описание экспериментальной методики

“При создании этой установки мы рассчитывали получить следующие характеристики…” (Такие характеристики получились случайно, когда нам удалось, наконец, заставить установку начать работать.)
“Поставленной цели мы добились…” (С серийными образцами вышли кое-какие неприятности, но экспериментальный прототип работает прекрасно.)
“Был выбран сплав висмута со свинцом, поскольку именно для него ожидаемый эффект должен был проявиться наиболее отчетливо”. (Другого сплава у нас вообще не было.)
“…прямым методом…” (С помощью грубой силы.)
“Для детального исследования мы выбрали три образца”. (Результаты, полученные на остальных двадцати образцах, не лезли ни в какие ворота.)
“…был случайно слегка поврежден во время работы…” (Уронили на пол.)
“.. .обращались с исключительной осторожностью…” (Не уронили на пол.)
“Автоматическое устройство…” (Имеет выключатель.)
“…схема на транзисторах…” (Есть полупроводниковый диод.)
“…полупортативный…” (Снабжен ручкой.)
“…портативный…” (Снабжен двумя ручками.)

Изложение результатов

“Типичные результаты приведены на…” (Приведены лучшие результаты.)
“Хотя при репродуцировании детали были искажены, на исходной микрофотографии ясно видно…” (На исходной микрофотографии видно то же самое.)
“Параметры установки были существенно улучшены…” (По сравнению с паршивой прошлогодней моделью)
“Ясно, что потребуется большая дополнительная работа, прежде чем мы поймем…” (Я этого не пони-маю.)
“Согласие теоретической кривой с экспериментом: Блестящее… (Разумное…) Хорошее… (Плохое…) Удовлетворительное… (Сомнительное…) Разумное… (Вымышленное…) Удовлетворительное, если принять во внимание приближения, сделанные при анализе…” (Согласие вообще отсутствует.)
“Эти результаты будут опубликованы позднее…” (Либо будут, либо нет.)
“Наиболее надежные результаты были получены Джонсом…” (Это мой дипломник.)

Обсуждение результатов

“На этот счет существует единодушное мнение…” (Я знаю еще двух ребят” которые придерживаются того же мнения.)
“Можно поспорить с тем, что…” (Я сам придумал это возражение, потому что на него у меня есть хороший ответ.)
“Справедливо по порядку величины…” (Несправедливо…)
“Можно надеяться, что эта работа стимулирует дальнейший прогресс в рассматриваемой области…” (Эта работа ничего особенного собой не представляет, но то же самое можно сказать и обо всех остальных работах, написанных на эту жалкую тему.)
“Наше исследование показало перспективность этого подхода…” (Ничего пока не получилось, но мы хотим, чтобы правительство отпустило нужные средства.)

Благодарности

“Я благодарен Джону Смиту за помощь в экспериментах и Джону Брауну за ценное обсуждение”. (Смит получил все результаты, а Браун объяснил, что они значат.)

Источник

Будо офис-самурая.

Август 24, 2008 by bthemad

Собственно дальше идет копи-паст этого довольно знаменитого текста. Просто, чтобы не искать всё время и сходу давать ссылку молодым самураям =)

Люди низкого положения полагают, что путь офис-самурая это его путь в офис. Следует со снисхождением относиться к их незнанию. Люди выского положения полагают, что путь офис-самурая это путь карьеры. Следует с сочувствием относиться к их заблуждениям.
Путем долгих размышлений я постиг, что путь офис-самуая это путь увольнения.
***
Следует ежедневно размышлять об увольнении. Просыпаясь, думай об увольнении, засыпая-предавайся размышлениям об увольнении. Только избыв страх потерять работу ты выпрямишь свой карьерный путь. В увольнении нет бесчестья, люди низкие и трусливые трясутся за свое место, у офис-самурая же не место, но путь. Следовать пути надлежит решительно и бесстрастно
***
Ольга, жена владельца «Планеты Мебель», размякнув после хорошего секса с молодым любовником, поведала ему, что настоящую свободу она почувтсвовала, только когда доход в семье перевалил за 10 тысяч долларов на человека. У любовника ее, человека невыского ранга и недалекого, от этих слов случилось разлитие желчи. Воистину, невежество ведет к страданиям! Офис-самурай должен понимать, что для настоящей свободы человеку вообще ничего не надо, кроме трехсот баксов.
***
Мобильник офис-самурая всегда должен быть включен. Ни при каких обстоятельствах недопустимо разряжение аккомулятора. Это бесчестье. Мобильник это полифонический меч в твоих руках. Мобильник это поводок, который ты смиренно вручаешь всему миру.
***
Благополучие мнимо и преходяще. Презрение к лишенным благополучия-недопустимо. Андрей из «Лукойлморнефтегаза», выпив лишнего, прогуливался со своей девушкой. Повстречав группу молодых людей, нохавших пары растворителя из банки, со смехом сказал своей спутнцие,- что за люди! у них наверно даже мобильника нет! За что его мало того что избили и отобрали мобильник, ему еще и девушка не дала, потому что грубиян. Следует помнить, что тебя отделяет от инвалидности лишь 5 минут и два прута от арматуры. Чем ты лучше?
***
Свобода это рабство. Война это мир. Незнание сила.
***
Некоторые неправильно полагают, что восхваление себя вредит и никого не украшает. Мы думаем иначе.
***
Всегда следует улыбаться, когда начальник шутит. Смеятся же над шутками босса- непристойно и выдает мелкую душу. Мужчины, льстиво смеющиеся- трусы. Женщины, льстиво смеющиеся- распутницы.
***
Драться за дело, которое обречено на провал есть высшая честь офис-самурая.
***
Сергей из «Сигма-Плюс» был нерадивым работником и вызвал неудовольствие своего начальника. Тот приказал ему уволиться по собственному желанию. В день, когда должно было произойти увольнение, Сергей поил весь офис коньяком, выказывал прекрасное расположение духа и в заявлении по собственному вписал несколько забавных историй с anekdot.ru, чем немало повеселил хозяина. Вот пример достойного поведения! Даже плохой слуга может уволиться с честью.
***
Хотя офис-самурай должен прежде всего чтить Дазайбатцу-до, не вызывает сомнений, что все мы небрежительны. Поэтому, если в наши дни спросить: “Какого вообще нах?”, лишь немногие ответят без промедления. А все потому, что никто заранее не готовит себя к ответу на такие вопросы. Это свидетельствует о том, что люди забывают о Пути.
Небрежение опасно.
***
Люди полагают, что много рассуждая о сложных делах, они могут разобраться с ними. Но этим они только увеличивают количество ложных мыслей. Однако, если разбираясь с делом ты не думаешь о нем, но помнишь, что у тебя есть График, решения твои молниеносны, а суждения верны. Следует заранее иметь ответы на важные вопросы. На неважные вопросы ответов иметь вообще не следует.
***
Ошибочно считать, что чем дольше ты думаешь о запланированных тратах, тем более удачные варианты ты найдешь. Много думая, ты только увеличишь количество глупости. Все решения о покупках должны приниматься за семь вдохов и выдохов.
***
Женщина, даже с глубокими познаниями в сфере анализа рынка ценных бумаг, не перестает быть сексуальным обьектом. Следует ненавязчиво и доброжелательно напоминать им об этом.
***
Будущее-пустота неслучившегося. Такой же пустотой следует делать и прошлое. Немало офис-самураев жестоко поплатились за неудаленную вовремя смску или непотертый документ Word на рабочем столе. Вытирай следы.
***
Офис-самурай жует жевачку, даже когда зубная щетка под рукой
***
Всегда следует брать от людей лучшее. У одного возьми ум, у другого вежливость, у третьего деньги.
***
Сохранять лицо очень важно. Если твое лицо всегда исполнено достоинства, это внушает другим работника рвение и избавляет тебя от докучливого любопытства. Поэтому о чем бы ты там не трандел в аське, лицо твое должно оставаться сосредоточенным и бесстрастным.
***
Я видел немало постыдных примеров грубого обращения с официантками и продавщицами. Это достойно сожаления. Надо помнить, что работники сферы обслуживания- это добрые роботы. Они лишены человеческой природы и обсчитывают вас исходя из неодолимого требования вложенных инструкций. Свои эмоции и переживания следует поберечь для бытовой техники.
***
В пределах текущего рабочего дня нет ничего помимо текущего рабочего дня.
***
В наши дни многие молодые люди скачивают непристойные картинки из всемирной сети. Это достойно сожаления, и говорит нам о лености ума. Следует тренировать фантазию. Практикуясь в онанизме, используй силу воображения
***
Сказано, что следует стремиться к простоте. Также сказано, что следует стремиться к сложности. В этом нет противоречия. Сложность офис-самурая это сложность его вещей. Так ты открыт миру. Ты это то что ты есть. Ты это твой костюм, твой мобильник, твой паркер и твой ноут. Внутри есть место лишь для пустоты. Древние говорили, что только достигнув чистого и незамутенного взгляда, ты постигнешь Путь и паркер не дрогнет в твоей руке.
***
Когда слушаешь анекдоты старших и состоявшихся людей, следует слушать с глубоким вниманием, даже если они говорят об уже известных тебе вещах. Если, услышав какую-то историю в десятый или двадцатый раз, ты вдруг поймешь для себя что-то новое, то это будет момент истины. И ты рассмеешься.
***
Нет сомнения, что сила духа очень важна. В этом сходятся и Кензо, и Пака Раббана, и Дживанши.
***
Известны случаи, когда даже с оторванной головой солдат делал несколько шагов. Воля и твердость офис-самурая должны быть безупречны. Даже уволенный, офис-самурай способен подать бизнес-идею.
***
Виктор из «Стайл-Дизайн» рассказывал историю, как один пожилой офис-самурай из комитета по землепользованию призвал к себе сыновей и поведал им, что слышал о человеке, сумевшем выиграть в тетрис. Этой историей он хотел воспитать с детях волю к победе. Но сыновья лишь рассмеялись непочтительно и сказали, что в тетрис выиграть невозможно. Тогда отец в гневе лишил их денег на опен-айр. Комментируя эту историю, Виктор отметил. Все они поступили неверно. Верить в то, что можно выиграть в тетрис -глупость, думать что ты всегда проиграешь-малодушие. В выборе между глупостью и малодушием следет выбирать третье.
***
Жизнь офис-самурая должна быть таких размеров, чтобы помещаться в багажник его автомобиля.
***
Поистине, нет ничего, кроме единственной задачи текущего момента. Вся жизнь человека-это последовательность отдельных моментов, перетекающих друг в друга. Если человек полностью осознает текущий момент, больше ему ничего делать не нужно и не к чему больше стремиться. Живи, сохраняя верность единственной цели момента. Не доразложив косынку, не уходи курить.
***
Офис самураю без разницы, - вступать в бой или не вступать в бой. Оба пути для него одинково желанны. Уклоняться же от боя недопустимо. Выбор возможен только между «нападать» или «ничего не делать». В избегании выбор отсутствует
***
Думающий офис-самурай внешне ничем не отличается от недумающего офис-самурая.
***
То, что неважно для одних, может быть важно для других. Так, на пути к Достойной Мужчины Зарплате тебе незначимо, с кем переспать -с дочкой босса либо с самим боссом, однако этом может быть значимо для твоих друзей, жены и коллег.
***
Обретай мотивации. Каждого постигшего Путь ждет приз.
***
Невозможно бросить курить, размышляя о вреде курения. Также невозможно бросить курить, настраивая себя на нужный лад и исполняясь решимости. Бросить курить можно только перестав курить.
Это справедливо и во всех прочих отношениях.
***
Один офис-самурай из Евросети провел свой рабочий день, уничтожая демонов, вырвавшихся из Ада, и чудовищ- порождений преступных генетических экспериментов. Наблюдавший за ним офис-сегун заметил на это: «Своими массовыми убийствами молодой человек, несомненно, спас человечество. Но также несомненно, что этим он безнадежно испортил свою карму».
***
Глубокие познания в истории и литературе похвальны, но не достойно офис-самурая щеголять ими без нужды. Так, мудрый и благородный муж не станет бахвалиться перед нанимателем тем, что знает поименно всех эльфийских царей.
***
Часто спрашивают: «Открыт ли дзайбатцу-до для женщины?». Нам прискорбно и печально говорить об этом, но ответ- «да, открыт». И остается лишь надеяться, что ступившая на Путь офис-самурая женщина не пройдет им до конца. Ибо достигнув окончательной чистоты души, она неизбежно теряет свою человеческую сущность.
***
Вышеуказанное справедливо и для мужчины, но его не так жалко.
***
Одна женщина в маршрутном такси поведала мне, что некоторые дешевые отечественные крема для кожи лица и рук замечательно подходят и для чистки обуви. Подобными знаниями следует дорожить
***
Невежливо выкладывать мобильник на стол, дабы показать его новизну собеседникам. Это может вызвать только жалость и смех. Люди, достигшие совершенной чистоты и прозрачности души, не нуждаются в столь грубой демонстрации. Их мобильник, их кредитка и визитница видны даже сквозь ткань одежды и кожу бумажника. И даже сквозь них самих.
Об этом же говорили мудрецы древности: «Мастера видно по стойке».
***
Можно стяжать себе славу, увеличивая количество читателей вашего онлайн-дневника. Можно стяжать себе славу, увеличивая прибыль компании. Однако ни то, ни другое может не впечатлить инспектора по кредиту. Надо учиться у него отношению к мирской славе. В остальных вопросах мнение кредитного отдела не должно вас волновать. Достойному мужу кредит выдадут по-любому. В ином случае стремиться к кредиту не следует.
Об этом же говорили и мудрецы древности: «Не следует стреляться, если боишься запачкать мозгами обои».
***
Разговаривать зло и раздраженно с работниками сферы обслуживания это все равно, что вмешиваться в спор оруженосцев из низшего сословия. Офис-самурай всегда помнит о своем уровне дискуссии.
***
Дмитрий из «Пролайн-сервис» однажды стал свидетелем того, как двое его коллег спорили в курилке на отвлеченные темы. Оба при этом в высказываниях проявили удивительную глупость и невежество. Молодой человек хотел решительно и гневно вмешаться в спор, однако вначале подумал перед тем, как что-то говорить. И в итоге промолчал. На следующий день Дмитрия оскорбил один из сотрудников. Он также хотел послать обидчика на хуй, но, поразмыслив, смирил свой гнев и промолчал.
Комментируя этот случай, мы можем сказать, что умение думать перед тем, как говоришь- без сомнения полезно и достойно. Однако еще более полезное качество- применять это умение по обстоятельствам. Есть ситуации, в которых вначале следует подумать, и лишь потом действовать. Есть ситуации, в которых действовать следует сразу, а думать вообще необязательно. Уметь различать их не менее важно.
***
Однажды мудреца спросили, каков наилучший путь воспитания в себе сдержанности и смирения гордыни. Ответ был такой: «Следует отказывать коллегам и знакомым лишь в том, в чем можешь отказать себе. Неукоснительно поступая согласно этому правилу, через некоторое время вы обнаружите, что можете отказать себе в очень и очень многом».
***
Не следует загружать людей знаниями сверх того, что они готовы переварить. Именно в этом стоит искать причину, почему ни в Учении о четырех Добродетелях, ни в Нагорной проповеди нет ни слова об увеличении прибыли акционеров.
***
Часто приходится слышать такие заявления: «Можно обманывать других, но никогда не лгите себе». С этим нельзя согласиться. Обманывать себя можно так же, как и окружающих. Однако всегда при этом надо знать, зачем вы это делаете. Вообще же, между вами и окружающими разницы меньше, чем вам кажется. То, что срабатывает с ними, сработает и с вами.
***
Между действием и недеянием нет никакой разницы. Конечно, не считая результата.

Источник

Oracle, JDeveloper и PL/SQL

Август 10, 2008 by bthemad

Так уж получилось, что я решил чуть-чуть сместить фокус своей девелоперской деятельности в сторону Oracle PL/SQL. Нет, мне совершенно не надоел веб, просто у меня есть свой проект Smart Masses, который представляет собой магазин для гиков и сочувствующих имени доктора Жаба, и мне его более чем достаточно для экспериментов.
А учитывая, что в конторе, где я работаю всегда есть возможность выбора проекта, я решил «прокачать» знания по sql и pl/sql, с которым до этого не работал. Для начала оформил себе оракловые курсы по банальному sql и уложил все знания в систему =) Учиться понравилось. Вчера съездил в Олимпийский и закупил литературы по Oracle PL/SQL и немного Тома Кайта для души =)

Сегодня уже установил себе Oracle 10g XE на Ubuntu 8.04 и начал вдумчиво читать литературу и выполнять примеры.

У оракла есть некая IDE с незамысловатым названием JDeveloper. Не то, чтобы я горю желанием изучить ещё одну IDE, но посмотреть на неё захотелось. Ставиться она не без бубна, но официального руководства вполне достаточно. Единственная проблема возникает, когда пытаешься законнектиться к базе из неё. Проблема выражается двумя ошибками:


ORA-00604: error occurred at recursive SQL level 1
ORA-12705: Cannot access NLS data files or invalid environment specified

И ничего не признает. Выставление параметра NLS_LANG в профиле баша ничего не дает. После многочисленных расследований и поисков в гугле решение было найдено. В файл jdev.conf необходимо добавить пару строк:

AddVMOption -Duser.language=en
AddVMOption -Duser.region=us

Оказывается Ынтырпрайз Жава не очень признает всякие NLS_LANG и берет параметры прямо из среды обитания. И эти параметры оказываются неверными. Этот «хак» подходит для любых IDE, написанных на этом чудесном кросс-платформенном языке и использующихся для разработки под Oracle.

И вот ещё одна ссылка по которой можно почитать чуть более объемное описание проблемы и способы её решения. Отличный статья, рекомендую.

…тем же вечером…

Продолжая копать в нужном направлении, нарвался на SqlDeveloper, выпускаемый Oracle. Который не несет в себе столько уг, как jDeveloper. При установке был капризен и требовал путей к jvm, не смотря на то, что она была прописана в PATH. Ещё пытался (неудачно) создавать файл jdk в дирректории ~/.sqldeveloper/ и писать туда этот самый путь, чтобы не спрашивать каждый раз при старте. Но что-то у него не задавалось. Пришлось создать ему этот файлик, раздать на него 777 (на всякий случай =) и вот тогда, он туда уже всё написал.

Ну и баг NLS data files лечился тем же способом. В sqldeveloper.conf добавились те же магические строки =) Вот такой вот он…ЫнтЫрпрайз.

Авиабилет Москва-Амстердам-Москва.

Апрель 6, 2008 by bthemad

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

В свете того, что мне понадобилось слетать в Амстердам =) я начал искать самую бюджетную возможность добраться до города…тюльпанов. Самолетом. В одном вменяемом агентстве мне поведали, что в Амстер летает много авиакомпаний. Просто многие из них с пересадкой в каком-нибудь европейском городе. Вот список тех, кого пробивал я:

  • Аэрофлот (без пересадки)
  • KLM (различные варианты)
  • AlItalia (с пересадкой)
  • SAS (с пересадкой)
  • LOT (с пересадкой)
  • SwissAir (с пересадкой)

Далее я аккуратно просчитал билет на одинаковые даты во всех авиакомпаниях. К сожалению, цены я тогда не переписал, а сейчас билет на те же даты стоит уже по-другому. Но в итоге я отправился за билетами в SAS, т.к. их вариант (14 т.р.) оказался самым выгодным с точки зрения времени вылета/времени полета/цены. Такой же, но беспересадочный рейс у KLM стоил на 2 т.р. дороже.

Надеюсь, что качество сервиса будет на сколько-нибудь приличном уровне и я не подпаду под статью “скупой платит дважды” =)

Ubuntu 8.04 beta. Шаг вперед, два шага назад.

Апрель 3, 2008 by bthemad

Зачем обновляться до beta?..

Угораздило меня попасть на сайт убунты, и увидеть там “25 дней до релиза”. Потом угораздило прочитать в каком-то блоге об успешном обновлении до бетаВерсии. До этого читал, что человек обновился до альфы, и ему всё нравится.

Вечер был свободный ;) Поэтому и я набрал update-manager -d и смело нажал “Обновить”. Убунта честно предупредила, что обновляться будет до беты, что качать придется метров 900 и что вообще всё опасно. Пути назад не было =)

Я думал, что процесс пойдет автоматически, поэтому пошёл пить чай, однако, вернувшись, я обнаружил диалоговое окошко с вопросом “Какой из конфигов использовать для …” И таких вопросов мне задали много. Т.е. не уходите пить чай, а вдумчиво следите за обновлением. К тому же это процесс поинтереснее дефрагментации диска ;)

И что в итоге?..

В принципе, все изменения отражены в changelog’ах, поэтому я приведу лишь субъективные впечатления.

  • Пропал звук. Устройств, на которые можно подавать звук в системе обнаружено не было. Проблема была в ядре, оно обновилось спустя 4 дня. Звук появился. Ура.
  • В системе поселился Tracker, который активно за мной следит. И всё время всё индексирует. Пока я с ним не общался на предмет индекса, но лишний значок в трее заметил ;)
  • FireFox обновился до 3b4, следовательно, половина add-on’ов стала неработоспособной. Особенно мне не хватает FireBug и Del.icio.us-плагина. Ставить “check for version compatibility” в “none” мне не хочется. В прошлый раз плохо закончилось =) Подождем…
  • Слетела тема MacOsX (надеюсь, не палюсь ;) Правда не целиком, а только частично. Оччень весилит
  • Есть ощущение, что система дольше грузится. Надеюсь, после релиза ей полегчает

Вообщем, это хороший такой LTS-релиз, т.е. без наворотов и революций. Обновление прошло почти успешно, полет нормальный. Ждем релиза.