Category: it

(no subject)

Второй день веду себя как подросток, у которого строгие родители уехали на дачу.

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

Сегодня с утра - десяток абрикосов и бокал вина пойду осмотрю свои виноградники.

Обычно в течение рабочей недели Таня у бабушки на даче, Катя безвылазно дома. В выходные наоборот, Таня дома, Катя - у бабушки в квартире и у отца. Раз уж хоть кто-нибудь из детей, но со мной, - я слежу, чтобы ребенок ел нормально, и сама ем вместе с ним.

На этой неделе обе - Таня и Катя - поехали с бабушкой. Гуляй, рванина.

Усугубляет ситуацию то, что я работаю из дома. Как только нас вывели с британского проекта, я взялась за свой основной скилл - Оракл. Разговор шел, что есть возможность попасть на оракловский проект, поэтому я быстро, за две недели нагуглила статей и тьюториалов, которые признала полезным, свела их в один огромный pdf-документ, закачала его в планшет и перечитывала внимательно, чтобы начать мыслить нужными категориями (за два с половиной года любой язык забывается до состояния "читать могу, писать нет").

Теперь разговор пошел про другой проект, где Oracle + JavaScript. (На предыдущий проект меня рассматривать не стали, но это нормальная ситуация. Не отказали, а просто "задержали" ответ на письмо ресурс-менеджера, что может случиться по любым, самым разнообразным причинам).

Джаваскрипт я люблю, но знания по нему у меня довольно отрывочные. То есть, опять же, могу действовать по мере необходимости изменений: чужой код прочитаю, непонятное погуглю, нужное изменение внесу. Пособеседовали по джаваскрипту, сказали, что у них на проекте этого недостаточно, и ресурс-менеджер предложил мне пройти обучение типа менторинга. Будет назначен ответственный за меня из числа фронт-эндщиков (программистов, занимающихся дизайном пользовательского интерфейса). Уже необязательно ради второго проекта (возможно, меня никто ждать не станет, а возможно, подождут), но ради того, чтобы быть в тренде. Я, конечно же, согласилась.

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

И, короче, дома это все можно совмещать с абрикосами и просекко. Я сказала просекко?.. Ура, я могу писать посты, где я пью охлажденное просекко!

Поеду на мотороллере виноградники осмотрю. Вместо того, чтобы позавтракать нормально.

(no subject)

Я извиняюсь, что нескромно, но...)



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

Наверху написано "Git - не очень. Universe - тоже". Коллега jakobz уже догадался, что с некоторых пор он является создателем локального офисного мема, а я, если он позволит, опишу историю немного подробнее.

Коллеги в комнате с упорством маньяка писали на нашей доске фразу "Java не очень" (язык программирования). Джависты негодовали, приходили к нам высказать свое фи, стирали надпись, дописывали окончание фразы, чтобы она стала нейтральной... Бестолку, как ни приду в офис - вижу девственно чистую доску с единственной надписью "Java не очень".

Уже весь офис знал, что у нас на доске всегда висит надпись, прикалывались... Потом я привезла из Питера открытку "Граждане! Просьба требовать наливать кружку по черту", и мы ее повесили на дверь с внутренней стороны. Потом ниже открытки прикололи лист А4 с напоминанием выключать свет. А через пару недель надпись добралась и туда.



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

Вот такие все у нас шутники.

Чопта роисси

Я не любитель пинать нашу почту, но тут уже до смешного.

В сентябре Катя попросила заказать у китайцев подушку 150*50см, с которой спят в обнимку. Заказала, продавец отправила, 30.09 статус Экспорт. И всё.

2 декабря, т.е. больше, чем через 60 дней с того момента, как трекинг обновлялся последний раз, я не выдержала и написала продавцу. 3 декабря продавец связался с почтой (или подал на розыск) и прислал мне письмо с извинениями.




5 декабря посылка волшебным образом "Прибыла на территорию РФ".
Collapse )

Как я провёл лето, часть первая.

Последние годы я практически не была на крупном проекте - там, где бесконечные поставки, митинги, разработка по ТЗ, распределенная по разным городам команда и т.д. Вспоминается: постоянно мной, пардон, затыкали какие-то дырки. На месяц-полгодика, "помочь ребятам". Несколько раз даже и в состав проектной команды не включали, просто "поможешь им к сроку доделать".

