понедельник, 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 дня пришел отказ от гугла.

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

вторник, 25 января 2011 г.

Собеседование в Нексоне

Вчера было очередное собеседование, на этот раз в Нексоне (не слишком знаменитая (не в Корее) корейская фирма разработчик-палбишер игр). Это был второй тур отбора, первый тур состоял в решении 4 задачек дома за 3 дня. Как оказалось, правильно решил три, на отладку последней задачи времени не хватило.

Назначили собеседование мне на 11 часов, так что пришлось рано утром выезжать из Теджона в Сеул. Порадовало, что оплатили проезд.

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

После того, как меня попросили заполнить бланк для выдачи проездных денег, меня провели в комнату, где меня ожидал интервьювер. Был он всего один, что довольно странно, по опыту собеседований интервьюверов обычно двое (bad cop & good cop).

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

Первый делом, меня попросил описать один из проектов над которыми я работал.
Потом, спросил про то, что я ресерчил в университете. Я год занимался ресерчем на тему рисования линий "выташенных" из 3д модели. Попросил рассказать про существующие методы и сравнить их.

Попросил рассказать решение к одной задаче из "домашнего задания".
Решение сводилось к простому обходу графа.
Спросил, как делать depth-first search и breadth-first search. (Сказал что в одном стэк, а в другом очередь, но сначала напутал что где.)

Затем пошли обычные вопросы:
- Что такое виртуальный метод?
- Как реализован механизм виртуальных методов в С++? (Ответил ему сходу, так как на прошлом интервью, о котором я не писал, разбирали это минут 10 :)
- Рассказать time complexity для insert, delete, search для различных stl контейнеров (vector, list, map).
- Зачем нужна балансировка бинарного дерева?
- UDP vs TCP
- Что такое SYN flooding? (хорошо, что я про него читал когда-то:)
- Deadlock? (спросил бы он еще про deadlock prevention techniques :)
- Starvation?
- Описать calling convenction on x86. (точно не знал, но сказал что через стек передаются параметры и возвратное значение, но не сказал про адрес возврата в вызывающую функцию)
- Что такое buffer overrun? (тут порассуждал что на стеке должен быть адрес функции, который можно переписать. Когда я сказал code injection, он сказал, что нужные слова я знаю и поехали дальше :)
- Почему rand() имеет uniform distribution, а rand() % 100 nonuniform? (тут завис, ответ пришел только в метро на обратной дороге)
- Есть колода карт, как ее рандомно помешать? (придумал O^2 алгоритм с использованием массива флагов)
- Есть несколько методов размешивать карты, как сравнить какой из них лучше? (ответил, но не слишком хорошо, сравнивать соседние карты и смотреть их разницу. Лучше наверное был бы метод использовать какую-нить игры, и идентичных ботов, и смотреть чтобы боты "играли наравне".)

Дальше некоторые отвлеченные вопросы:
- Что по разработке игр читал\пробовал?
- Собираюсь ли я учить дальше корейский язык?
- Сложно ли мне будет работать в команде, где никто не знает английский? (oh yeah!)
- Может девушка у меня южно-кореянка (типа корейский будет мне улучшать)? (Сказал что женат на украинской кореянке).

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

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

Интересно, что до конца собеседования он думал, что я - американец :).
Но я укыраина-сарамия :)

References:

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

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

В настоящее время усиленно занимаюсь поиском работы. На неделе со мной связался hr (не из ЕА, а из левой фирмы) и предложил подать на позицию гейм-программера в EA Korea. Я решил попробовать, тем более я им напрямую писал, но безуспешно. В общем, написал согласие, и через 4 дня мне уже назначили собеседование в Сеуле.

К собеседованию не готовился, но до этого 3 дня решал задачи, которые прислали из Nexon Korea, как второй этап отбора (об этом позже). В общем, сидел до 3-х ночи 3 дня подряд и кодил на питоне и С++ :).

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

