Pull to refresh
433
0
Мария @Nicolette

User

Send message

Региональный этап TopCoder Open 2016 в ИТМО

Reading time1 min
Views3K

3 сентября 2016 года одно из крупнейших соревнований по спортивному программированию TopCoder Open приезжает в Санкт-Петербург! В этом году в дополнение к онлайн-соревнованию и финалам в Вашингтоне ТопКодер проводит серию региональных этапов в Китае, США, Индии, Индонезии и теперь в России. В программе мероприятия:


  • Онсайт-раунд Algorithm Competition: соревнование в формате Single Round Match (3 задачи на 75 минут + 15 минут челленджа), из которого 10 лучших участников пройдут в онлайн Wild Card Round, из которого, в свою очередь, два победителя отправятся на финалы TCO в Washington DC (правила);
  • (Обсуждается) Мини-марафон (соревнование на наилучшее решение одной сложной задачи), с призами для победителей;
  • Футболки для всех участников.

Если вы хотите принять участие — регистрируйтесь, места еще есть.

Total votes 14: ↑14 and ↓0+14
Comments0

Контест «Пятница, 13-ое, День Программиста»

Reading time1 min
Views8.8K
Позвольте предложить еще один способ отметить наш профессиональный праздник — поучаствовать в одноименном контесте, который состоится 13 сентября в 19:30 по московскому времени.

Этот контест — очередной из серии Surprise/Unknown Language Round-ов. В таких раундах участники решают задачи только на одном языке программирования, который недоступен в обычных раундах и неизвестен большинству спортивных программистов. Язык объявляется в начале контеста, после чего за два часа нужно его освоить и применить к задачам (относительно простым и не требующим продвинутых алгоритмов). В прошлых раундах фигурировали Tcl, Io, Pike, Befunge, COBOL, Factor и Roco. Я надеюсь, что язык этого раунда станет таким же сюрпризом, каким были все предыдущие.

Правила и обсуждение
Total votes 28: ↑20 and ↓8+12
Comments7

Криптоквест

Reading time1 min
Views7.6K
В детстве меня завораживали детективные или приключенческие книги, в которых героям приходилось взламывать шифры и извлекать спрятанные сообщения из совершенно невинного на вид текста. Впрочем, и сейчас красивый шифр и извилистый путь, которым герой приходит к его разгадке, заставляет мое сердце биться чаще :-) Отчасти поэтому в июне я начала смотреть стенфордский онлайн-курс «Основы криптографии». Первое же практическое задание (взлом шифра одноразового блокнота, неосмотрительно использованного больше одного раза) восхитило меня и подтолкнуло на создание своего собственного zip-квеста по истории криптографии — по тем шифрам, которые ни в коем случае не используются в быту в наше время, но которые так весело взламывать вручную — или почти вручную.

Собственно, вот сам квест. Принцип тот же, что и в новогоднем квесте: на каждом уровне дается задание в виде текстового файла, решив его (то есть взломав шифр), получаем пароль к архиву, в котором лежит следующий уровень. Архив нулевого уровня (cryptoquest.zip) без пароля. В каждом случае зашифрован не только сам пароль, но и достаточно длинное осмысленное сообщение — иначе криптоанализ становится слишком трудоемким.
Читать дальше →
Total votes 61: ↑57 and ↓4+53
Comments24

Коаны о программировании

Reading time4 min
Views36K
От переводчика: The Codeless Code — сборник побасенок о философии программирования. Побасенки в сборнике разные — некоторые весьма кровожадные, некоторые достаточно хардкорные с технической точки зрения (родной язык автора — Java), но встречаются очень емкие. Представляю вам перевод семи наиболее полюбившихся мне историй, остальные 30+ (новые добавляются каждую неделю) можно найти на сайте.

Пустяк


Три дня и три ночи мастер не появлялся из своей кельи. На четвертый день монахи отправили послушника проведать его.

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

