Pull to refresh
323
0.1
Maxim Mozgovoy @rg_software

university professor and software developer

Send message

Addiator или арифметика на шести рейках

Level of difficulty Easy
Reading time 9 min
Views 1.8K

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

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

Однако, как оказалось, прелесть темы не ограничивается возможностью пощупать алгоритм или понять, как устроены вычисления на самом базовом уровне. Даже если отбросить обсуждение деталей инженерных решений (а здесь без подготовки можно разобраться разве что в самых простых устройствах), остаётся не менее интересный социально‑рыночный контекст. Для кого позиционировалось то или иное устройство? Как оно рекламировалось? Как производитель пытался выделить свою модель в ряду конкурентов?

Читать далее
Total votes 15: ↑15 and ↓0 +15
Comments 7

Магистратура и аспирантура в Японии: 10 лет спустя

Reading time 7 min
Views 9K

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

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

Читать далее
Total votes 17: ↑16 and ↓1 +15
Comments 6

DIY Minesweeper из подручных материалов

Reading time 3 min
Views 4.2K

Не успел к пятнице, но пусть будет воскресный пост. Disclaimer: описанная ниже самоделка не претендует на место в зале DIY-славы. Однако идея мне показалась забавной, а раз так, то чего бы не воплотить. А если уж воплотили, то чего бы не рассказать об этом. Итак, далее вас ждёт небольшой рассказ о том, как сделать настольную версию “Сапёра” из всякой подручной мелочи.

Читать далее
Total votes 24: ↑24 and ↓0 +24
Comments 3

Почему Go To Considered Harmful?

Reading time 3 min
Views 3.5K

Некоторое время назад мне понадобилось процитировать известное письмо Дейкстры 1968 года, и я воспользовался случаем, чтобы таки внимательно прочитать его. В наши дни "споры о `goto`" уже неактуальны, поскольку в большинстве современных языков команды `goto` либо нет вообще, либо используется она редко, и стало быть, обсуждать особо нечего. Однако мне была интересна аргументация. В нашей области масса "фольклорного знания", которое на поверку не всегда оказывается точным (что хорошо показано в книге Боссавита), так что оценить логику Дейкстры с позиции сегодняшнего дня не помешает. Надо сказать, что его формулировки не всегда легко понять, поэтому я решил изложить их несколько более простым языком, потратив немного больше места.

Читать далее
Total votes 21: ↑19 and ↓2 +17
Comments 33

Представление объектами: трудности роста

Reading time 8 min
Views 1.7K

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

Читать далее
Total votes 5: ↑5 and ↓0 +5
Comments 15

«Прочту потом»: трудная судьба оффлайновой коллекции интернет-страничек

Reading time 9 min
Views 24K

Есть виды софта, без которого одни люди жить не могут, а другие даже не представляют, что такое существует и кому-то вообще нужно. Для меня долгие годы такой программой был Macropool WebResearch, позволявший сохранять, читать и организовывать интернет-страницы в некое подобие оффлайновой библиотеки. Уверен, многие из читателей прекрасно обходятся коллекцией ссылок или комбинацией браузера и папки с набором сохранённых документов. Мне же хотелось бы иметь возможность хотя бы отмечать документы как "прочитанные" или "избранные", быстро переходить от одного текста к другому и не зависеть от доступности интернета или конкретного сайта. Бывает, что читать есть время ровно тогда, когда интернета нет (в дороге, например), да и ссылки, к сожалению, нередко оказываются недолговечными.

Читать дальше →
Total votes 68: ↑67 and ↓1 +66
Comments 113

О рейтингах вузов: отделяем зёрна от плевел

Reading time 17 min
Views 68K
Уже не раз и не два на Хабре мне приходилось сталкиваться с мимоходом брошенными фразами в стиле «а ещё этот вуз входит в первую сотню мирового рейтинга» или «этот вуз плох, он в рейтингах болтается где-то в четвёртой сотне». При этом получается, что все особенности того или иного заведения, все его достоинства и недостатки каким-то волшебным образом отображаются в единый численный показатель, служащий чётким подтверждением того или иного тезиса. В действительности ситуация гораздо сложнее и интереснее. Своим субъективным взглядом на неё я и хотел бы сегодня поделиться. Прошу прощения за большой объём текста, но меньше никак не получается.
Читать дальше →
Total votes 52: ↑50 and ↓2 +48
Comments 28

Слава эпигонам, или Великие против лучших