Там встретили два корейцы средних лет, с моим распечатанным резюме и листками с задачками и провели меня в комнату для совещаний (там был большой телевизор и шкавчик, в котором лежали XBOX, PS3 и Wii + гора различных дисков). Еще hrу я сказал, что понимаю почти все на корейском, но говорить мне удобнее на английском. Интервьюверы говорили со мной на корейском, я на английском, с корейскими вставками.

После рассказа о себе на корейком (они меня попросили на корейском, чтобы оценить мой уровень), начали выдавать мне задания. Интервьюверы спрашивали если, что непонятно, а потом выходили. Так что решал я в комфортном одиночестве.

В общем заданий было 4, очень легкие, уровня первого курса ХИРЭ. Я долго не думал, и писал первоe пришедшее в голову решение. Все по программированию Си:

1. Написать реализацию int strcmp(char *s1, char *s2).
Ну эт легко и без вопросов.

2. Написать функцию bool isValidNumber(int n), где n - должен состоять из 9 цифр, и каждая цифра должна встречаться один раз.

Я решил не мудрить, перевел в строку, а потом проверил через int check_array[9], чтобы число встречалось только один раз. В итоге, они сказали, что тут надо математически вывести, а не через перевод в строку, и нашли overflow, так как я не делал декремент.

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

3. Написать функцию bool isRotation(char *s1, char* s2). В общем функцию проверяет, что "CDAB" это rotation "ABCD".

Опять решив не мудрить, я написал функцию, которая находит первый символ в другой строке, а потом в forе смотрит одинаковы ли они. Индексацию по второй строке была круговая. Как оказалось, не учел случай типа ABCА и СААВ, хотя перед решением думал об этом.

После того, как я быстро исправил, мне намекнули, что можно легко решить с помощью strcat и strstr, и спросили как. Я ответил.

4. Чему равен y в следующем коде?
struct Foo
{
int x, y, z;
};

Foo foos[50];

Foo* p1 = &foos[6];
Foo* p2 = &foos[10];
int y = p2-p1;

Я сначала подумал, что подвох какой-то есть, но ничего не нашев, ответил "ну 4". Мне ответили "Правильно, а многие нам отвечают 48, почему?". Оправившись после удивления, я посчитал им возможный ход мыслей многих (sizeof(int)*3*4).

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

И, наконец, настала моя очередь задавать вопросы.
Q: Сколько у вас работает иностранцев?
A: Только 2-е, корейцы из Америки. Общаются с ними сказал аналогичным со мной образом (они - на английском, к ним - на корейском). Что меня немного удивило, так как корейцы из Америки обычно хорошо знают корейский.

Q: Над каким проектами работает ваша студия?
A: Battlefield Online, Fifa Online, Some baseball Online, Some racing Online, Some game for girls Online.

Q: Используете ли вы какие-либо сторонние движки, или все in-house?
A: Все in-house.

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


Конечно меня сильно удивил легкий уровень задач, меня на собеседовании в program-ace мучали в раз 10 сильнее. Неужели настолько кризис с разработчиками, и остается вопросом над чем работают новобранцы, на ANSI-C чтоли кодят.

Но вскоре мне предстоят еще интервью, где мне точно мозг взорвут.
Пожелайте мне удачи :)

четверг, 23 декабря 2010 г.

Парадокс ката з маслам

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

понедельник, 20 декабря 2010 г.

Подарок на Новый Год

Придумал себе подарок на Новый Год.
Кто меня сильно любит, тот может сделать и подарить мне вот такую футболку:


Сделано с помощью редактора Gimp. (Немного рекламы:)

Обновил картинку: теперь вместо "хангук" - "хангуг".

пятница, 17 декабря 2010 г.

Еще один блог

Решил создать другой блог, где буду писать на более технические темы.
Буду писать на английском, чтобы зацепить бОльшую аудиторию.
Надеюсь будет интересно.

Заходите на choboprogrammer.wordpress.com.

пятница, 10 декабря 2010 г.

G-Star 2010

18 ноября университет организовал поездку на выставку компьютерных игр G-Star 2010 в Пусан. Я не ожидал ничего особенного, поэтому не взял с собой фотоаппарат, о чем сильно сожалею. Но сделал немного фотографий отстойного качества на айпод.

