Archive for category Work
Конференция
Вчера произошла в городе Бетезде конференция которую ежегодно спонсирует наша компания. Пришлось вставать в 5 утра и пилить на метро чтобы помочь там, а также поприсутствовать. Из всего зрелища порадовал только обед, французы не поскупились. Домой вернулся уставший как собака и в 8 часов. Как я понял сегодня из отзывов, пришедшим на конференцию она тоже показалась долгой. Из того, что народу ещё не понравилось:
1. Недостаточно женщин ораторов.
2. Совершенно нечего было жрать вегетарианцам. (Читайте, было дофуя вкусного мяса и т.д.). ![]()
3. Слишком холодно в аудитории.
4. Слишком жарко в аудитории.
5. Нихрена непонятно.
… похожие вариации. Вобщем, как сказал президент компании, конференция прошла успешно.
SQL Query
По незнанию SQL два дня ломал голову над одной проблемой. Есть таблица синонимов из трёх колонок. Первая, автоинкрементируемый номер, вторая, номер гена и третья, синоним этого гена. Синонимов на каждый ген может быть несколько. Проблема состояла в том, что надо для каждого номера гена найти синоним с наибольшим порядковым номером, т.е. самый новый и, следовательно, текущий синоним. Размеры таблицы не совсем гигантские, но всё же немногим больше 200,000 рядов, из них чуть больше 150,000 уникальных генов.
Босс немного поломал голову над проблемой и делегировал её мне. Я почесал репу где-то часик, т.е. реально подумал над проблемой 15 минут и получил такой “запрос”:
select * from entrez_gene_symbol group by entrez_gene_symbol.entrez_id;
Запрос выдаёт результат где-то секунд за 7, однако проблема в том, что это выдаёт самый первый синоним, но не последний как надо. Вот так я чесал репу до конца дня и в конце концов получил такую замысловатую query:
select * from entrez_gene_symbol where entrez_gene_symbol.entrez_gene_symbol_id in (select * from (select max(distinct entrez_gene_symbol.entrez_gene_symbol_id) from entrez_gene_symbol group by entrez_gene_symbol.entrez_id) as x);
Внутренний запрос “обмотан” в ещё одну, потому как по описаниям специалистов mySQL пытается запустить его в левом порядке, что не способствует скорым результатам. Однако это не помогло. С одной стороны запрос успешно работал и давал нужные результаты, с другой стороны, это занимало у него 7.5 часов.
Потом шеф усугубил проблему тем, что приказал, если не можешь сделать быстрый запрос, напиши скрипт который бы менял местами первый и последний синоним, чтобы можно было использовать первую query. Тут “шестерёнки” в моей башке завращались и проблема была решена абстрактно переделав первый запрос:
select * from (select * from entrez_gene_symbol order by entrez_gene_symbol_id desc) as entrez_gene group by entrez_gene.entrez_id;
Получается, тоже самое, но данные берутся из перевёрнутой таблицы. Знал бы SQL лучше, не парился бы так долго.
Понедельник
Понедельник начался как нельзя более хуёво. Во-первых, я программировал всю ночь достигнув в этом кое-каких успехов и результатов, но потеряв воскресный сон и отдых. К 5-ти часам утра мозг опять начал функционировать и мои изменения приобрели логический характер нежели просто комментирование отдельных строк с надеждой “а вдруг сработает”. Ещё через пять часов “трубопровод” (pipeline) уже грыз и выплёвывал данные. Об этом я тут же сообщил на базу в DoD и с горечью осознал, что сегодня я приду на работу аккурат к обеду, т.е. в 11:30. Так поздно я туда ещё не появлялся. Это могло повлечь за собой неприятную беседу с боссом.
Так оно и случилось. Предвидя его аргументы и отсутствие оных у меня в свою защиту, я мельком вспомнил, что на сиденье у меня лежит очередной штраф выписанный доблестной ментурой в предыдущую пятницу, но об этом я расскажу чуть ниже. Значит перед заходом я хватаю штраф в зубы и шурую к себе в офис. Естественно меня вызывают на ковёр и в мягкой форме предлагают поиметь совесть, прямо в кабинете. Я тыкаю пальцем в штраф, грю мол так и так, “имел свидание с законом”, “босс-хозяин, не вели казнить” и “клянусь мамом, такого впредь не повторится”. Было решено, что я прихожу на работу теперь к 10-ти утра, не то чтоб строго, но не забываясь.
А тут ещё и из Парижа прилетел ко-президент компании повпаривать нам всем мозги и сообщить чем же всё-таки занималась компания за последние 3 месяца со дня его последнего приезда. Его самолёт прилетал к обеду и никто не ждал его в оффисе в этот день наивно надеясь, что он будет отсыпаться в своём отельном пеньхаусе. Однако хозяин сошёл с трапа очень бодрым, видно отоспался в первом классе Эир Фрэнс, и прямиком намылил лыжи в офис. Лёгкий ажиотаж по случаю его прибытия я не застал заблаговременно предпочтя слинять на свой обычный продолжительный обед. Тем более, что я был одет крайне не по уставу: спортивное трико с ломпасами, небритый, невыспаный и в шлёпках. “Ни что не выдавало в Штирлице русского разведчика” по сравнению с золотыми запонками и сорочками от парижских кутурье и обуви от их итальянских коллег на президенте. Интересно, какие изменения грядут в нашем руководящем составе на этот раз.
Штраф или “Врёшь, так просто не возьмёшь!”
Значит решил я после работы, в кои веки, съездить на военную базу перед выходными в пятницу и освежить в памяти то над чем, я уже почти год так упорно работаю. Естественно, в наших краях опосля рабочего дня можно застрять в пробке аж на пару часов и я решил прибегнуть к незаконному проезду по HOV линии. Рассекал, я значит на протяжении нескольких миль в направлении Фредерика, но тут на обочине показалась ментовская тачка. Я решил не пытать счастья и съехать в обычную линию. Мент очевидно заметил мои потуги избежать правосудия и вышел из машины, чтоб пальцем указать мне на обочину. Однако делать его работу такой лёгкой у меня никакого желания не было. Я ещё раз перестроился в самый крайний ряд надеясь, что кто-нибудь всё-таки задавит его если он рыпнется на проезжую часть. К сожалению, все остановились и мусор изрыгая мат и проклятья в мою сторону упёрся мне в капот. Пришлось съехать на обочину и расписаться в получении ещё одной квитанции на $80 баксов. Хорошо хоть мент воздержался от нотаций с местоимениями “сынок” и “мальчик”, которые так полюбляют его коллеги из более южных штатов.
Velocity Templates
Наконец-то на работе мы вернулись к программированию. Начали развивать новую фишку у себя: Java с отображением через Velocity Templates. Надо будет на забыть записать всё это в резюме. Звучит умно, хоть и ничего слишком хитровыебанного в этом нет. Литературы по первому завались, а вот по второму нет почти нифига кроме инструкции от производителей. Значит будем искать!
Перерыв
Как видно по календарю, я взял недельный перерыв от писанины. За эту неделю не произошло ровным счётом ничего. Сплошное: работа-дом, дом-работа. В кратце можно подвести итоги недели. Закончил первую часть своей дипломной работы. Результаты учёных из Форт Дитрика не особо подтвердились, хотя положительный прогресс есть. Всего было пропущено через “трубопровод” 15 тысяч белков. Теперь предстоит тоже самое сделать, но более утончённо.
На работе грохнулась база данных. Тоесть, она не грохнулась, а обнаружились дупликатные записи в ней. Это грозило серьёзной жуйнёй. А всё от того, что лень боссу было соблюдать foreign key requirements с одной стороны и нежелание применять composite primary keys вместо автоинкрементных int-ов.
Вобщем простой был зверский и план по завершению был невыполнен. А сегодня подошёл ко мне вышестоящий босс и попросил, что-то вытащить из базы. Пришлось ему сообщить, что я даже не знаю какая именно из 4-х баз данных является “live”, да и схемы базы я не имею. Так что – расслабься. Думаю, завтра будут вставлены соответствующие пистоны.
У нас тут началось стихийное бедствие в Вашингтоне. Дожди смыли всё и вся, затопили все подвалы и всех гнездящихся в них. Вся столица по колено в воде, ибо спланирована была массонами, судьбы простых людей их особо не интересуют. Им бы с мастерком кирпичей покласть, а водостоки – лишнее. Вобщем, во всём виноваты культы и муссоны Карибского Бассейна.
Счастливый Час на Работе
Posted by Всеволод in Alcohol, Electronics, Entertainment, Work on June 16, 2006
Итак, вчера на работе у нас был официальный “Счастливый Час” (Happy Hour) растянувшийся естественно на целых пять. Я уже писал, что на новой работе народ любит частенько, по сравнению с предыдущими моими местами исправительно-трудовых работ, принять на грудь немного алкоголю. Раз в две недели мы ходим всем офисом на ланч, и вот на одном таком выходе в свет было решено коллективно напиться прямо на рабочем месте. Высшее же руководство тоже не стало откладывать такое важное мероприятие в долгий ящик и уже на следующей неделе, т.е. вчера мы имели это “Счастье”.
На самых высоких уровнях приняли решение, что это счастье заключается в коктейлях “Мохито”. Судя по легенде, сам Хемингвей полюблял этот кубинский лимонад. Рецепт его нехитр, как можно и убедиться щёлкнув на ссылку. И потому мы всем офисом быстро выжрали целую бутылку рома, маленький кустик мяты и полкило лимонов.

