воскресенье, 9 декабря 2012 г.

Word Masterpiece

Вполне себе кричащий заголовок, не правда ли? =)

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

среда, 7 ноября 2012 г.

Хабраюзер

Последнюю неделю довольно активно разрабатывал это расширение для Google Chrome. Посвящается всем, кто более-менее активно читает хабр. Сегодня выкатил достаточно большое обновление и хотел бы немного рассказать о нём.

К слову, несмотря на то, что расширение называется Хабраюзер, чтобы им пользоваться, зарегистрированным хабраюзером быть не обязательно =) Достаточно быть просто читателем, на функционал это никак не влияет.

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

Прошло немало времени, прежде чем у меня дошли руки и я реализовал этот функционал и обновил расширение (которое в то время называлось Habrauser popup).

В то время я стал замечать за собой такое поведение при чтении комментариев: листаем-листаем-листаем, считаем голоса и читаем сильно заплюсованные комментарии и их эпсилон-окрестность. А почему бы не делать это программно? Подсветим топовые комментарии!

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

Это послужило стимулом для инфраструктурной разработки: страница опций! Почему-то именно она выпила больше всего крови! Но была успешно допилена в версии 0.8.6, в которой я только и пытался уведомить о том, что расширение - это теперь не только ценный попап. Название было обновлено.

Закончив с подсветкой топовых комментариев, я стал оптимизировать. Немного покопавшись в Chrome Extension API я избавился от кучи лишнего неочевидного тяжеловесного кода, значительно упростил и включил синхронизацию настроек. Вот и опубликована версия 0.9.2 (нолик в начале ужасно читерски спасает от излишних придирок, типа: это бета-версия, чо вы хотите! Усё исправим! =) )

Надеюсь, кому-нибудь кроме меня покажется полезным =)

Собственно, установить отсюда.

Исходный код на GitHub: репортим баги, реквестим фичи, ставим звёздочки, присылаем пул-реквесты =)

Хорошего дня!

пятница, 2 ноября 2012 г.

Код в Blogger

Уже не раз писал о том, каково это, вставлять сюда какой-либо код.

Недавно задумался о том, что у гитхаба есть ничего так себе гисты (gist), с подсветкой, версионированием и форками, и их, к тому же, уж очень удобно встраивать! Посмотрим как это в будущем спасёт мир!

В самом редакторе они, почему-то, не отображаются, пустое место. Ну и фиг с ним. Заэмбеддим мальца!


И ещё сиквела!



Расскажите, как это в RSS это читается? Всё видно?

пятница, 26 октября 2012 г.

Intangible EP

Вчера положил старый вечно-недоделанный-с-2009-и-по-никогда трек на SoundCloud. Трек хороший, мне нравится, пусть и недопиленный, но вполне слушабельный.

Можно послушать прям тут:



Сегодня от нечего делать оформил 7 старых и вечно-недоделанных треков 2009 года розлива в Intangible EP (EP = extended play - это уже не сингл, где только 1-3 трека, но и не полноценный альбом, который > 70 мин). Перевёл в статус общественного достояния, а то чё я только один слушаю.

Треки все старые потому что получены с восстановленного винчестера, который подох в 2009 и только недавно дошли руки его уже наконец оживить.

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

Саморелиз потому что... просто, потому что. Нафиг лейблы. С первым альбомом навозился и толку никакого. Да, задистрибьютили, молодцы, спасибо. Я лучше на трекер выложу.

Часть названий и картинку тоже придумал только вчера.

Собственно, линк на рутрекер. Enjoy'n'share.

И да... хорошего дня!

воскресенье, 21 октября 2012 г.

Новые комментарии

Только что прикрутил комментарии от Disqus, дефолтные уж очень раздражают.

Задача системы - унифицировать комментарии по всему интернету; позволяют логиниться из большинства популярных сервисов и вроде бы достаточно гибкие.

Посмотрим, что из этого выйдет. Можно протестировать! =)

Удобности в Ubuntu

Не так давно пришлось поработать в Убунте (12.04) и я немного попытался привести её в более привычный вид.