Мастер ответил: «Здесь есть изъян, и я размышляю, как лучше его исправить.»
Читать дальше →
Total votes 253: ↑240 and ↓13+227
Comments74

Чемпионат по программированию VK Cup 2012

Reading time2 min
Views1.9K
Соревнования по программированию становятся все более и более популярными; к внушительному списку разнообразных уже существующих турниров и чемпионатов недавно добавился еще один — VK Cup 2012. Вкратце его самые важные особенности:

  • чемпионат проводится совместно компанией ВКонтакте и проектом Codeforces. Регистрация ВКонтакте для участия не требуется :-)
  • ограничение на возраст участников — от 14 до 23 полных лет на момент регистрации (23 года и 11 месяцев — добро пожаловать). Таким образом, целевая аудитория — школьники старших классов и студенты.
  • зато нет ограничений на страну проживания (условия доступны на русском и английском языках).
  • довольно затейливая структура отборочных раундов, сконцентрированных в марте (первая квалификация — 4 марта) и начале апреля:
    • два квалификационных раунда, каждый из которых идет 24 часа и отбирает 800 лучших участников для раунда 1. Не пугайтесь длительности раундов — сидеть за компом сутки подряд не нужно, это означает только то, что сдавать задачи можно в любой момент этих 24 часов. Квалификации содержат несколько несложных задач, и обычно для прохождения в следующий раунд достаточно решить часть задач, штрафа за позднюю сдачу нет.
    • три отборочных раунда, проходящих по традиционным правилам Codeforces;
    • два wildcard-раунда, которые позволяют людям, выступившим в первом и втором отборочных раундах неудачно, попробовать еще раз. Для разнообразия wildcard'ы проводятся по другим правилам, чем основные раунды, и это довольно необычно для турниров по спортивному программированию.
  • наконец, финал чемпионата для 50 лучших участников по результатам третьего раунда пройдет в июле в Санкт-Петербурге — поездка за счет организаторов.

Читать дальше →
Total votes 40: ↑31 and ↓9+22
Comments18

Codeforces: Surprise Language Round #5

Reading time1 min
Views1.4K
Я продолжаю писать необычные раунды для Codeforces: позвольте представить вам Surprise Language Round #5, который состоится 22 февраля в 19:00 по московскому времени.

Это соревнование продолжает серию Unknown Language Round-ов, в котором участникам предлагается решать несложные задачи на единственном языке программирования, который становится известен за несколько минут до начала раунда. В этом и заключается прелесть таких раундов: можно сосредоточиться не на изобретении алгоритмов, как обычно, а на новом неслыханном языке. Во всяком случае, такова задумка авторов; мы не исключаем, что кто-то мог раньше видеть язык раунда или даже что-то на нем писать, но для большинства участников язык должен быть сюрпризом. Как видите, Brainfuck отпадает :-)

Прошлый раунд такого типа, который тоже проводила я, вынуждал людей с головой погрузиться в Befunge — достаточно известный эзотерический язык. Десять задач покрывали достаточно широкий диапазон сложности, начиная с «утешительной задачи» вычисления шестиугольных чисел (чисел вида N*(2*N-1)):

&:2*1-*.@
Читать дальше →
Total votes 26: ↑21 and ↓5+16
Comments0

«Программист» — это сверхобобщение

Reading time3 min
Views8.1K
В этом коде могут быть ошибки; я только доказал, что он правилен, а не проверял его.
Дональд Кнут

Сегодня я наткнулся на пост, в котором утверждалось, что использовать функцию C++ STL make_heap нельзя, потому что почти никто не умеет использовать ее правильно. Сначала я возмутился смехотворностью этой идеи — любой человек, имеющий хотя бы начальное представление об алгоритмах, должен знать, как правильно использовать make_heap. Но потом я задумался о том, сколько программистов не знают, что такое куча, более того, им это даже не нужно… А потом я понял, что все эти люди в равной степени зовутся программистами.