Мой прямой начальник, большой любитель видеоигр всякого рода, притащил из дому свою любимую приставку XBOX 360. Мы подключили её в конференц зале к проектору и бухие резались 5 часов во всякие игры. Вот так в духе обмена опытом, здоровом соревновании и нездоровом возлиянии прошёл мой четверг.
На Работе Новый Монитор

Начальник только что сообщил хорошую новость. Вышестоящие боссы одобрили его просьбу прикупить мне новый ЖК монитор. К концу недели я стану гордым обладателем BenQ FP202W Black 20.1″ DVI 8ms Widescreen LCD Monitor 300 cd/m2 600:1 0.258mm Pixel Pitch.
По нашим общим с боссом подсчётам такое увеличение полезной площади должно увеличить мою работоспособность.
На самом же деле, мы ещё будем посмотреть. Однако забота которую проявляют по отношению ко мне тут радует.
Очередное Открытие на Работе
Сегодня всем разослали очередное открытие которое мы собираемся запатентовать. Читая такое кажется, что вот-вот откроют панацею.
-
Paris , France – 19th May 2006 – ExonHit Therapeutics, a drug and diagnostic discovery company, today announces that it has filed a patent with the French Intellectual Property Institute (INPI) which covers a panel of genes that could enable the differential diagnosis of Alzheimer’s patients from blood. The use of these genes will allow the identification of patients suffering from Alzheimer’s disease from a population of elderly patients with no signs of cognitive disorders.


