понедельник, 29 октября 2012 г.

Global Scholarship Program 2013 (Seoul National University)

New Scholarship for Computer Science and Electronics Engineering in Seoul National University. 
Enjoy.


Samsung-Sponsored Master of Science (MS) Degree Program in Computer Science and Electronics Engineering (Global Scholarship Program at Seoul National University [GSP-SNU])
Samsung Electronics is launching the Global Scholarship Program at the Seoul National University (GSP-SNU Program) for those willing to receive the Master of Sciences (MS) Degree in Computer Science and Electronics Engineering.

The program is oriented toward brilliant students majoring in computer science, telecommunications, electronics engineering, physics, and mathematics.
The educational process lasts 2 years at The Faculty of Electrical Engineering and Computer Science of the Seoul National University (SNU). The GSP-SNU student receives a scholarship of approx. USD 800 ~ USD 1,000 per month and a dormitory-style apartment at the university campus.

After graduation, the GSP-SNU member is supposed to work at Samsung Electronics Research and Development (SEC RnD) Centers as an RnD Engineer, with a regular monthly salary payment.

In order to apply for the Samsung-Sponsored Scholarship Master of Science (MS) Program in Computer Science and Electronics Engineering (GSP-SNU) 2013, applicants are encouraged to send us their complete CV / resume (GSPCurriculumVitae.doc) in English by emailgsp.snu@samsung.com (with the subject line: "MS-Program-2013"). The application deadline is November 30, 2012.

The GSP-SNU description you can find here

суббота, 12 ноября 2011 г.

Korean Games Conference 2011

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

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

Главный спонсор конференции была копания Havok, так что повсюду висели плакаты и мониторы, демонстрирующие технологии ирландской компании, известная своим физическим движком, и с недавних пор (после покупки Trinigy) предоставляющая и игровой движок. Возле стенда Havok можно было испробовать симулятор бульдозера, разработанный с использованием Havok и Vision (движок от Trinigy) безымянной американской фирмой для Caterpillar.

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

  • The future of AI in Dynamic Worlds (Ross O’Dwyer, Havok)

Было довольно интересно, даже не смотря на то, что половина демок просто напросто не запускалось. Понравилась технология динамического создания Navigation Mesh'а с учетом физических объектов на стороне сервера. Navigation Mesh можно просматривать и редактировать через редактор.

  • Building 60 minutes build in 1 minute (Hong Kee Gang)

Это был мой фейл. Название было довольно заманчиво, особенно если учесть что билд нашего продукта занимает примерно 60 минут J. Ожидал распараллеливание билда на нескольких физических машинах, всякие там Texture Baking фабрики и т.д. В итоге лекция оказалась о разнице компиляции проекта с precompiled header и без него, и почему желательно использовать forward declaration классов. Посидев 10 минут , ушел.

  • Gamebryo! What do you expect for the next? (Ben Mowery, Gamebase USA)

Изначально не планировал пойти на этот доклад, потому что он был в одно время с докладом о билде. Но, по выше упомянутым причинам, послушал его. Правда, ничем интересным о не блистал: докладчик был нудноватый, Gamebryo смотрелся уныло на фоне Havok+Vision, которую я лично считаю очень сильной, и того же Unity. Время покажет.

  • Dynamic Sky-Dome System (Igor Lobanchikov, Confetti Special Effect, Minsk)

Не посетить лекцию почти соотечественника было бы кощунством. Нифига не понятно, но технология выглядит красиво. После доклада удалось мило побеседовать с Игорем.

Как оказалось, Игорь даже работал в Киеве в GC World над S.T.A.L.K.E.R. и одно время хотел податься в Crytek Киев, но что-то не срослось, и он стал удаленно работать с Вольфгангом Энгелем.

«- Игорь, я слышал у вас в Белоруссии кризис.

- Нет, вы что, у нас полный пиздец.»

Рассказал, что стало тяжело жить. Но уезжать за границу желания нет.

  • Dynamic Global Illumination with a large number of Light Sources (Worfgang Engel, Confetti Special Effect)