Когда я был маленьким, мне давали множество плохих советов о правильных техниках программирования. За прошедшие годы я осознал, что большинство советов не были плохими сами по себе, но давались в отрыве от контекста. Расцвет стартапов, наблюдающийся в настоящее время, заставил многих хакеров осознать, что «эффективность не имеет значения» — совет, таящий в себе множество ловушек и нюансов контекста, особенно когда речь идет о сложных архитектурах, которые могут взаимодействовать неожиданным образом. Эффект испорченного телефона, возникающий из-за недостатка контекста в таких высказываниях, сам по себе представляет проблему, но на самом деле он — лишь симптом проблемы более глубокой.

Термин «программист» покрывает колоссальный спектр способностей и умений. По вертикальной оси, программист может едва уметь писать на vbscript — или разрабатывать компиляторы для Intel или научный софт для авиакомпаний. По горизонтальной оси, он может быть экспертом в базах данных, улучшать производительность GPU, писать библиотеки параллельных вычислений, физические движки или драйвера для принтеров, заниматься обработкой изображений, генерацией 3D моделей или исследованиями в области искусственного интеллекта, использовать coffeescript, HTML5 и AJAX для разработки веб-приложений или nginx и PHP для разработки LAMP-стека, на котором веб-приложения работают… И это все — программисты.
Читать дальше →
Total votes 122: ↑100 and ↓22+78
Comments77

Новогодний квест: разбор

Reading time4 min
Views4.6K
Мой квест был опубликован трое суток назад, так что можно переходить к разбору. По моим оценкам, большинство желающих уже поломали над заданиями голову вволю, но если вы хотите попробовать еще — не заглядывайте под кат, чтобы не испортить удовольствие :-)

Один из самых частых отзывов на мои паззлы и загадки — ой, классно, но очень уж сложно, нам бы что попроще… Поэтому первые несколько уровней я старалась делать простыми и/или классическими, чтобы не остужать интерес игроков с самого начала. Затем шло несколько уровней, основанных на моих старых публикациях на Хабре, задуманные как бонус тем, кто внимательно изучит мои труды :-) И наконец, два последних уровня были самыми сложными — к их темам я раньше не обращалась никогда. Мои поздравления тем, кто прошел квест сам или с подсказками — к сожалению, я не заложила никакого способа оценки количества таких людей. Всего скачиваний архива с квестом было более 20000.
Читать дальше →
Total votes 84: ↑78 and ↓6+72
Comments24

Новогодний квест

Reading time1 min
Views11K
Пару дней назад я поддалась всеобщему новогоднему настроению и решила сделать новогодний квест. Собственно, вот он.

Принцип я подсмотрела в квестах Дмитрия Астапова aka _adept_: на каждом уровне дается задание (текст или картинка), решив его, получаем пароль к архиву, в котором лежит следующий уровень. Архив нулевого уровня (quest.zip) без пароля.

Задания получились разные — частично на ненормальное программирование, как я и планировала изначально, частично на догадливость. Поскольку из текстового файла, а тем более из картинки, при должном желании и изобретательности можно выжать очень много вариантов скрытого текста, правильный пароль на всех уровнях отмечен префиксом «pwd:» (вводить пароль нужно без префикса).

Надеюсь, вам понравится. С наступающим!

P.S. Наличие багов не исключено; пишите в личку, исправлю, обновлю.

Update. В паззл уровня 6 закралась ошибка; исправлена, архив quest.zip обновлен (размер архива должен быть 21501 байт). Если у кого-то закешировалась старая версия, скачать его же можно по ссылке tc-alchemy.progopedia.com/quest-patch1.zip
Total votes 101: ↑93 and ↓8+85
Comments301

Codeforces: Unknown Language Round #4

Reading time1 min
Views1K
После четырехмесячного перерыва Unknown Language Round возвращается на Codeforces: четвертый раунд этого типа состоится в воскресенье 20 ноября в 19:00 по московскому времени.