Reading time 3 min
Views 18K
Я обычно стараюсь писать по делу, но иногда можно и поразмышлять об абстрактном. Не так давно мне в руки попалась неплохая (и, пожалуй, единственная в своём роде) книга 1001 Video Games You Must Play Before You Die, авторы которой взяли на себя титанический труд вычленения лучшей, по их мнению, тысячи игр за всю историю индустрии. Учтены практически все известные платформы, начиная с аркадных машин семидесятых годов и заканчивая Xbox360 и iPhone. Конечно, любой хит-парад (даже если в нём аж 1001 позиция) субъективен, и каждый из нас может с удивлением не обнаружить в нём любимой игры. Ещё авторы явно благоволят последнему десятилетию, которому досталась половина всей книги. С другой стороны, к их чести заявленным форматом «1001» дело не ограничивается, и частенько проскакивают комментарии вроде «эта игра имела такого-то предшественника, а позже аналогичная идея была воплощена в таком-то проекте», по сути расширяющие основной список. Однако мне бросилась в глаза ещё одна особенность, которая, как мне кажется, отражает любые «списки лучших» чего бы то ни было, а именно явное преклонение перед великими работами.
Читать дальше →
Total votes 19: ↑15 and ↓4 +11
Comments 14

Аттракцион невиданной щедрости от университета Восточной Финляндии

Reading time 1 min
Views 61K
Хочу поделиться с сообществом краткой новостью, пришедшей на рассылку: мой alma mater, университет Восточной Финляндии, объявляет конкурс аж на 99 аспирантских позиций, из которых 50 непосредственно дают естественнонаучному факультету (где кроме IT также представлены физика, математика, химия и биология).

На моей памяти такого обилия мест не было никогда. А невиданная щедрость заключается в том, что под каждое место на четыре года обучения уже выделена стипендия в районе 2-2.5 тысяч евро, так что если кому-то хочется позаниматься наукой в комфортабельных условиях, большего и желать трудно.
Читать дальше →
Total votes 71: ↑68 and ↓3 +65
Comments 22

В Финляндии обсудят предложенный сообществом закон о копирайте

Reading time 3 min
Views 52K
В прошлом году на Хабре проскакивала новость о «беспределе копирастов», когда за скачивание музыкального альбома с торрентов полиция конфисковала ноутбук у девятилетней девочки и взыскала с семьи штраф (изначально требовали 600 евро, но в итоге родители заплатили 300).

Искренне сочувствуя девочке, я был рад, что ситуация развернулась именно таким образом. Наверно, учитывая некрасивость истории (даже личное заступничество певицы, чей альбом девочка скачала, не помогло) дело могли как-нибудь спустить на тормозах, но это было бы избирательным применением правосудия, к чему мы, преимущественно россияне, должны испытывать особенную неприязнь. Плохие законы незачем менять, если они по факту не применяются (или применяются по любимому принципу «друзьям — всё, врагам — закон»).

Однако резонанс история вызвала большой и послужила стимулом к общественной инициативе по изменению текущего законодательства, воспринимаемого многими как несправедливое.
Читать дальше →
Total votes 72: ↑71 and ↓1 +70
Comments 119

Субъективные заметки об OpenPandora: блеск и нищета open source

Reading time 12 min
Views 111K
Хотя о карманном компьютере (или портативной консоли, кому как нравится) Pandora написано уже немало, я решил добавить в копилку свои впечатления от этого весьма интересного устройства. К тому же на Хабре «Пандора» пока что упоминалась лишь вскользь. Стало быть, неплохо бы исправить упущение. Обзор — не мой жанр, так что сразу перейду к вещам, на мой взгляд, наиболее существенным.


Читать дальше →
Total votes 82: ↑75 and ↓7 +68
Comments 86

The Oliver Twins запускают проект Dizzy Returns

Reading time 2 min
Views 31K
На Хабре уже промелькула новость о том, что братья Оливеры открыли на Кикстартере сбор средств для новой игры Dizzy Returns.



Событие, казалось бы, по нынешним временам рядовое. Поколение геймеров 80-х и 90-х подросло, обзавелось деньгами, и рынок ретро-игр, восьмибитных футболок и всяческих римейков стал расти как на дрожжах. Однако не всё так буднично. По крайней мере, немного поразмыслив, я в первый раз в жизни не просто выразил моральную поддержку проекту, но и не поленился зайти на кикстартер и пожертвовать немного реальных денег.
Читать дальше →
Total votes 58: ↑53 and ↓5 +48
Comments 46

Диаграммы и графики: осмысляя Тафти

