5344
Захотелось как-то написать свой клиент для Music Player Daemon. Не имея опыта работы с GTK+, через две недели я всё же имел клиент, соответствующий моим требованиям. Осталось только реализовать Drag’n’Drop в плейлисте с возможностью тянуть несколько строк за раз. Так как штатными средствами GtkTreeView и GtkListStore этого не добиться, а официальный способ — написание собственной модели — сулил несколько дней курения мануалов и переписывание большого куска кода, было принято решение идти в обход.
Так, что нам мешает? Ага, клик мышкой с целью перетащить несколько выбранных строк воспринимается как выбор кликнутой строки, она же одна и тянется. Ну и ладно — пишем callback на кликанье по плейлисту, проверяем кнопки-модификаторы, смотрим, выбраны ли несколько строк и приходится ли клик на одну из них, ждём 120 миллисекунд, проверяем состояние мыши. Что, вы ещё не отпустили кнопку? Тогда тяните, сударь, наше дело — return TRUE;
5343
Моей первой деревянной игрушкой был советский ПК «Искра-1030» с диском на 30 МБ и памятью аж 640 КБ, стоявший в учебном классе, где его насиловали все, кому не лень. Он научил меня разбираться в алгоритмах упаковки данных, оптимизации кода, а также в методах защиты информации и её взлома. В итоге компьютер стал действительно персональным: у всех остальных на нём «глючила память» и «сыпался диск» (всего-то надо было иметь ключевую дискету и знать нужный пароль).
Вторая деревянная игрушка — 386DX-33. Он научил меня разбираться в железе, постепенно мутировав до «пентиума», обзаведясь заодно шикарными дисками по 2 ГБ (круто по тем временам) и 8 метрами памяти. Был утерян при переезде.
Третья деревянная игрушка — старенький 486SX, не поддерживавший большие диски. Он познакомил меня с особенностями работы дисковых контроллеров, в результате чего на нём заработали винчестеры, которые, казалось, не должны были. Комп научил меня Windows-программированию по причине малопригодности для игр.
Четвёртая деревянная игрушка — глючный до безобразия офисный комп. После очередной бессонной ночи, проведённой в попытках помирить сетевую карту с виндой, на компе появилась FreeBSD. Внезапно оказалось, что под «фрёй» все глюки и баги внезапно исчезли, и пациент из калеки превратился в неплохой, стабильно работающий в круглосуточном режиме сервер. Он научил разбираться в «никсах», собирать программы и писать сетевые приложения.
И так всё время: отсутствие проводного интернета научило разбираться в спутниковом, слабые сервера научили оптимизации SQL-запросов, ненадёжное питание научило делать кластеры и восстанавливать рухнувшие базы. Только проблемы могут заставить человека отвлечься от развлечений и напрячь голову.
5342
Когда-то неизвестный сказал, что во всех неполадках компьютера виновата прослойка между стулом и самим компьютером. Не могу не согласиться: ноут, поставленный в потёмках на стул, покрытый пледом, начинает жутко греться и тормозить.
5341
Вспомнились годы обучения в Политехе. Специальность была интересная, связанная с инженерией и медициной, поэтому предметы преподавали и из одной области, и из другой. Один из предметов затрагивал анализ статистических данных.
Практика давалась относительно легко, особенно тем, кто дружил с Excel. А вот теория была не так проста: в конце кажого семестра студентов ждал тест на написанной студентом-асушником в качестве какой-то там работы программе. Прога именовалась в народе «О, счастливчик!», и вся цель состояла в выборе правильной формулы по предмету из четырёх вариантов. Имелась база вопросов и ответов (около 300 штук). В начале теста нужно было ввести число задаваемых вопросов, и по прохождении прога считала процент правильных ответов, по которому и ставилась оценка.
Первая волна студентов сдала тест на 100%, пользуясь хитрым клавиатурным комбо, выведанным у разработчика, за что того чуть не выгнали. Баг исправили. Вторая волна выбрала в качестве фона рабочего стола скриншот с окошком «Ваш результат — 100%». Их тоже быстро раскусили.
Каждый семестр база менялась, но вопросы были практически одинаковыии, так что мне хватило шести часов за компьютером, чтобы запомнить все 300 вопросов. Мой результат на настоящем тесте — 98%, потому что на один вопрос я ответил не вовремя, помогая одногруппнику. Впрочем, в запасе имелась найденная бага, которую я мог бы использовать при желании: нажав мышкой на рамку и потянув её на поле с ответом, можно было его закрыть, сделать так со всеми четырьмя вариантами, а затем позвать препода: «Прога глючит, можно ещё раз?»
5340
Листаю интернет, на ноуте рядом собирается Gentoo. Собирается уже долго — часов шесть. Интересная на этом ноуте индикация питания: лампочка горит только тогда, когда батарея заряжается, а когда разряжается или заряжена полностью, индикации нет. Зачитался я, смотрю — а ноут-то потух! Матерюсь… Вилка адаптера в розетку воткнута, вот только розетка разболтана, и питания на буке не было. Пошатав вилку, я сумел зажечь лампочку на ноуте. Загрузившись, я понял, что ядро таки собралось.
А прикол в том, что батарейка на ноуте была дохлой и держала заряд максимум полчаса. Вилка не могла отключиться: все мои движения сводились к шевелениям мышки и мягким нажатиям клавиш. Как ноут проработал шесть часов без перерыва — до сих пор загадка.
5339
В разгар новогодних праздников, когда все уважающие себя и других люди предавались заслуженному отдыху, меня поднял с кровати в восемь утра истошный вопль бухгалтерши 74 лет от роду. В телефоне слышалось лишь неразборчивое кряхтение, мат и слова: «Интернет! Пропал! Интернет!» Приехал в офис. Отдел, накрытый вайфаем, лежал намертво. Пошёл проверять роутер.
Так как в офисе трудятся люди далеко за 60, я заранее приделал к роутеру табличку: «Не трогать — убьёт!» Кто-то из старичков решил обезопасить себя от «ужасного излучения интернета», накрыв роутер алюминиевой кастрюлей и для надёжности обмотав фольгой.
Уволился. Нервы дороже.
5338
Устроился после армейки на работу менеджером по продажам и первым делом решил обеспечить себе комфортный сёрфинг. Немалая часть работы предполагала активное пользование интернетом: поиск клиентов, сбор информации о конкурентах и прочее. IE шестой версии и комфортный сёрфинг — вещи взаимоисключающие. Пишу по мылу человеку из группы администрирования:
— Сергей, а вместо Internet Explorer Огнелиса можно поставить?
— Нет, — ответил мне админ и чуть позже дописал: — Но могу предложить Mozilla Firefox 3.5.
Пришлось согласиться.
5337
Пришёл спам в контакте. Интересно же посмотреть — перехожу по ссылке.
Для Вас сгенерировано 1350 голосов!
Это единственный легальный способ получить голоса БЕСПЛАТНО.
Голоса нужно использовать до 31.02.2011.
НЕ нужно указывать e-mail или пароль.
Всё делается одним кликом мышки.
Нажми на кнопку, чтобы забрать свои голоса:
Забрать 1350 голосов
Уже выдано голосов: 1213820.
Не знаю, что меня больше напугало: то ли 31 февраля, то ли осознание факта, что голоса забрали 1213820 / 1350 = 899,126 пользователей. 0,126 пользователя — это, наверное, кусочек мяса, ещё меньший кусочек мозга — и везде кровь… Ужас.
Одним кликом мышки всё сделать не получится: надо выбрать, сохранить и запустить (пусть даже с клавиатуры). Ссылка ведёт на .zip.exe (пожат UPX, но весит 925 КБ), который даже не запустился под Вайном. Обидно. Прогнал через онлайн-проверку Доктора Веба — у них это давно есть в базах. Скучно.
В общем, я всё понял: эту хрень написали те самые 126 тысячных юзера, они же её и тестировали. А ведь так хотелось запустить, порадоваться за автора, узнать, что же он хотел от нас… Отправил предложение переписать под Ubuntu, а ещё выучить ассемблер и не страдать х@#нёй.
5336
Нижний Новгород, доблестный Политех, ФИСТ (факультет информационных систем технологий), первое занятие по языкам высокого уровня, десять лет назад.
Задача: сделать, чтобы комп пищал системной пищалкой три раза. О том, что в С надо подключать библиотеки, вся группа (кроме тех, кто был в курсе заранее) узнала из логов ошибок. Какие именно и как — из встроенных мануалов (это при живом преподе в аудитории). 9 из 10 компов таки запищали; за десятым не повезло сидеть мне. «Не зачтено». Все призывы посмотреть код и сравнить его побуквенно с творением соседей игнорировались. В итоге я достал отвёртку и под гневные вопли препода вскрыл комп. Оказалось, что пищать ему нечем: спикера в корпусе не было.
Программистом я не стал — решил, что время, потраченное там, где так учат и проверяют усвоенное, будет потрачено зря. Встречался потом по работе с выпускником, бывшим однокурсником. Оказалось, что я был прав: за пивком парень признал, что я, будучи скромным менеджером по персоналу, в программировании и компах понимал всё равно больше него.