Соревнования этого формата предлагают участникам решить десяток задач за три часа времени. Все было бы довольно обычно, если бы не одно «но»: эти задачи можно решать только на одном языке программирования. Каком? О, это будет известно только в самом начале раунда. В том-то и прелесть формата, что выбирается язык, неизвестный большинству участников, и за отведенное время нужно не просто решить как можно больше задач, но еще и выучить заданный язык в объеме, достаточном для их реализации. Задачи подбираются простые и не требующие продвинутых алгоритмов, чтобы можно было сосредоточиться на новом языке.

На трех предыдущих раундах неизвестными языками оказались Tcl, Io и Pike; я участвовала только в первом, и, смею заверить, это было весело. В этот раз я раунд провожу и приглашаю всех в нем поучаствовать — особого опыта спортивного программирования для этого не нужно, а интересно будет (читатели моего блога здесь уже знают, какая я любительница языков позатейливее, а для такого случая грех было бы не подобрать что-нибудь особенное).

Для полноты картины приведу хабраанонс предыдущего раунда.
Total votes 30: ↑26 and ↓4+22
Comments8

Happy Nerd New Year!

Reading time4 min
Views1.2K
Сегодня 11 ноября 2011 года; в формате DD.MM.YY получается исключительно красивая бинарная запись (последняя, кстати, за следующие 88 лет — до 1 января 2100). Это замечательный повод объявить этот день Nerd New Year, с каковым я вас и поздравляю.


Хотя стоп, поздравление с таким днем в plaintext — это нонсенс. Я уже писала о необычных поздравлениях с днем программиста (2010, 2011), но здесь нужно что-то особенное… Лично у меня термин nerd ассоциируется с чем-нибудь бинарным; как насчет поздравлений, основанных на 0 и 1?

Spoon


Начнем с классики. Brainfuck — язык на все случаи жизни; и бинарный диалект у него тоже есть. В Spoon команды BF заменяются на последовательности нулей и единиц, составляющие префиксно-свободный код, так что их даже не нужно разделять пробелами. Следующий код на BF, выводящий «Happy Nerd New Year!»,

++++++++++[>+>++>+++>++++>+++++>++++++>+++++++>++++++++>+++++++++>++++++++++>+++++++++++>+++++++++++
+>+++++++++++++<<<<<<<<<<<<<-]>>>>>>>>--------.>>---.>>--------..>---------.<<<<<<<<<--------.>>>>++
++++.>>>---------.>++.<-.<<<<<<<.>>>>.>>>+.>+++++.<<<<<<<<.>>>>>-.>>.<.>>-----.<<<<<<<<+.


эквивалентен коду на Spoon

1111111111001000101010110101110101111010111110101111110101111111010111111110101111111110101111111111
0101111111111101011111111111101011111111111110110110110110110110110110110110110110110000011010010010
0100100100100100000000000000000000000000010100100100000000000010100100100000000000000000000000000010
1000101001000000000000000000000000000000101001101101101101101101101101100000000000000000000000000101
0010010010010111111001010010010010000000000000000000000000000001010010110010100110000010100110110110
1101101101100101001001001001000101001001001010010100101111100101001101101101101101101101100101001001
00100100100000010100100100010100110010100100100000000000000000010100110110110110110110110111001010


но, согласитесь, последний выглядит гораздо бинарнее.

Читать дальше →
Total votes 72: ↑53 and ↓19+34
Comments18

Необычные поздравления с днем программиста — 2

Reading time3 min
Views8.1K
Я хочу продолжить традицию, начатую год назад вот этой статьей (кстати, мне очень приятно, что ее еще помнят), и рассказать о еще нескольких способах сделать свое поздравление необычным и профессиональным. На этот раз я вывожу просто «congrats» — условно-нетрудоемкие способы закончились еще в том году.

Способ 1. Магический