После 3-х часовой езды на автобусе, мы всё-таки приехали в BEXCO (Busan Exhibition and Convention Center), огромный комплекс (размер зала внутри - примерно 2 футбольный поля) для всякого рода выставочных мероприятий.

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

Как написать отличную научную статью?


Вчера за чашкой кофе пролистал довольно интересную презентацию: How to write a great research paper (Simon Peyton Jones, MS Research, Cambridge). Идеи, заложенные в ней, довольно сильно отличаются от моих представлений об оформлении и самом процессе написания научной статьи.

среда, 27 октября 2010 г.

Что же едят корейцы?

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

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

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



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



Спросите как на вкус? А какими могут быть на вкус жаренные коровьи кишки? Единственное, когда они достаточно долго пожарятся, напоминают чипсы, и с пивом нормально.

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

Всем приятного аппетита :)

четверг, 5 августа 2010 г.

Twisted Python Tutorials

I heard many times about Twisted networking library for Python.
But haven't looked on it until now, because I got a task to make a simple server.
I'm getting really sick of C++ these days, so decided to use Python.
And twisted seems to be the way to go. But there's one problem, I've never used it.

I started to search the web for some tutorials, and found really great tutorial series here.

I don't know who is this guy, but it's the best tutorial series I've ever read, despite it was just written in blog.
The author first gives good foundation, and then incrementally describes what is Twisted, how to use it, and what design decisions are behind it.

Material is supplied with bunch of diagrams, which makes really helps understanding.
Each part is ended by conclusion followed by several exercises for practice.
All the source code is stored on GitHub, so everybody can easily access it.
Author is also quickly responding to any comment.
Very good quality.

Recommend to anyone, who would like to study Twisted.

P.S. After reading these tutorials I finally understood why server side of EVE online got great performance boost after implementing server logic using Stackless Python (slides, video). And why multi-tasking single-threaded application, can run faster than single-tasking single-threaded one.

Instead of waiting for completion of some blocking operation (I/O, networking, ...), we can switch to some other task.

понедельник, 2 августа 2010 г.

HP Mini and Ubuntu

Last weekend I purchased HP Mini 210 netbook.
I really like the model, and recommend it to anyone.
Small size, good design and really great keyboard.

It cost me around 320$ with preinstalled slow running windows xp sp3.
For a long time, I wanted to test Linux OS (My debian server does not count:), so before buying the netbook, I decided to install some linux distribution on it.

My first try was Kubuntu Netbook Edition. But nothing good came from it.
It appeared to be slow for my netbook hardware. Especially when I tried to customize my panel with some widgets. Some random crashes. Well apparently something was not right.

So today I installed Ubuntu Desktop Edition, and was really fascinated with it.
It automatically installed all the drivers, except for wireless adapter.
But there was no problem to fix it. Ubuntu will find everything it need from the web.

I was surprised with the way I could customize menus and shortcuts.
I have assigned a dozen of shortcuts on combination of 'windows' button + other key.
Since the key is there, why shouldn't it be utilized? :)

Right now everything runs smooth. Let's see what will happen next.
I should also note that the installation process was really easy.
Even with windows dual-booting (in case I need to run some windows apps, I will)

среда, 7 апреля 2010 г.

Why Python?


It's been a while since my last post.

I have visited my home, changed my supervisor professor, changed my room in a dorm, found new part-time job... and decided to write my blog in English. Yep, i hope it'll help me to improve my English writing skills.

Today's post is about Python programming language. Not 'another overview', just i'd like to share the reason why I started to use it.

I started to write some scripts in Python last year, i think it was summer time. The raining season, damn-hot weather...Okey.

And I was completely fascinated with Python, and what it allowed me to create in a short time. The highly dynamic nature of the language has made me look different about programming. Yeah, at first it hard to use Python because of the static programming background. You start to find the way, how apply old techniques to Python. But later you'll become more Pythonic. And it's cool.

I don't want to provide a deep comparison with other modern languages. Just give here some of my thoughts.