понедельник, 23 июля 2012 г.

ICS

На днях прилетело обновление до Android 4.0 Ice Cream Sandwich. До этого пугали всякими гадостями о багах и нестабильности этой сборки от HTC. Чтож, посмотрим!

вторник, 3 июля 2012 г.

Тестируем JavaScript

Конечно, все мы знаем, что сейчас всё больше приложений, порядочная часть логики которых лежит на клиентской части приложения (или дублируется). Чем её больше, тем туже макаронный клубок на вашей шее. Всё взаимозависимо и починив одно, очень легко поломать другое.

Есть несколько способов разрешения ситуации. Можно, например, возненавидеть javascript и перейти на GWT/Vaadin/etc, тестировать java код в привычном окружении и на выходе получать протестированный javascript. Но, кому-то либо уже поздно, либо нет желания, либо ещё что-нибудь.

Сегодня расскажу о том, как можно тестировать JavaScript с помощью библиотеки JavaScript Test Driver (JSTDот Google.

воскресенье, 1 июля 2012 г.

Интересное в июне

Всем привет! Немного о том, что же интересного было в начале лета.

среда, 27 июня 2012 г.

Бенчмарк списков в C# и Java

Чисто по приколу провёл сравнительный супер "бенчмарк" массивов и листов в C# и Java.

Время в C# засекал StopWatch'ем, в Java — System.currentTimeMillis().
Число элементов: 10000000

C#
 


IntArray: 38
ObjList:   1239
IntList:  161

Java


IntArray: 8
ObjList:  1440
IntList:  1161


Не знаю, почему C# так тупит в банальном заполнении массива числами, но вот то что генерики в джаве подкачали - думаю, очевидно. Скорость автоупаковки в действии. Хотя шарпу удалось обогнать и при упаковке.



Но ещё интересно, почему в Java generic и object листы выдают разные результаты, ведь на выходе должен быть один и тот же код. Хотя, может там есть дополнительная оптимизация для параметризованных классов.

Примечательно так же, что компиляция C# в Release код не привела к хоть как-либо значимому ускорению, хотя я ожидал. Видимо, я заблуждаюсь на этот счёт.


Хорошего дня!

понедельник, 28 мая 2012 г.

Интересное в мае

Месяц был не очень насыщенный событиями, скорее учёбой. Так как последний курс плюс отправка вояк в лагерь, сессия сдвинута на пораньше. Поэтому в мае закрыты почти все курсы. Экзамены не котируются, поэтому все автоматом (при условии успешной сдачи лаб/курсачей).

Что ж, приступим.

Музыка:
Эээ... не понравился совсем, послушал несколько раз для галочки, как и отписался здесь.

Узнал о нём в теме про последний альбом Infected Mushroom (который уже заслушал до дыр). А там флуд типа "IM такой дабстеп страшный, а вот Скази!! мммм!". Открываю тему со Скази, жму плей, втыкаю. Тот же дабстеп, те же люди срутся о том же, что и с грибами. Фейспалм. Хотя альбомчик вроде ничего, гитара компенсирует треш.

VA - Obsession Lounge
Четыре сборника по несколько дисков в каждом отменного лаунжа, в сумме 102 трека, 8.5 часов релакса. Замечтательный чилаут, много знакомых треков. Настоятельно рекомендую.

Wilco
Просто приятный инди рок, подслушанный в одном из последних эпизодов хауса.

На азот немного подзабил, в вечер четвергов как-то музыку хочется слушать в последнюю очередь. Не знаю почему так вышло =)

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

Заметно чаще стал посещать фейсбук. Обнаружил много приятных социальных моментов. Не хватает сильно только гугловской функции распознавания лиц и автозакачки фото с телефона. В остальном гугл здорово отстаёт...

Поучаствовал в Dropquest 2012. Задачи нереальной сложности, прошёл несколько сам, потом сервера дропбокса сложили часа на два. Я потерял интерес и дальше следил только за готовыми ответами в Google Docs (которые, к слову, тоже ложились несколько раз). Как подобное можно решить в одиночку, представляю себе очень слабо. Финишировал 25-тыщ-каким-то, гигабайт таки отжал. Будет что вспомнить хотя бы =)