В этой номинации традиционно выступают профессиональные фокусы на совершенно нормальных языках, которыми мы пользуемся каждый день, в данном случае — С++ (можно и просто C).

#include <stdio.h>
int main()
{   int A = 10, B = A^1937006968, C = B^337251857;
    printf((char *)&C);
} 


Disclaimer. Этот фокус использует низкоуровневые манипуляции с памятью; результаты могут варьироваться в зависимости от архитектуры компьютера и используемого компилятора.

Читать дальше →
Total votes 86: ↑78 and ↓8+70
Comments16

Моя бабушка — программист

Reading time5 min
Views14K
Я — программист в третьем поколении: первым программистом в семье была моя бабушка, потом моя мама, а теперь традицию продолжила я. Я попросила бабушку рассказать, как выглядела ее карьера, начавшаяся более полувека назад.

1954-1959. Высшее образование


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

Факультет кибернетики открылся только десять лет спустя, а пока что мехмат готовил специалистов по математике и теоретической механике. При поступлении не было разделения по будущим специализациям — первые два курса учились все вместе, а на третьем делились по специальностям. Бабушкин выпуск 1959 года был первым, в котором появилась специализация «вычислительная математика». В рамках этой специализации читались теоретические курсы, совершенно новые для того времени: программирование, устройство аналоговых машин, устройство цифровых машин, вычислительные методы (в основном методы решения дифференциальных уравнений и задач линейной алгебры)… На лекции ходили не только студенты, но и сотрудники Вычислительного центра Академии наук — других источников нового знания часто не было.

Читать дальше →
Total votes 314: ↑306 and ↓8+298
Comments92

Передовым IT-компаниям нужны эксперты по «мертвым» языкам

Reading time2 min
Views2.7K
Индустрии финансовых услуг Шотландии угрожает серьезная опасность в области информационных технологий. Нет, это не массированные DOS-атаки враждебных сил. Нет, и даже не безжалостные хакеры, покушающиеся на ценнейшие данные о клиентах. Индустрии грозит недостаток критических ресурсов: программистов, знающих COBOL, ассемблер и другие старые языки программирования. Университеты выпускают очень способных студентов, сведущих в модных языках типа Java и .NET, но многие компании начинают осознавать, что для некоторых устаревших технологий уже не будет нового поколения специалистов.

Читать дальше →
Total votes 45: ↑38 and ↓7+31
Comments112

Почему читабельность кода имеет значение?

Reading time7 min
Views5.2K
Понятно, что напрашивающийся (и правильный) ответ — «Потому что код приходится не только писать, а и читать». Едва ли этот ответ стоит целого поста, но автор им не ограничивается.

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

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

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

Читать дальше →
Total votes 80: ↑65 and ↓15+50
Comments28

Археология в языках программирования

Reading time2 min
Views802
Сегодня исполняется четыре года энциклопедии языков программирования Прогопедия — проекту, в котором я участвую уже почти два года.

К юбилею Прогопедия достигла приятной округлости не только дат, но и цифр: сейчас в ней описано ровно 100 языков! Сотым языком стал гастрономический Chef. Нормальные мейнстрим-языки в энциклопедии тоже есть, их даже больше, чем эзотерических. Но лично мне интереснее писать о последних, чем я и занимаюсь, в частности, на Хабре — ведь стать экспертом по Hanoi Love гораздо быстрее и проще, чем по Haskell ;-)

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

Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments10

Духи-покровители программиста

Reading time3 min
Views4.7K
За душу программиста сражаются три могущественных духа-покровителя: Художник, Трудяга и Прагматик.

Если вы слышите внутри себя голос: «Ты не можешь рисовать», рисуйте во что бы то ни стало, пока голос не стихнет.
— Винсент ван Гог


