Как поставить автомагнитолу в Hyundai Getz
Штатная аудиоподготовка у Hyundai Getz имеет нестандартный разъем, поэтому, подключить в него магнитолу сразу не получится. Поиск в интернет подсказывает, что для этого лучше всего воспользоваться специальным переходником Hyundai-ISO, который можно купить на Митинском рынке, в Москве. К сожалению, в Саратове нет ни одного Митинского рынка а про переходник не знают даже в специализированных магазинах. Специалисты в сервисе, просто обрезают родные разъемы и скручивают провода как надо, за все удовольствие берут 650-1000 рублей.
Но мне вариант со скручиванием почему то не понравился, да и захотелось самому повозиться :) Я поступил так:
Снял заглушку на месте автомагнитолы при помощи отвертки аккуратно поддев последнюю сверху.
Вынул из разъема магнитолы провода с контактами и вставил эти контакты в оригинальный разъем аудиоподготовки машины предварительно заизолировав до половины изолентой для предотвращения случайного замыкания. Чтобы вынуть контакт из разъема его нужно немного поддеть, например, обычной канцелярской скрепкой или куском проволоки, или же просто посильнее потянуть. Вставляется сам контакт в разъем Hyunday довольно туго - он немного шире чем контакт на разъеме - но плоскогубцы решают все проблемы.
Вот распиновка оригинального разъема на Hyundai Getz:
На всякий случай прозвонил разъем тестером - контакт 15 оказался не подсветкой дисплея (+) а скорее землей, поэтому его я не стал использовать.
Распиновка разъема ISO автомагнитолы:
После подключения всех контактов разъем стал выглядить вот так:
После того как самая сложная часть работы осталась позади, вставил антену и поставил магнитолу на штатное место - салазки магнитолы не пригодились - они не влезают. Саму магнитолу зафиксировал обрезками упаковочного вспененного полиэтилена - он отлично гасит вибрации.
Все заработало с первого раза без проблем.
UPD. На схеме разъема M16 изображена ответная часть а не сам разъём - реальный разъем соответственно имеет зеркальное расположение контактов, что без труда видно по форме выемок на разъеме - мне было лень зеркалить изображение разъема - думал это очевидно :) Будьте внимательнее!
Хопёр 2011
Вернулся из небольшого отпуска, который провёл сплавляясь на байдарках по реке Хопёр. Выложил небольшой фото отчет.
Хопер как всегда прекрасен. Воды в этом году больше чем в прошлом. Пока сплавлялись были слышны грозы, которые, впрочем, обходили нас стороной, а вчера мы даже попали под небольшой освежающий дождик — и это при том, что в Саратове в это время было +38!
Рыбы в Хопре в этом году полно, много и прочей живности - ужей, гадюк, лягушек, ящериц. Ещё видели выводок каких-то темных водяных зверьков издали, скорее всего это были выдры.
Но самый страшный зверь на Хопре — это человек, по этой причине не хочу его сильно рекламировать — трошкi е тiлько для себе :) Места куда может подъехать машина так загажены, что хочется спросить господ автомобилистов — ну неужели нельзя увезти свой мусор с собой, на худой конец просто сжечь или закопать?
К счастью, сплав по реке имеет одно неоспоримое преимущество — можно найти такие места куда не подъезжала ни одна машина а попасть можно лишь по воде, таких мест на Хопре очень много в силу его отдаленности от больших населенных пунктов.
Неплохой багтрекер
При создании любого проекта нужно как то управлять процессом отладки, а для этого необходим багтрекер. Багтрекер это как секс - плохой багтрекер лучше чем совсем никакого. Долгое время использовал phpBugtracker - хотя он последний раз обновлялся в 2007 году, если внести в него парочку исправлений получается вполне себе ничего багтрекер.
Ну вот для одного нового проекта решил попробовать Mantis Bugtracker. Понравилось, аккуратненько так, и ничего лишнего. Может кто порекомендует чего лучше?
Странный глюк в PHP
Не знаю, сталкивался ли кто или это мне повезло, но вчера поймал загадочный баг, похоже, что в движке PHP, хотя, пока до конца не уверен.
Предыстория такая - работаю над проектом, над которым потрудились индийские программисты. Сам проект сделан на движке Symphony - добротный такой движок, вполне приятный. В качестве библиотеки работы с базой данных используется Creole - тоже довольно приятная штука. В качестве ORM используется Propel — штука громоздкая, но тем не менее тоже весьма мощная и простая. Вообще Symphony показался мне весьма неплохим движком, весьма простым и удобным. Наверно, потому, что он почти один в один копирует Ruby on Rails - те же хелперы, тот же yml в конфигах, такой же подход к MVC - в общем очень похоже.
Так вот, доблестные индийские программисты, вместо того, чтобы использовать оснастку из Symphony навставляли везде mysql_connect и mysql_query. И все бы ничего, но mysql_connect у них вставляется ВЕЗДЕ перед mysql_query — в одном скрипте может быть создано несколько десятков соединений, а каждый mysql_query дополняется проверкой "or die(mysql_error())", поэтому любая ошибка в sql ведет к скоропостижной кончине всего скрипта.
Чтобы хоть как то исправить это безобразие я сначала удалил все mysql_connect. Затем, все mysql_query поиском и заменой заменил на собственную функцию, использующую оснастку creole, поместил её в глобально видимый класс myTools::query():
static function query($sql){ $connection = Propel::getConnection(); $r = $connection->executeQuery($sql); return $r->getResource(); }
Странное дело код ведь тривиальный, но ресурс возвращаемый этой функцией оказался невалидным! Причем внутри функции ресурс еще остаётся рабочим а возвращённый во вне оказывается сломанным. Тот же код ВНЕ функции идеально работает, но как только выношу его в функцию — перестаёт работать.
Что это — глюк самого PHP или глюк Simphony я так и не понял, пришлось немного модифицировать класс MySQLConnection и добавить туда метод возвращающий MySQL ресурс непосредственно, минуя всякие PHP обёртки, но осадочек все же остался...