Сходил с Никой на концерт God is an Astronaut. Музыка хороша, концерты я люблю не очень. Клуб P!PL огорчил сильно, приехали за полчаса до начала, но простояли два часа на лестнице, дальше не пускали. Получилось так, что началось в 21:30 вместо обещанных 20:00, а в 23 я уже планировал быть дома. Очень жаль.



Гоняю мобов по просторам Diablo 3, Ника иногда помогает =)

В целом мне всё нравится, хотя и не без багов. Но я верю, что всё исправят. Присоединяйтесь.

Всё так же наматываю километры на велике, без особых проишествий, см. Sports Tracker.

И да, жаль что хаус закончился. Замечательный, наполненный сарказмом, артистизмом и креативностью.

Есть смысл глянуть бонусную серию от Хью Лори "House M.D. - Swan Song" о съемках сериала.

Спасибо!
Хорошего дня!

вторник, 8 мая 2012 г.

Персональный репозиторий

Все разработчики знают (или хотя бы слышали) о SourceForge, GitHub и тысячах подобных облачных сервисов, которые предоставляют относительно свободные svn или git репозитории разработчикам. С этим есть ряд проблем (основные, имхо):
  • Скорость иногда просто удручает.
  • За приватность проектов нужно платить (эти площадки всё таки для open source проектов).
  • Иногда не хочется засорять облако проектами в духе "я тестировал консоль", но где-нибудь этот один файлик  таки очень хочется оставить на память.
  • Не очень понятно, что на этих сервисах с местом.
Но тут приехал +Антон Маховер и подкинул идейку, от которой у меня мурашки по коже и я в восторге последнюю пару часов. Идея не нова, но я о таком не задумывался ранее.


Шаги для достижения счастья:
  1. Ставим Dropbox
  2. Ставим TortoiseSVN
  3. Добавить плагины в IDE по вкусу
  4. Создаём svn репозиторий внутри папки Dropbox
  5. Работаем как обычно!
Если есть необходимость рассмотреть этот процесс подробнее, со скриншотами, см. сюда (перевод).

Что мешает держать код в Dropbox как есть?
На самом деле - ничего. Это всё субъективно. Меня, например, банально раздражает то, что каждый раз когда я собираю проект или сохраняю файлик, изменения моментально начинают лететь по сети во все стороны.

Версионность в Dropbox'е есть, однако там всего лишь хранятся несколько последних копий файлов, на всякий случай. Не очень подходит в случае кода.

Ко всему прочему, синхронизируются всякие лишние конфиги IDE, бинарники и различный кэш того же решарпера. Если я сижу под виртуалкой, а обмен с хостом осуществляется с помощью Dropbox'а, уведомления об обновлениях добивают. Да, их можно отключить, я знаю.


Что получаем на выходе? 
Да дофига всего:
  • Прежде всего то, ради чего всё это делалось - версионность кода.
  • Репозиторий теперь локальный - про медленную скорость можно забыть.
  • Никаких лишних файлов в облаке и синхронизаций по движению мыши.
  • Совместные проекты? Проще просто, в Dropbox есть гибкий механизм расшаривания.
Конечно, у данного решения есть и свои минусы:
  • О безопасности речи не идёт.
  • С опознаванием автора кода в совместном проекте могут быть проблемы.
  • В Dropbox место тоже не очень то бесконечное, но на более-менее обычный код должно хватать с лихвой.
  • Расшарить проект с человеком, у которого нет svn уже не так тривиально.
  • Если Вы забудете закоммититься, изменения сами, кэп, не синхронизируются.
Надеюсь, решение будет полезным. В первую очередь я буду использовать это именно как персональный репозиторий.

А какие Вы видите плюсы или минусы в использовании SVN в тандеме с Dropbox?

Спасибо!
Хорошего дня!

пятница, 4 мая 2012 г.

Реинкарнация?

А что будет там, после, хм, смерти?