Первый дух, Художник, подталкивает программиста к работе над сложными заданиями, изобретению новых подходов и поиску средств самореализации. Он дает силы и желание создавать гениальные решения, учиться и творить (заодно он ведает спортивным программированием и эзотерическими языками программирования — прим.пер.). Он живет в лучших программах; именно он дарит программисту озарения, вселяет в него страсть к красоте кода и заставляет пренебрегать всем, что не относится к задаче. Это сильный дух, но и опасный — человек, одержимый им, непредсказуем и склонен забывать о действительно нужных вещах в угоду красивым. Он отвергнет посредственные, но годные решения и посвятит себя достижению безграничного совершенства на одном отдельно взятом фрагменте кода, переписывая его снова и снова даже ночью накануне важного показа, когда все тестировщики уже давно спят.

Читать дальше →
Total votes 122: ↑99 and ↓23+76
Comments61

Языки программирования: первая шутка

Reading time4 min
Views15K
В языках программирования есть свои шутники и свои шутки. Собственно, большинство эзотерических языков программирования задумывались именно как шутки (конечно, если не как вызов общественности, как F*ckf*ck, или как упражнение для ума, как Brainfuck). Но есть один язык, который по праву заслужил почетное звание Первой Шутки. В далеком 1972 году, когда все существующие языки программирования были исключительно целесообразны и убийственно серьезны, ранним утром 26 мая пара шутников раздвинула границы сущего и придумала принципиально новый язык. Они окрестили его «Compiler Language With No Pronounceable Acronym», что по очевидным причинам сократилось до INTERCAL.

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

Прежде всего, справочное руководство. Позднейшие эзотерические языки концентрируют свою необычность в самой сути языка, их руководства ограничиваются сухими фактологическими описаниями команд и особенностей. The INTERCAL Programming Language Reference Manual — уникальное описание языка программирования, с эпиграфами из «Алисы в Стране Чудес» и ехидными комментариями, сказанными совершенно серьезным тоном. Кроме того, специально для этого языка авторы разработали систему эвфемизмов для использующихся служебных символов: ' — искра, " — кроличьи ушки, . — пятно, : — двойное пятно, , — хвост, ; — гибрид (хотя логичнее было бы «пятнистый хвост»), $ — большие деньги, ~ — загогулина и т.д. (полный список прилагается к руководству). Комбинирование кроличьих ушек с пятном для получения кролика запрещено!

Читать дальше →
Total votes 71: ↑69 and ↓2+67
Comments8

Собеседования с разработчиками: вы делаете это неправильно

Reading time5 min
Views4.2K
Истории о том, как люди проходят собеседования в Google, напоминают мне о тех давно ушедших днях, когда я работал в стартапе. За десять лет проведения «современных» IT-интервью наша компания ничему не научилась, и я был частью этой проблемы несколько лет. Я просто скопировал стандартный механизм интервью тех времен, и тем самым совершил большую ошибку. Я думаю, проблемы с производительностью в компаниях, в которых во главе угла ставятся разработчики, выжжены в их ДНК процессом найма новых сотрудников — в корне порочным.

Как мы это делали


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

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

Читать дальше →
Total votes 107: ↑97 and ↓10+87
Comments54

Пи в языках программирования

Reading time3 min
Views13K
14 марта — всемирный день числа Пи. Придуманный в 1989 году и официально признанный в 2009, этот день отмечают многими способами, из которых самые популярные — поедание круглых пирогов и обсуждение вещей, связанных с числом Пи. Было бы странно, если бы не нашлось пары-тройки языков программирования, основанных на числе Пи или хотя бы названных в его честь. О них я и расскажу — надо же поддержать традицию :-)

1. Pi — диалект Brainfuck


У Brainfuck множество диалектов практически на все случаи жизни, диалект Pi среди них тоже есть. Команды языка записываются в число Пи в виде неправильных цифр в случайных разрядах следующим образом.

Читать дальше →
Total votes 66: ↑58 and ↓8+50
Comments25

Information

Rating
Does not participate
Location
Bellevue, Washington, США
Date of birth
Registered
Activity