bash.im ithappens.me zadolba.li
3493

Напильником по кофейным зёрнам

29 июня 2010, 08:00

Я три года пишу на .NET и всем несказанно доволен. Опыт и знание технологии позволяют развивать околокосмическую скорость разработки. Но не всё так сладко: нелёгкая заставила вплотную столкнуться с Java. В такие моменты начинаешь переосмыслять философию мира: самые привычные вещи переворачиваются с ног на голову, ибо «кофейный» подход воспринимается с колокольни .NET как безграничный набор костылей. Давно уже ходят холиворы вида «Java vs .NET», но общественность не пришла к окончательному решению. Вероятно, мое нехитрое субъективное сравнение поможет склониться некоторым адептам тех или иных технологий к определенному решению.

.NET: «Нам нужен робот. Отлично. Голова, туловище, конечности — руки и ноги по две штуки, зеркально отражённые. Собираем».

Java: «Нам нужно нечто такое, чтобы работало. Типа робота. Так. У нас есть голова, но там надо покопаться в конфигах, допилить правое ухо и нос. Есть опенсорсная прошивка, но она не позволяет анализировать изображение с глаз. Ладно, разбёремся.

Туловище. В общем, есть несколько реализаций туловища: одно без коннекторов для рук, другое без коннекторов для ног. Третье вообще без коннекторов. Ладно, возьмём третье и допилим коннекторы от рук и ног из второго.

Руки и ноги. Есть левая рука и левая нога. Чтобы их развернуть, нужно скачать исходники, посмотреть, как писалась левая рука и аналогично написать правую, только наоборот. С ногой аналогично. Но аппаратная реализация коннекторов из туловища позволяет подключать большой палец от правой ноги только к пятке. Надо сделать дырку в нужном месте и прикрутить туда палец. А на пятке... ладно, пусть будет. Скажем в документации, что так получилось».

3492

Гражданская война

28 июня 2010, 15:45

Задолбали программисты! Вечное противостояние IT-отдела и бухгалтерии — сущие пустяки и мелкие недоразумения по сравнению с тем, что происходит между программистами и электронщиками. Безрукий эмбрион, раздутая самомнением инфузория, научившаяся отправлять два байта в COM-порт без exception error, гордо пишет в своём резюме: «Программы, которые работают с оборудованием (модемы, принтеры, микроконтроллеры и т. п.) на низком уровне, через порты COM/LPT». Их извилины, принявшие форму четырёхцветного флага, порождают такой бред, что индусы заливаются слезами от зависти и, полностью осознавая глубину собственной ничтожности, идут пасти священных коров. Билл, дружище, если можешь, закрой API для таких форм жизни! Криворукость гоблинов, помноженная на индусский код, даёт удивительный эффект.

Прочитать документацию на родном языке, присланную вместе с устройством, программисты считают ниже своего достоинства, ведь гораздо проще вынести мозг по телефону и затребовать построить в устройстве маленький Гион с го, гейшами и поддержкой astral32.dll. И ещё злятся ведь, когда их заказчик не в состоянии сформулировать техническое задание, желательно с применением ультрагиковского сленга.

Каждый раз, когда моё детище переносит клиническую смерть, пытаясь переварить помои, которыми его закармливает такое вот тело, нахватавшееся по верхам Вселенской Мудрости на форумах, переполненных такими же амёбами, моё сердце останавливается. Пока к нам эта высшая раса будет относиться без должного уважения, не ждите хорошего отношения: покупайте периферийное оборудование у восточных братьев и морочьте голову им.

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

3491

Скорость по большой дружбе

28 июня 2010, 11:45

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

На следующий день решил поиграть сам. Подключаю джойстик, вижу печальные 30 fps вместо обычных 60 (в игре встроенный счётчик). Чего я только ни делал — наверное, только винду не переустанавливал в отчаянных попытках найти причину тормозов! Вспомнил, что именно в присутствии друга у меня всегда всё начинало работать, роутеры подключались, оси ставились, в то время как без него выходило далеко не с первого раза.

После десятой тщетной попытки избавиться от тормозов меня осенило, как можно эмулировать «эффект присутствия». Подключил второй джойстик — fps взлетели до 60, и тормоза пропали.

3490

Rayman Raving Admins

Всё началось с того, что у моего любимого трекбола заглючила левая кнопка. Менял, тестером проверял — без толку: дело, похоже, в микросхеме. А играть в Audiosurf охота… Нашёл в шкафу геймпад. Игра поддерживает только контроллер Xbox 360, на который китайский нонейм явно не тянет. Полез в сеть, нашёл хороший универсальный драйвер для китайских геймпадов — появилась возможность эмуляции мыши, а также заработала виброотдача. Аудиосёрфа, в принципе, достаточно, но мне показалось мало.