вторник, 1 мая 2012 г.

Интересное в апреле

Привет всем! Поведаю о том, что же более менее интересного случилось за прошедший месяц.


Кино:
  • Битва Титанов
    В предвкушении Гнева Титанов, посмотрел приквел. Нормальное кино, ни о чём в общем-то, но смотреть можно, красиво, да. На вторую часть так и не попал, посмотрю потом.
  • Голодные игры (Кинопоиск, в блоге, How It Should Have Ended)
  • Американский Пирог: Все в сборе (Кинопоиск)
    Очень порадовал: те же герои, та же пошлость, отлично! Если Вам нравятся другие пироги (1,2,3), понравится и этот.
  • Пересмотрел всех Пиратов Карибского Моря
    Не знаю, как так вышло, но на выходных расхотелось что либо делать, плюс здоровье захромало, и внезапно вся серия сама посмотрелась! Правда!
Музыка:
Только одна запись:
Infected Mushroom - Army of Mushrooms
Вообще, выходит 8-го мая, но утёк в сеть сегодня. Просто послушайте =) 
По жизни:
В честь моего дня рождения я заполучил желанную всеми геймерами мышь от Razor. Отменная мышь, в руке лежит как влитая, скользит как по маслу. Больше просто нечего сказать, отличные впечатление, спасибо угадавшим! =) Понадобился, правда, к ней и коврик, но это не стало проблемой. Вдвоём украшают мой стол.
Сдал таки доки на загран и расписал детали того, как это делается в МАИ. 


"Бета Дьяблы" не прошла мимо =)
В то время "ветераны" уже весь форум исписали, как же всё плохо и насколько трава раньше была зеленее, а дьябло краснее. Тролль на тролле прям. Однако, есть и вменяемые
Я поиграл в бету два дня. Сделал предзаказ. Всё. В Diablo II я играл все 12 лет с 2000. Не думаю, что с D3 будет по другому =)
Ну да, ощущения другие, нет skill tree, статов, непривычно. But that's how life work. Всё меняется. Так же можно и альбом машрумов засерать, говорить "псай уже не тот". Да ну, пустая трата времени. Займитесь чем-нибудь полезным.

Между тем я стал счастливым обладателем GT Aggressor 3.0. Ролики теперь в прошлом - от них болят ноги! =) Планирую ездить по делам (если недалеко), может быть в магазин и на работу. Да и вообще очень приятный девайс! Спасибо Дюхе за наводки на велики!

Милости прошу в друзяшки на Sports Tracker, а для затравки - наш тестовый заезд сразу же после покупки:

Как вы помните, в прошлом месяце я рассказывал о Coursera

Так вот, в этом месяце там открыли ещё пару десятков курсов! В этот раз я взял Machine Learning на 10 недель и CS101 - это что-то вроде введения в компьютеры для нормальных людей - ради интереса. Присоединяйтесь!

Вот, наверное, и всё, что было интересного в апреле =) 

Спасибо за внимание!
Хороших праздников!

суббота, 21 апреля 2012 г.

Java object initializers

После перехода на Java очень не хватает различного синтаксического сахара, присущего C#, периодически даже можно впасть в тоску. В этот раз я хочу сказать кое-что о инициализаторах объектов.

Типичное создание объектов в Java:

 Person joe = new Person();  
 joe.setFirstName("Joe");  
 joe.setLastName("Doe");  
 joe.setAge(33);

В то время как в C# это выглядит так:

 var joe = new Person { FirstName = "Joe", LastName = "Doe", Age = 33 };  

Чуть проще, не правда ли?

Недавно в исходниках на работе я наткнулся на интересную конструкцию, которая привлекла моё внимание:

 Person joe = new Person() {{ setFirstName("Joe"); setLastName("Doe"); setAge(33); }};  

Хм, странно, конечно, двойные фигурные скобочки? Но уж очень мне это напоминает код на C#.

Я обрадовался — для меня это выглядит получше четырёхстрочной инициализации. Однако, немного разобравшись в смысле этой конструкции, моя радость быстро превратилась в... что-то вроде подозрения.