Много слышал о Вольфганге, даже книжку его читал. Работа, легшая в основу доклада, была вдохновлена разработками Crytek'а на эту тему.

  • Rendering Tech of Warhammer 40,000: Space Marine (Daniel Barrero, Pope Kim, Relic Entertainment dba THQ, Canada)

Мега презентация. Рассказывалось о применениях техники deffered shading в проекте Warhammer 40 000: Space Marine. О deffered shading очень многое уже сказано различными игровыми компаниями. Но эти ребята довольно интересно рассказали о практической реализации этой техники. Понравился подход к решению задач, который ставил научность и реалистичность на второе место, «Главное, чтобы эффективно работало и художники были рады». Авторы представили много неаналитических решений (хаков), которые они применяли в различных ситуациях, чтобы преодолеть лимиты железа Xbox'а и PS3. Было весело.

«А вот тут видите, какие у нас тени классные? На самом деле, это – не тени, а просто текстура такая»

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

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


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

пятница, 14 октября 2011 г.

Структурное программирование

One of the most powerful mechanisms for
program structuring [...] is the block and
procedure concept. [...]
A procedure which is capable of giving rise to
block instances which survive its call will be
known as a class; and the instances will be
known as objects of that class. [...]
A call of a class generates a new object of that
class.

Ole-Johan Dahl and C A R Hoare
"Hierarchical Program Structures" in Structured Programming


А я думал, что "структурное программирование" - это goto.

Рекомендую посмотреть интересную презентацию "It Is Possible to Do Object-Oriented Programming in Java".

суббота, 8 октября 2011 г.

Что творится вокруг офиса

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

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


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

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

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

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

Можно почерпнуть много фактов из википедии. В статье вообще фигурируют фантастические числа: в 2007 году в стране было произведено 94 000 000 sex trade транзакций. Это, что получается, по 261 111-ой транзакции в день!?

Amazing Korea.

суббота, 29 января 2011 г.

Собеседование в Google Korea

26 января у меня было собеседование с гуглом. Этот пост стоило назвать "How I sucked on my interview with Google", но пожалуй воздержусь.

Собеседование было назначено на 3 часа и проходило по телефону, с написанием кода в Google Docs, длительность - 50 минут. В 2:50 я уже сидел за ноутбуком и ожидал звонка, предварительно сделав несколько десятком кругом по комнате, чтобы снять напряжение.

Примерно в три Brian (сотрудник гугла, который проводил собеседование) написал мне в Google Docs и мы начали.

Сначала были различные вопросы:
- Рассказать о каком-нибудь проекте, на котором я работал.
- Над чем мне нравится работать?
- Почему приехал в Корею?

Потом перешли к программистскими задачкам, точнее успели разобрать только одну (Epic FAIL).

Задачка была следующая:
- Есть отсортированный список слов неизвестного размера. Единственный доступ к этому списку осуществляется с помощью API функции getNthWord(). Написать функцию hasWord().

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

Единственная мысль, которая лезла мне в голову и упорно блокировала вход другим, была "О Боже, у меня собеседование с гуглом".

Сначала, я пошел вообще не в тем дебри, и написал откровенную фигню.
Затем, после "Чувак, это чета не сильно похоже на бинарный поиск, где вообще range (low, high)?", я решил написать обычный бинарный поиск и двигаться уже от него.

После еще нескольких толчков в нужном направлении, я всё-таки закончил задачу, но Brian сказал, что на остальные задачи времени уже нет, так что мы с ним побеседовали о всяком.

Узнал от него следующее:
- в корейском гугле работает 5-6 иностранцев из Австралии, Швеции, Монголии, Южной Африки, Америки.
- компания международная, но всё равно культура - корейская.
- Brian (вроде из Австралии) работает в Корее 8 лет, в гугле 3 года, до этого работал в Daum (корейский гугл :)).

В общем, чувствовал себя после собеседования не очень хорошо, хотелось вилку в глаз засунуть. Думаю результат был бы лучше, решая я задачи в таких же условиях, как и ЕА. Пока, наверное, не суждено быть мне гуглером. Через 2 дня пришел отказ от гугла.

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