bash.im ithappens.me zadolba.li
10419

Вот же жук

11 января 2013, 07:15

Наводил давеча порядок в своей коллекции музыкальных файлов. Разложил всё по каталогам с именами исполнителей и групп, занялся составлением плейлистов. В частности, захотелось объединить всю музыку The Beatles в единый список, причём смешав её с плодами деятельности экс-битлов.

Дело нехитрое: ls -1 . | grep 'Beatles|Lennon|McCartney|Harrison|Starr' > beatles.m3u. Порадовавшись своей ловкости, зарядил список в проигрыватель и впал в ностальгию. Но что это? Через каждые три-четыре песни битлов в наушниках звучала совершенно неуместная хрень: оперными голосами пели какие-то кантаты в сопровождении симфонического оркестра. Классическая музыка в моей коллекции тоже есть, и в немалых количествах, но как, как она могла просочиться в подборку битлов через такой простой и надёжный фильтр?!

Насилу вспомнил, что этот черт сэр Пол Маккартни несколько месяцев назад действительно написал «Ливерпульскую ораторию», которую я скачал из любопытства, но в каталог с классической музыкой переложить так и не удосужился.

10418

Китаец посередине

Незаменимые люди есть, говорите? А как быть, если разработчик — китаец? Хорошо, если его таки можно добыть, хорошо, если или с ним непосредственно, или через посредников можно хотя бы на английском договориться. А если нет — добро пожаловать в WinHex. Было бы от чего оттолкнуться, а дальше — простор для подвигов.

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

Дизассемблировать код запрещено соглашением, да и лень. Вспоминаем про скилл сетевого админа, даём сегменту сети нужные адреса, делаем там сервер, вносим этот сегмент в таблицу маршрутизации сети… Немного плясок с бубном — и всё готово. Без исходников. В литературе приём называется «мужик посередине» (man in the middle).

10417

Start/Stop

10 января 2013, 14:15

Лет восемь уже использую Win+E для вызова Проводника. Конечно же, этот факт мало кого интересует, если бы не одно «но». Ещё вчера я даже не знал, как часто запускаю Проводник через эту комбинацию клавиш, а уже сегодня клавиатура решила, что винкей теперь выключает комп без подтверждения — этакий самопровозглашённый пауэр. Теперь я точно знаю, что раз в двадцать минут у меня не получается удержать себя от использования магической клавиши. Таким изощрённым пыткам я ещё никогда не подвергался.

10416

Ожившие древности

Живёт на свете кандидат наук, которому пришло время стать доктором. Вынул кандидат наук архив своей кандидатской диссертации образца 1991 года на шестнадцати дискетках 3,5" и скормил дисководу образца 1995 года. Прочитались дискеты Nixdorf все до одной без ошибок. Даже программка, которая все данные обрабатывала, запустилась. Обрадовался кандидат наук и дискеты выкинул.

После десятидневной пьянки кандидат наук наконец воскликнул:

— А не посчитать ли нам, милая программка?

— Нет, дорогой. Не вижу я 287-го сопроцессора. И считать ничего не буду. Только менюшку показывать могу. Хочешь — новые данные вводи. А вот экспорт в электронную таблицу есть.

— Ну так электронная таблица у всех же есть! Давай экспортируй, а там верный Сексель посчитает!

Экспортировал кандидат наук данные и стёр программку-изменницу. Вот теперь он сидит с файлом в формате SuperCalc 4 на двадцать с чем-то мегабайт и не знает, что с ним делать. Потому что все формулы остались внутри той программки, которую молодой аспирант в конце восьмидесятых сам для себя написал, а Сексель уже совсем забыл про своего конкурента SuperCalc версии 4.

10415

Приём, приём, как слышно?

10 января 2013, 07:15

В провинциальном НИИ я работаю над созданием релейной защиты для систем электроснабжения. До сих пор боюсь подходить к электрическому прибору под названием «Ретом» — это такой генератор токов для испытания терминалов.

Сижу как-то, проверяю какую-то схему, параллельно подключаясь одной из клемм к контактам, и периодически ненавязчиво ковыряюсь этой же клеммой в ухе — незаметно для себя, по привычке. Дёрнул же чёрт меня в этот момент случайно задеть мышкой кнопку пуска напряжения в программе! Боксёры поймут, что такое нокаутирующий удар. Вырубило меня минуты на три. С тех пор начальник перевёл меня в программерский отдел, а коллеги до сих пор смеются.

10414

Незаменимые люди есть

10 января 2013, 07:15

Здравствуйте, взрослые айтишные дяди! Я в небольшой организации слежу за сеткой из десятка компов и одинэсной базой. Моя задача — «чтобы всё это работало». У меня экономическое образование, я самоучка, а ещё я девочка. Но в моей трудовой в графе «должность» написано «инженер-программист» — так руководству захотелось. Все сказали «фу»? Спасибо, а теперь я расскажу о своей печали.

У моей начальницы во владении есть ещё одна организация. В организации стоит древний комп, на нем 95 винда и база на Фокспро 2.6. И, конечно же, недоумения начальства: «А на фига тут что-то менять, работает же!»