Что на самом деле происходит за кулисами?

среда, 18 апреля 2012 г.

GMail

Недавняя статья Джефа Атвуда о безопасности гмейла зацепила за живое. Я и так недавно задумывался о том, что многовато одинаковых паролей использую. Даже когда-то видел в LastPass инструмент для статистики по дубликатам и надёжности паролей, сейчас что-то уже не нашёл. У меня всё оказалось прямо таки так же плохо как и у людей о которых говорят в статьях по безопасности в лучшем случае "не делайте так".

Сегодня с утра я включил двух фазовую аутентификацию и распечатал пачку одноразовых кодов как для гмейла так и для ластпасса, отозвал авторизацию всех приложений, связанных с аккаунтом гугла, сменил в почте пароль на 20-ти значный параноидальный бред и судорожно стал его заучивать. Теперь куда не ткнусь — везде слетела авторизация. Ужасаюсь, как много доступа я раздавал.

Обезопасьте и свою виртуальную жизнь! 
Хорошего дня!

пятница, 13 апреля 2012 г.

Assume that...

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

Это не выглядело правильным и мне пришло в голову во время выполнения игнорировать тест, если база находится в неподходящем состоянии.

NUnit позволяет это делать с помощью очевидно инструкции: Assert.Ignore()

The Assert.Ignore method provides you with the ability to dynamically cause a test or suite to be ignored at runtime.

Однако в JUnit я подобного не обнаружил. Поковырявшись ещё немного, я нашёл класс Assume:

A set of methods useful for stating assumptions about the conditions in which a test is meaningful. A failed assumption does not mean the code is broken, but that the test provides no useful information. The default JUnit runner treats tests with failing assumptions as ignored. Custom runners may behave differently.

То что надо! После рефакторинга вышло что-то такое:

assumeTrue(db.isNotLocked());
db.lock();
// do stuff with db

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

Хорошего дня!

четверг, 12 апреля 2012 г.

Я переехал!

Погрязнув в настройках G+ и Blogger и собравшись с силами, я таки переехал. С сегодняшнего дня мой блог доступен по адресу:


Лёгкий шаблонный редизайн прилагается. Так же теперь можно поставить +1 к любому сообщению или ко всему блогу (сбоку всплывающая панель), а так же добавить меня в круги в Google+ (там же). Милости просим!

Спасибо!
Хорошего дня!

пятница, 6 апреля 2012 г.

Как получить загран. паспорт в МАИ

Из своего личного опыта, который был только что заработан, хотел бы выделить несколько полезных заметок для тех, кто захочет получить загран в МАИ.

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

понедельник, 2 апреля 2012 г.

Кино: Голодные игры

Да, наученный опытом случайного удаления больших постов буду плодить маленькие.

Собственно, Голодные Игры
Ходили взамен Гнева Титанов, на которые не попали по времени. Осторожно, снизу может быть спойлер!

суббота, 31 марта 2012 г.

Интересное в марте

Сейчас здесь должен был бы появиться достаточно громоздкий пост, который я собирал по маленьким кусочкам весь март. Не ожидал такого от гугла, но я случайно этот пост удалил и не было кнопки "undo" =(

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

воскресенье, 11 марта 2012 г.

LESS and SASS


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

четверг, 8 марта 2012 г.

Kanban with Trello

Не так давно я познакомился с методологией "бережливого производства" Kanban (wiki, en).

Методология пришла к нам из Японии, с завода Toyota, где работник Taiichi Ohno решил воспроизвести принципы супермаркетов в производстве. То есть, каждый посетитель магазина берёт столько товара, сколько ему нужно, а затем сотрудники восполняют товар на полках, при этом не храня на складе больше чем планируют продать; также и в производстве - например, детали запрашиваются только когда они нужны и производятся только тогда и в том количестве, в котором они нужны. Это позволяет избежать переработок и простоя.

пятница, 2 марта 2012 г.

Google Music


Не так давно стал пользователем Google Music.

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

Не играет, когда закрываю хром. Ладно-ладно, выпендриваюсь.

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

Есть отличный поиск, это же Google:



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


C телефона, если установлено официальное приложение last.fm, прекрасно скробблится, а вот с сайта вроде бы нет, что немного печально.

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


Ну и ссылочки напоследок:

Хорошего дня!

upd
Скробблить музычку таки можно через расширение к хрому.

среда, 29 февраля 2012 г.

Интересное в феврале

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

четверг, 9 февраля 2012 г.

Планшет

Хочу поведать небольшую историю своего планшета Asus Transformer TF101.
Купил я его в октябре, даже уже и не помню причины (что-то в духе "календарь, мозгокарты, интернет 3G, книжки"). Просто жутко захотелось планшет, да ещё и с клавой, чтобы можно было записывать, например, лекции. Как очевидно, планшет ни разу для подобных целей не использовался =)