When I think about C# or Java it like they say: "Hey man, don't use C++. pointers are bad, memory leaks. Use us". And they completely miss that memory is not the only resource that can leak. File handles, sockets,... These languages still provide additional contructs to handle these leaks in similar to RAII fashion.

But when it's come to Python: "Hey, I will give you as much as I can to increase your productivity. If what you need is performance, you can use me together with C or C++". And that's what I really like.

Got picture from here (Hope they don't mind)

воскресенье, 27 декабря 2009 г.

Samsung Electronics Global Scholarship Program

Искал информацию о вакансиях в Самсунге и наткнулся на интересную программу:

Samsung Electronics Global Scholarship Program учеба в магистратуре в Сеульском Национальном Университете (Seoul National University). К слову, этот университет считается самым лучшим в Корее.

Программа подразумевает получение магистерской степени по специальности Electronics and Computer Science, что включает в себе следующие направления:

  1. Information, Telecommunication, and Radio Science
  2. Control, Instrumentation, and Automation
  3. Semiconductor Devices and Integrated Circuits
  4. Computer and Very Large Scale Integration Systems
  5. Electrophysics and Lasers
  6. Electric Energy Systems

Другими словами: будет и железо, и программирование.

Самсунг предоставляет следующее:

  1. Оплачивает поступление и полностью оплачивает обучение.
  2. Ежемесячная стипендия в размере 800 USD
  3. Общежитие
  4. Ежегодный билет Сеул-Москва, Москва Сеул.
  5. Возможность прохождения рабочей практики после завершения 75% обучения.
  6. "Предлагает" 2-х летний контракт на работу в Южной Корее
  7. Предлагает работу в Москве после завершения работы в Южной Корее.

Почему в 6 пункте "Предлагает"? Потому что вы обязаны отработать 2 года в Корее. Это условие программы. Другое условие, что студент должен учиться на "хорошо" и "отлично". Остальные условия найдете в FAQ.

На сайте правда написано "student is provided with a unique opportunity to work at Samsung Electronics in South Korea for 2 years". Но на самом деле это обязательно. В противном случаё студент обязан вернуть все потраченные Самсунгом деньги (около 30000 USD).

Подача документов заканчивается в Феврале 2010.


Дополнительную информацию о программе читайте здесь: http://edu.samsung.ru/ms/

Обязательно ознакомьтесь с FAQ.

О как оно работается в Корее есть хороший пост: http://www.developers.org.ua/forum/topic/285

Также кто заинтересован просто в работе в Самсунг: http://job.samsung.ru/

Может кого заинтересует, а может друг есть, который желает учиться + работать в Самсунге. Если что пишите мне - проконсультирую по учёбе в Корее.

Удачи.

суббота, 26 декабря 2009 г.

Twitter

Завел себе twitter.

http://twitter.com/hwangroman

четверг, 24 декабря 2009 г.

Going Home

Наконец-то еду домой.

Прилетаю 27 января ночью в Киев. Встречайте :)

Скоро увидимся.


"Я iду додому,
До себе додому,
I очi знайомi 
I завжди добрi." 

                        (Почти) Океан Эльзы

среда, 11 ноября 2009 г.

Call of Duty - No Russian

Наверняка, многие знают серию Call of Duty от Infinity Ward. Она всегда отличалась отличным геймплеем и неплохой графикой.

Раньше было всё просто - в игре хорошие (американцы, англичане и даже русские) валили только немцев. Сейчас же разработчики перешли на скользкую тему: мировой терроризм, Россия, США и прочее...

И кажется немного перестарались:

Почти 4 минуты кровавой баньки. Это также *ПОЧТИ стало причиной запрета выхода в России Call of Duty : Modern Warfare 2.

Будет очередной повод порассуждать о насилии в играх.

Насилие в играх понемногу приближается к фильмам. Хотя, это скорее разное: смотреть, как в Бесславных Ублюдках поджигают и расстреливают толпу немцев в кинотеатре и самому нажимать на виртуальный курок.

Нашел здесь

P.S. А графика даже очень хорошая.