Итак, из этой конторы увольняется заведующая, и на её место берут нового человека. Соответственно, во всех документах нужна новая фамилия. Начальство говорит: «Сделай!» Казалось бы, что сложного — новую фамилию в справочник с сотрудниками вбить? А вот фигу: справочника такого нет и в помине. Я иду к Гуглу и начинаю терроризировать по аське знакомых настоящих программистов. Мне говорят: «Открывай REP-файлы, там найдёшь формы всех документов и поменяешь подписи». Всё просмотрела — фигу! Нету. Стала открывать в редакторе все файлы в порядке очереди и таки нашла эту фамилию в одном из файлов с расширением PRG, записанную прямо в программный код.

Взрослый и наверняка бородатый дядя, который сию программулину написал, если ты вдруг это читаешь, чтоб ты жив был! Пять часов чтения Фокспро-кода незабываемы. С наилучшими, твой непрофессионал.

10413

Не интернет, а малина

9 января 2013, 07:45

Мой сосед недавно попросил меня приспособить крайне старенькую машинку для работы в интернете. Там не обнаружилось сетевой карты вообще, зато был ТВ-тюнер. Примерно озвучил, во сколько обойдётся апгрейд. Соседу не понравилось.

И тут сверкнула мысль. Я оказался среди тех счастливчиков, которым удалось отхватить себе вожделенный Raspberry Pi аж в двух экземплярах. А зачем мне два? Второй продал соседу всего за 500 рублей. Далее — дело техники. На дряхлый комп с 32 мегабайтами памяти ставим GeeXboX — он и в такой объём ОЗУ помещается, и с ТВ-тюнерами дружит. Raspberry Pi подключаем к блоку питания, провайдерскому кабелю, клавиатуре, мыши и ТВ-тюнеру.

Качество изображения, как и необходимость наличия на столе двух клавиатур (вторая — чтобы управлять GeeXboX), заказчика вполне устроили.

10412

Repair, Science и немного Luck

Давным-давно «Фаргус», волшебники нашего детства, не дошли ещё до нашей глубинки. Довелось мне играть в оригинале в Фоллаут. Жутко интересно, но ничего не ясно. Так я и научился курить словарик. Разумеется, английский подтянулся.

И тут случилась оказия: не прожив и месяца, новенькая шайтан-коробка отказалась включаться. Как я сейчас понимаю, это и стало переломным моментом, толкнувшим меня и старшего брата в объятия мира IT. Играть страсть как хотелось — вооружились отвёрткой, на всякий случай плоскогубцами и полезли разбираться, что к чему...

Много воды утекло с тех пор. Мы выросли, обзавелись семьями, многого добились на IT-поприще. А виной всему — Фоллаут и неудержимое любопытство, которое не покидает меня до сих пор, заставляя расти и двигаться дальше, пытаясь успеть в ногу с прогрессом.

Камрады! С праздниками вас! От всей души желаю вам в новом 2013 году не растерять того любопытства, которое многих из нас привело в волшебный мир информационных технологий.

10411

Дважды два 4.22

9 января 2013, 07:15

У нас есть программа, которая должна… Для простоты, предположим, считать результат операции 2×2. Ты пишешь её, код получается идеальным. А что тут сложного-то? Функция и эхо, только-то. Ты молодец, ты помог миллионам людей, которые могут и сами посчитать, что такое 2×2 и чему это равно. Зато ты упростил им задачу. Со временем появляются просьбы вроде: «А почему 2×2 равно 4? Ведь иногда это равно и 100». Или: «А почему только 2×2, почему не считает 3×3?»

Ты приделываешь функции к своей программе. Со временем ты даже дополняешь свой код и открываешь его для других. Или копируешь чужой, выдавая за свой. Или продаёшь свой код, успешно позиционируя его на рынке. Но «заявок» всё больше: «А почему дизайн так уныл?»

Ты задумываешься о «расширении» своей программы. Добавляешь API, позволяешь создавать плагины, делишь на библиотеки, используешь и чужие DLL. Твой код разрастается до сотен мегабайт и десятков других программистов. Вроде бы хорошо, да? А теперь посмотрим с другой точки зрения, с точки зрения сисадмина.

Твоя программа не умеет разве что готовить. Она — идеальный калькулятор, параллельно операционная система, рассчитана на кучу разных архитектур процессора и, на самом деле, во всём прекрасна. Но мне, как сисадмину, от неё требуются лишь те же 2×2 и ничего больше. И я ставлю её, так как выбора нет: программа же одобрена государством и юзерами. Но не получается. Она конфликтует с другой программой, функция которой — вычислять квадратный корень из 4. И, самое дурацкое, она тоже жизненно необходима.

Начинаются пляски с бубнами, чтение миллионов файлов «документации», где ничего толкового-то и нет, попытки декомпилировать код, поиски «лишних» функций, отрубание функциональности, подгонка под определённое железо (ах да, ведь добавив в последней версии под винду поддержку SSE3, ты совсем забыл про тех, у кого нет возможности исполнять эти инструкции). Я связываюсь с тобой, о великий разум, хочу узнать, как заставить работать твою чудную программу. Тебе же, как разработчику, проще было забить на всё и вся, используя всю мощь 16-ядерного процессора, забивая все 64 гигабайта оперативной памяти, занимая уже сотни гигабайт на винчестере — и лишь для того, чтобы вычислить 2×2.

Зато мы не должны жаловаться. Мы ведь во всём виноваты, танцуя с бубном, пытаясь заставить работать очередного «монстра». Нас ведь можно ругать за это. За то, что мы называем кривые программы кривыми.