вторник, 24 января 2012 г.

Полезная железка

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

А именно — это четырёхканальный предусилитель, который позволяет всего лишь дублировать сигнал на 4 исходящих канала с одного входящего. Прошу любить и жаловать =)

upd. Нет, наврал.

У этой штуки сзади по 2 выхода на каждый канал (джеки 1/8" и 1/4") и, как оказалось, они оба выдают звук одновременно! Только контролируются одной ручкой. Так что выходов получается целых 8! Фига =)

вторник, 17 января 2012 г.

Дипломы 2012

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

Преподавательский состав по большей части запечатлился здесь:
Слева направо: Гедаспов (тут его нет =), Сошников, Тишкин (председатель комиссии), Ревизников, Лукин и Иванов (не попал в кадр). На втором ряду (см. фотку ниже): Скородумов и ещё один неизвестный мне преподаватель. В последнем ряду сидели в основном дипломники, но среди них был Гаврилов и ещё одна тётя в фиолетовом, я её не знаю.
Ещё две партии будут защищаться завтра и послезавтра.
Далее сугубо моё впечатление.

Первым делом, когда мы вошли, я подумал, что уж больно все преподы в комиссии "математики". То есть, кафедра то у нас, казалось бы, готовит программистов (сужу, конечно, по своей группе), а из программистов как таковых там были только Лукин да Сошников. Ни Тебе Филимонова, Марасанова, Зайцева.

В тот момент заканчивала защищаться девочка, что-то там про 1С было, я не успел вникнуть. Ей задали пару вопросов, спросили руководителя (Лукин), зачитали рецензию (видимо, самопальную), попросили ответить за упомянутые в ней "недостатки" и дали сказать заключительное слово.

Выглядело достаточно просто. Я только мучался вопросом, как здесь защищать какие-нибудь современные темы... решетки, джаву, html5, javascript...
Вышел следующий дипломник и, о чудо! JavaScript! "Это становится интересно", подумал я. Чел повествовал (достаточно уныло) про минификацию и сжатие скриптов, а так же, зачем это нужно. Преподы, похоже, скучали - тыкались в свои бумажки и делали вид, что слушают. Мм, да Вы не в теме?

Это закончилось достаточно быстро, последовала пара общих вопросов из области того, что поняли (транскомпиляция), что-то про эквивалентность кода и все. Затем Лукин похвалил своего дипломника (да-да, этот тоже его), сказав что "я писал синтаксический анализатор в дипломной работе и генератор кода в диссертации, а тут все сразу!". Никто особенно против и не был и всё мирно закончилось.

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

Последняя девочка рассказывала про решение задачи о расписании. Презентация была вялая и слайды "так себе". Начало я пропустил, вернулся в момент описания генетических алгоритмов и долго пытался вспомнить тему диплома. После завершения Лукин задал какой-то вопрос, который запустил тотальное бурление говн среди преподавателей. Все спорили между собой, дипломница по большей части молчала. Предлагали полный перебор, вспоминали своих бывших дипломников, дипломниц, аспирантов, профессоров, учёта мнения 80-летней бабушки и экстраполяции политики пользования станками завода на школу. Возникла путаница в терминах, девочку ещё помучали вопросами, потом срач продолжился. В конце концов на всех гавкнул Тишкин со словами "У нас тут защита дипломов, а не базар". Понаезжали на Сошникова, как руководителя, он пооправдывался, что "да, реализация так себе, но целью было сравнение различных подходов", чего лично я не заметил, разве что их перечисление. После этого настроение у всех вроде бы наладилось, посетовали на "неудавшуюся презентацию", во всём вроде разобрались и решили заканчивать.

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

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