Раз брали на месяц по договоренности, а один из главных людей из команды ушел, и пока искали ему соответствующую замену, подержали месяцев восемь. Другой раз брали на полтора года на ужасную, унылую техподдержку, причем не программистом, а саппорт-инженером, который при получении письма от заказчика бодро рапортует "принято в работу", заводит во внутренней системе запрос на поддержку и делегирует запрос кому-то из "серьезных программистов". Через полтора года я, распевая радостные песни, отправилась в декрет, потому что при попытках уйти с этого проекта директор рязанского офиса (которому я обращалась по поводу проблемы) делал неопределенное лицо и говорил, что сейчас кризис (2008 год), хорошо бы все-таки работать пока работается, тем более, если заказчик платит.

Этой весной вообще придумали обучение методологии DevOps, затем прошлись метлой по офису и кого зацепили (свободных) - тех и стали самообучать на англоязычных материалах. Я тихо взвыла, потому что там был Линукс и системное администрирование. И хоть теперь я могу гнуть пальцы и даже цеплять на себя гордое звание линуксоида, x%*!?%:*#%$@^%, простите мой английский.

Надо еще сказать, что основной мой skill (сидела думала, как перевести привычное слово из офисного руинглиша, ну, пусть будет дословно - квалификация) - программирование под Oracle, подкрепленное многолетней практикой, а за время скакания, описанного выше, Оракла я почти не видела, но зато влезала и в SQL Server, и в MySQL, кусками, едва успевая познакомиться с обрывками чужих систем, каждый раз только-только начиная разбираться, с постоянным внутренним ощущением юного падавана.

Мало того, с таким "несерьезным отношением" к рабочему процессу ни о каком повышении зарплаты, бонусах, минимальном карьерном росте речи идти не могло.

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

Боже мой, какое счастье, - подумала я и круто ухватилась за дело.
Collapse )

(no subject)

Листинг обычной программы:



Когда программирование - песня!





(Прошу прощения за столь мелкие картинки, решила защитить интеллектуальную собственность заказчика. Главное, форматирование видно).

(no subject)

Вчера был прикол. На Руби, который я сейчас ни шатко ни валко изучаю (вместе с Питоном), нужно было написать скрипт, устанавливающий соединение с БД MySQL, создающий базу, в ней таблицу, затем заполняющий таблицу данными.

Ну, нагуглила необходимые операторы, создала файл сценария, назвала его mysql.rb (как бы первое, что приходит в голову, если предстоит работа с mysql). Запускаю на выполнение... валятся ошибки на строке require mysql. Ищу описание ошибки - предлагают миллион решений одно другого страшней.

И лишь каким-то чудом нашла на буржуйском форуме подобный вопрос от человека. Ему никто на вопрос не ответил, и он - добрая душа - все-таки нашел ответ и выложил его со словами "мне немного неудобно, но, возможно, это кому-то поможет".

"Mysql" - название библиотеки для работы c mysql, можно сказать, зарезервированное слово. А я (и "добрая душа" тоже) назвала так исполняемый файл. Что интерпретатор крайне не одобрил.

Специально зарегистрировалась на их форуме и оставила человеку сообщение thank you very much. Не выложил - и я бы, может, неделю сидела. Питоновский интерпретатор аналогичное имя файла (mysql.py) воспринял нормально (там модуль, нужный для работы, называется MySQLdb).

Кстати, скрипт на Руби оказался в два раза короче питоновского и как-то нагляднее. Все же я склоняюсь больше к Руби.

jQuery

Показать вам мой говнокод мою домашнюю работу?:)

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

Сначала я подумала "чего он пристает ко всем со своим домашним заданием, читал бы лекции и читал, вроде всё и так понятно". Но лектор оказался прав, и выполнение домашней работы потом и кровью дало свои плоды:). Кровью - потому что я не веб-разработчик, не имею дела с пользовательским интерфейсом и с простейшим JavaScript последний раз сталкивалась 6 лет назад. Соотвественно, онлайн-учебник был мне в помощь на любой программный чих.

Домашняя работа вот тут http://jsfiddle.net/annikafluffy/cUeFr/. Смысл ее: организовать пользователю возможность работать с уже существующей таблицей на html-странице как с обычной таблицей excel, т.е. добавлять и удалять строки, редактировать имеющиеся данные.