Reading time 5 min
Views 21K
По работе мне периодически приходится визуализировать численные данные — в виде таблиц, диаграмм или графиков. Из последнего прочитанного по теме наиболее интересной показалась известная книга Тафти The Visual Display of Quantitative Information. Я решил сделать из неё краткие выписки по относящимся к моим задачам вопросам. Ключевое слово здесь — краткие. Максимум полезной информации на минимум текста (даже стиль изложения будет подчёркнуто лапидарным). Дополнительные сведения и собственные мысли буду скрывать под спойлер. Надеюсь, мой конспект будет полезен хабрасообществу; предлагаю также поделиться своими наработками и полезными ссылками.
Читать дальше →
Total votes 43: ↑40 and ↓3 +37
Comments 24

Магистратура и аспирантура в Японии: 2012

Reading time 1 min
Views 20K
Казалось, совсем недавно я писал о возможности пройти обучение в японской магистратуре или в аспирантуре. Однако прошли новогодние праздники, а с ними пришли новые известия, с которыми я и хочу ознакомить всех интересующихся в этой короткой заметке (даже ката не потребуется!):
  1. Похоже, один из хабрачитателей таки стал нашим магистрантом (по моей рекомендации) в этом году! Подробностей пока не будет — боюсь спугнуть. Ещё в одной инстанции его заявку должны завизировать. Если всё получится, попрошу написать его о впечатлениях.
  2. В апреле открывается общий приём заявок через посольства. Доступны магистратура и аспирантура, а также базовое высшее образование. Честно говоря, я и не знал, что к нам можно ехать сразу после школы, но оказывается, есть и такая программа. Впрочем, не уверен, стоит ли её советовать — чем меньше у кандидата образования, тем больше «лотерейности», поскольку неясно, как хороших отсеивать от не очень хороших.
  3. Стипендия для магистрантов составляет 152 тыс. иен, т.е. примерно 60 тыс. рублей по нынешнему курсу. Для докторантов чуть побольше, для бакалавриата — поменьше. Все стипендиаты освобождаются от платы за обучение. Кроме того, за счёт Японии оплачивается авиаперелёт.
  4. Все требуемые документы можно оформить за две недели. Исключение — сертификат TOEFL. Он необязателен, но очень желателен.
Разумеется, вы можете планировать учёбу в любом японском вузе, но я как патриот своего заведения буду агитировать за него. Как обычно, буду рад ответить на любые вопросы. Только читайте, пожалуйста, сначала мои посты и побродите по ссылкам. А то в прошлый раз было уж очень много вопросов, ответы на которые и так уже были даны в тексте.
Читать дальше →
Total votes 57: ↑53 and ↓4 +49
Comments 50

Субботние записки: О мёртвых языках и живой практике

Reading time 7 min
Views 4.2K
Мы все знаем, что в мире создано несколько тысяч языков программирования. Один только список программ Hello, world с сайта Wikibooks включает в себя 230 категорий (полный список на сегодня состоит из 402 элементов). При этом известный рейтинг TIOBE подтверждает очевидное соображение: основная масса этих языков скорее мертва, чем жива. Уже на долю первого десятка языков приходится 76,77% всех учтённых TIOBE проектов. Второй десяток увеличивает эту долю до 85,61%. Стало быть, на оставшиеся 30 языков (TIOBE учитывает лишь первые 50 языков при расчёте процентов) приходится менее 15% упоминаний.

Понятно, что рейтинги заключают в себе некоторую долю лукавства, поскольку даже непопулярный по общим цифрам язык может быть крайне важен для какой-либо узкой сферы. Возьмём любимый здесь многими Erlang или Haskell (39-е и 41-е места рейтинга) или ещё более очевидные Simulink и LabVIEW, вообще не попавшие в Top 50, но незаменимые в своих областях. С другой стороны, очевидно, что языки действительно приходят и уходят, и популярность, скажем, Паскаля обречена на снижение, поскольку на смену идут более прогрессивные языки, метящие в ту же нишу. (Не будем упоминать здесь Delphi, в котором от Паскаля остался разве что базовый синтаксис. У традиционного паскалиста листинг на Delphi может вызывать такой же ступор, какой у меня вызвала первая увиденная мною программа на Visual Basic 6, с этими Private и Public, Option Strict и Dim As, напрочь отсутствовавшими в родном Бейсике ZX Spectrum.)

Однако все языки создавались для чего-то, а не просто так. И перед тем как окончательно отправить тот или иной язык в архив истории, следовало бы полностью осознать его наследие, употребимое в текущей практике программирования. А может статься, что некоторые языки вообще списаны со счетов зазря. Вопрос лишь в том, как грамотно провести ревизию, инвентаризацию всего этого добра из сотен и тысяч языков, как извлечь крупицы смысла из гор отработанной породы? Об этом мне и хотелось бы поговорить. Сразу скажу, у меня нет хороших ответов, но есть хорошие вопросы.
Читать дальше
Total votes 58: ↑53 and ↓5 +48
Comments 107