Нашёл в сети утилиту Xpadder, вот она реально оказалась полезной — на любую кнопку геймпада можно назначить любую клавишу клавиатуры, в том числе и мультимедийную. Паре верхних кнопок сказал управлять громкостью — играть стало ещё удобнее. Тут я подумал: «А почему только игры?» Быстренько изготовил профиль для Файрфокса: левый аналог — мышь, правый — колесо; кнопки я привязал к кликам, а переключатель POV — к «Назад-Вперёд», «Обновить» и «Остановить». До кучи сделал управление плеером.

Сижу, как сферический задрот в вакууме, листаю интернет с геймпада. Так и до руля для руления серверами недалеко!

3489

Не думал, не гадал он, никак не ожидал он такого вот конца

Отсылаю очередную выделенную порцию из базы данных на удалённый компьютер. Приходит ответ на посылку с ошибкой:

s2i_loader: Неожиданный конец файла среди информационных полей.

Задумался о жизни.

3488

Девять из десяти марсиан рекомендуют

28 июня 2010, 10:00

По объявлению приобрёл оптическую мышку всего за сто рублей. На вращение колёсика операционка не реагировала, хотя левая и правая кнопки работали. Гугл, поиск драйвера, распаковка. Установщик выдал гениальную фразу: «Ваш девайс соответствует мировым стандартам и не только!» Намёк на вселенское господство?

3487

Хватит, хватит, остановись, рогатый пакет!

28 июня 2010, 10:00

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

У нас в центре города ведётся «стройка века». Как следствие — на одной из центральных магистралей города от проезжей части «откусили» и отгородили три полосы из четырёх. По оставшейся полосе разрешили ходить только троллейбусам. Чудесно, но наши люди не будут нашими людьми, если не попытаются проскочить по этой «дороге жизни». Объезжать — потеря минимум пятнадцати минут.

Так вот, доблестная автоинспекция начала ставить по обе стороны «дороги жизни» (общая протяженность которой едва ли сто метров) двух особо провинившихся гайцов, которые посредством раций разруливали движение троллейбусов по этой однорядной стометровке. Я же, переходя дорогу возле этой стройки и пронаблюдав работу незамысловатой схемы, сразу в голове прикинул схему работы маршрутизатора. Проактивный файрвол, QoS, шейпинг, да ещё и анализ сигнатур пакетов (большой, рогатый, «свой» — проезжай). Когда же в голове начал отрисовываться конфиг для ipfw, пришлось резко дать по тормозам. Работа работой, а психика — она как-то дороже.

3486

Спичка, сломавшая спину Кратоса

Так получилось, что моя PlayStation 2 неслабо грохнулась со шкафа. Поднял, посмотрел со всех сторон — вроде ничего не треснуло. Стал проверять работоспособность. Ни один диск консоль мне, разумеется, не запустила. Прекрасно, думаю, приехали.

Снимаю крышку, пихаю в детектор закрытия спичку, включаю. Каретка с лазером загорается и начинает ездить, а моторчик не работает. Покрутил его чуть-чуть — вроде стартовал. Игра загрузилась. Ладно, думаю, пронесло. На всякий случай достал головку, продул от пыли, проверил шлейф и контакты — вроде всё нормально. Собрал.

Чтобы проверить, вставил игру на двухслойной болванке. Запускаю — не работает. Что ж такое? Опять разобрал, проверил контакты и шлейф — всё на месте. Собрал, опять запускаю — судя по звуку, моторчик не крутится. Опять открыл крышку, воткнул спичку в детектор, запускаю. Моторчик стартовал сразу же, без моей «помощи».

Ломая голову, в чём же дело, догадался посмотреть на крышку. Оказывается, при падении сломалась маленькая пластмассовая штучка, которая втыкалась в детектор закрытия крышки. Крышку-то я закрывал, но система этому не верила и охраняла меня от опасного излучения. Прилепил на место отпавшей детали кусок спички и сел играть в God of War.

3485

Read-only на десять лет

28 июня 2010, 10:00

Мне всегда хотелось быть «постарше», поэтому отвёртки от меня прятали куда только можно: в доме разбиралось всё, начиная от старого проигрывателя и заканчивая новым магнитофоном. Хорошо, что паяльника бояться научили.

Когда мне было лет девять, старший брат, инженер-сисадмин, накопил на нормальный по тем временам компьютер — даже 95-я винда бегала. Чтобы мои глазки не лезли внутрь, брат прочитал мне лекцию на тему «Из чего состоит компьютер», всё дал мне потрогать, а потом вкрадчивым таким голосом сказал:

— Попробуешь что-нибудь сделать с ним самостоятельно — урою.

Подействовало лет на десять.