Со стороны, конечно, это выглядит довольно печально. Кажется, как будто студенты делали неделю некую лабу и теперь просто сдают людям, которые пытаются разобраться в теме за 10 минут и как-то это оценить. Ритуал, который соблюдать не очень то и хочется, но "надо". И пахнет халтурой.

Галочки проставили.
Все получили 5.





четверг, 12 января 2012 г.

Римские цифры

Сегодня на работе обсуждали что было бы, если бы римляне в своё время завоевали мир =)
Был бы у вас сейчас Google Chrome XVI.I.CMXII.LXXV и "Вась, глянь коммит IIMDCCX".
Интересно было расшифровывать программные аббривиатуры и гадать, число это или нет =) Например, MDM - Master Data Management. Однако, такая запись не является валидным римским числом.

пятница, 6 января 2012 г.

Итоги 2011

Появилось время и желание подвести итоги ушедшего 2011 года.

Пересилил себя и почти весь год делал зарядку (только вот сейчас забил). Под конец вместо этого с Деном два месяца бегали. Так же летом в этом плане было удачным - много катались на роликах по Москве, а дома я рассекал на велике и обошёл некоторые горки. К сожалению, выдающийся (имхо) заезд в 40 км от подъезда до пика "пупка" за БТА отказывается синхронизироваться с сайтом, поэтому пылится на телефоне.

Искал-искал и нашёл работу в должности разработчика-стажера на .NET в cmsplanet. Стояли задачи по разработке и поддержке разнородных сайтов. Получил базовый опыт работы, изучил стек технологий .NET для разработки веб-приложений, познакомился с людьми, поучаствовал в разработке mtv.ru, поддержке justreal.ru и множестве менее значительных задач.
Не жалею о времени, проведённым в cmsplanet, спасибо всем моим коллегам за помощь и наставничество.

В свое время я привык думать что терпеть не могу базы данных и веб, и никогда не стану этим заниматься. Однако, на деле все оказалось иначе. Разработка веб-приложений теперь является моей сильной стороной и я получаю удовольствие от неё. Также я более детально разобрался в javascript'е и нахожу его интересным, изящным, мощным и действительно стоящим для изучения языком. Однако, пока не могу сказать то же самое про SQL...

Затем, я сменил работу и перешёл в Luxoft. Работаю в позиции младшего Java-разработчика на швейцарский банк UBS. Доволен как слон. Теперь я знаком с корпоративной культурой больших организаций, работаю в лучшей, разнообразной и распределённой команде разработчиков, подтягиваю английский, изучаю стек Java, играю в настольный теннис и познакомился с кучей замечательных людей.

Разработал пару мелких расширений для Google Chrome, например, Torrent It!, остальных нету в webstore, но я говорил о них ранее.

Побывал на халяву на конференции TechEd, прочувствовал дух Microsoft, познакомился и пообщался с известными разработчиками, прослушал множество интересных докладов.

Я перестал писать музыку. Надеюсь, временно.

Перестал пить чай с сахаром.

Переболел гастритом.

Теперь я пишу слепым десятипальцевым - спасибо ВСЕ10 и Клавогонкам, поднял скорость в среднем до 350 знаков в минуту.

Всей группой получили незабываемый опыт разработки софтинки для препода по БЖД. Не знаю, удачно ли, но было весело и непросто =) Так же мы успешно использовали Google Docs для подготовки к экзаменам.

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

И, конечно, я поближе познакомился с Никой:
Большое спасибо ей за поддержку и заботу, надеюсь, мы будем развиваться так же успешно и дальше.

Вот и всё существенное, что произошло в 2011! Спасибо за внимание!