Образование в вузе и за его пределами: взгляд с кафедры

Reading time 8 min
Views 15K
Последние две недели были особенно плодотворны темами, посвящёнными изучению IT в школе, в университете и самостоятельно. Интересен разброс мнений: от «обязательно идите в вуз, впитывайте знания, получайте корочку» до «ничему вас там не научат, лучше идите в индустрию и учитесь у старших коллег». Как действующий университетский преподаватель я, конечно, буду ратовать за вузовское образование, но с большими дополнениями и оговорками. Именно этим дополнениям и оговоркам хочется посвятить отдельную статью, надеюсь, небесполезную для интересующихся школьников и студентов, и способствующую целостному взгляду на образовательный процесс в нашей любимой области.
Читать дальше →
Total votes 96: ↑87 and ↓9 +78
Comments 148

Магистратура и аспирантура в Японии

Reading time 4 min
Views 36K
С опозданием поздравляю с началом учебного года всех хабровчан, для которых это событие не является простой календарной датой. Надеюсь, небольшой рассказ о магистратуре и аспирантуре в университете, где я сейчас работаю, вызовет у вас интерес.



Речь пойдёт об университете Aizu, где я тружусь в меру сил уже почти два года и, если не случится никаких неожиданностей, продолжу деятельность и в обозримом будущем. Кстати, на фотографии — наш кампус.
Читать дальше →
Total votes 102: ↑97 and ↓5 +92
Comments 119

NLP: проверка правописания — взгляд изнутри (часть 4)

Reading time 3 min
Views 6.1K
(Части 1, 2, 3) В четвёртой части мы поговорим о проверке грамматики за пределами токенизированных передложений.

Как уже упоминалось, разбиение предложения на токены и POS-разметка уже позволяют создать простой инструмент проверки грамматической корректности текста. По крайней мере, LanguageTool плагин к Open Office работает именно так. Очевидно, что массу ошибок можно выловить на уровне размеченных токенов. Однако также очевидно, что не менее обширные классы ошибок остаются за пределами возможностей нашего модуля. Взять хотя бы такую простую вещь как согласование подлежащего и сказуемого: «дама любил собак», «любил собак дама», «собак дама любил»… как составить паттерн для правила «сказуемое должно иметь тот же род, что и подлежащее?» Даже для английского языка с более-менее чётким порядком слов это трудно, говорить о русском и вовсе не приходится.
Читать дальше →
Total votes 22: ↑18 and ↓4 +14
Comments 7

NLP: проверка правописания — взгляд изнутри (часть 3)

Reading time 4 min
Views 4.2K
(Часть 1, Часть 2) В прошлый раз я преждевременно упомянул токенизацию; теперь можно поговорить и о ней, а заодно и о маркировке частей речи (POS tagging).

Предположим, мы уже выловили все ошибки (какие догадались выловить) на уровне анализа текста регулярными выражениями. Стало быть, пора переходить на следующий уровень, на котором мы будем работать с отдельными словами предложения. Разбиением на слова занимается модуль токенизации. Даже в столь простой задаче есть свои подводные камни. Я даже не говорю о языках вроде китайского и японского, где даже вычленение отдельных слов текста нетривиально (иероглифы пишут без пробелов); в английском или в русском тоже есть над чем подумать. Например, входит ли точка в слово-сокращение или представляет собой отдельный токен? («др.» — это один токен или два?) А имя человека? «J. S. Smith» — сколько здесь токенов? Конечно, по каждому пункту можно принять волевое решение, но в дальнейшем оно может привести к различным последствиям, и это надо иметь в виду.

Примерно так я рассуждал на начальных этапах нашего проекта, теперь же склоняюсь к тому, что в задачах обработки текстов частенько приходится подчиняться решениям других людей. Это будет уже ясно на примере маркировки частей речи.
Читать дальше →
Total votes 37: ↑30 and ↓7 +23
Comments 50

NLP: проверка правописания — взгляд изнутри (часть 2)

Reading time 6 min
Views 3.7K
(Часть 1) Сегодня мы поговорим об уровнях понимания текстов нашей системой, о том, какие ошибки правописания отловить просто, какие не очень просто, а какие запредельно сложно.

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

Читать дальше →
Total votes 56: ↑50 and ↓6 +44
Comments 12

Information

Rating
2,810-th
Location
Фукусима, Япония
Date of birth
Registered
Activity