Там в правом нижнем окне нарисована вырвиглазная табличка (в том самом виде, как она будет существовать на странице какого-либо сайта), а в левом нижнем имеется код, обеспечивающий ее появление. Можно попробовать поредактировать поля 'Имя', 'Количество', 'Цена', 'Скидка' (кликнуть на эти ячейки и изменить, например, цену, и увидеть, как пересчитается общая сумма). Или подобавлять и поудалять строки путем нажатия на соответствующие кнопки (с занесением новых данных в ячейки новых строк и аналогичным пересчетом общих сумм).

Я бы вставила табличку прямо в пост, но оказалось, что ЖЖ блокирует JS-скрипты в записях. Поэтому вот скриншот

а попробовать таблицу в действии можно по ссылке выше.

Ну, и небольшой прикол. Лектор выдал шапку из 7 колонок и предложил каждому динамически наполнить таблицу двумя строками по умолчанию. Судя по названию столбцов, это была стандартная таблица заказов: наименование товара, его количество, цена за единицу, сумма и т.д. Перед выполнением домашней работы я втыкала на буржуйских сайтах в зимнюю куртку и сапоги, предполагая, впрочем, что вещи за такую цену мне в этом году не светят. Начав выполнять работу, я решила хотя бы поиграть в заказ, и внесла в таблицу две интересующие меня строки: куртку за $275 (на нее еще была скидка 10%) и сапоги за $300. После выполнения задания отправила лектору на проверку.

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

Я устыдилась. И пошла домой перебирать свой мелкий жемчуг.

Будни праграмиззта

Еще была на проекте по разработке программного обеспечения для одного небезызвестного банка (упоминаю об этом не из хвастовства, а чтобы усилить впечатление от рассказа).

Код начинали писать программисты банка, люди с юмором (очевидно, они бы оправдались тем, что работа такая, без юмора нельзя). В результате, на рабочем сервере в коде приложения можно встретить следующие конструкции либо комментарии:





Я спросила осторожно у ведущего разработчика, знает ли непосредственное начальство, что программисты хулиганят. Потому что на одном из прошлых проектов заказчик ревьювил за нами код, и вовсе не синтаксис, а единообразность кода со следующей точки зрения: INTO должно располагаться не прямо под SELECT, а отстоять на 2 пробела, либо имена переменных в процедуре должны были полностью повторять имена столбцов, значения из которых они принимают (даже если длинные имена). Если же это было не так, высказывались претензии. Представить себе, что у них в промышленном коде было бы написано "Если пришла хрень, уходим отсюда", невозможно было бы даже в страшном сне.

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

Вспомнила, пока писала пост, случай, о котором мне рассказал знакомый администратор Оракл. У них в организации официально существовал составленный администраторами же документ, а точнее целый журнал сбоев, в котором были перечислены возможные нештатные ситуации с БД, и даны рекомендации, как в этом случае поступить. Туда были внесены и некоторые ошибки Ora, и некоторые, очевидно, случавшиеся ранее, проблемы с аппаратным обеспечением. Рекомендации выглядели примерно так: а) поставить в известность начальника отдела, б) восстановить из резервной копии такой-то, в) выполнить еще какие-либо действия, г) profit.

В случае сбоя робота, который устанавливает магнитные ленты в устройства чтения-записи, рекомендовано было следующее (парень показал скриншот):

- позвонить на радио и заказать для Пети Иванова (напарник) песню "Роботы-ебоботы" группы "Ленинград".

(no subject)

Однажды была на проекте, где выполняла функции инженера техподдержки.

Конечный пользователь слал имейлы в it-подразделение головного офиса. Те перенаправляли нам письма с просьбами выдать хитрую выборку или просьбами поправить данные после неправильно выполненного расчета.

С конечным пользователем была проведена беседа, что тема письма должна быть кратким резюме письма, например: "Поправить график КД №1234567". По большей части это соблюдалось, однако, периодически приходили письма с темой "Помогите!" или "ИС не работает!".

Как-то открываю аутлук, а там новое письмо с темой "FW: Грибло!!!"

Первая мысль - ругаются. Конечный пользователь и it-отдел.

Открываю письмо и читаю: "Здравствуйте, коллеги! Прошу поправить кредитное дело Грибло Евгения Михайловича №123456".

Возможно, у них сроки поджимали с отчетностью, а тут одно КД не рассчитывается, поэтому тема письма обрела такую экспрессивную окраску. И, скорее всего, фамилия у человека была ГрИбло. Но стоило поменять ударение на интуитивно понятное (ГриблО) - и получилось оригинальное ругательство:)...