Pull to refresh
38
Karma
0
Rating
Дмитрий Братусь @dbratus

User

  • Followers 3
  • Following 1

Доля серверов с Linux продолжает расти, а Windows и Unix сокращаться

Рост числа Linux-серверов — это часть общей тенденции роста объема open source софта вообще и особенно в сегменте OS/middleware. На то есть несколько причин. Во-первых, это выгодно железячникам. Маржа с продажи железа с open source софтом выше, поскольку стоимость лицензии софта — это то, что проходит мимо кассы железячника (об этом можно почитать у Джоэла Спольски). Во-вторых, open source софт постепенно начал делать все то, что раньше мог только проприетарный, а «если нет разницы, зачем платить больше?» Софт как таковой сейчас продается все хуже и хуже; гораздо лучше продается железо и сервисы, а если ты продаешь что либо из этого, тебе выгодно, чтобы лицензии на софт были бесплатными.

Что касается лично меня, то я уже года два как не пользуюсь Windows дома, причем произошло это как-то само собой. При том на пяти девайсах из шести стоит Linux в том или ином виде.

Рано или поздно Linux станет доминирующей ОС во всех сегментах, просто потому что Windows не переживет Microsoft, а вечных коммерческих организаций не бывает. Linux же будет существовать и сопровождаться пока существует IT.

Восстановление документов после шредера (приз $50 000)

У нас на работе есть такое коллективное увлечение — собирать пазл, — придумано изначально для борьбы со срессом после общения с индусами. И вот, недавно возникла идея программы для сборки пазла.

Постановка задачи простая:
— Дана фотография пазлинок, выложенных в произвольном порядке прямоугольником на белом фоне.
— Дана фотография коробки с конечным изображением.
— Требуется программа, которая бы по этим входным данным выдавала бы порядок перестановки пазлинок в конечное изображение.

Приз: ящик пива + статья на Хабре.

Скромное руководство по прохождению интервью: часть 1

Я думаю, характер вопросов на собеседовании сильно зависит от компании. Я сам отсобеседовал пол команды и ничего подобного мы никогда не спрашивали. Стандартные воросы на нашем собеседовании (для любого разработчика, не только старшего и ведущего):

— Паттерны проектирования.
— Смэлы и методы рефакторинга.
— Типы блокировок в многопоточной среде. Возможные проблемы с параллельным доступом.
— Транзакции — определение, уровни изоляции, выбор уровня изоляции.
— Когда лучше использовать/неиспользовать индексы.
— Основные проблемы информационной безопасности и способы их предотвращения (это ужасно, но в этой области только единицы могут ответить что-то внятно).
— Если человек заявляет, что знает несколько языков программирования, просим сравнить несколько языков (особенности, сильные/слабые стороны) — С# vs Java, C# vs C++ и т. д.
— SQL запросы — оптимизация и т. д. Классический вопрос: дан запрос, запрос использует full table scan. Почему? Что проверить?
— Вопросы на опыт работы с заявленными технологиями: как вызвать утечку памяти в .NET, как положить на лопатки кэш Oracle одним запросом, что такое ORA-01555 Snapshot too old и т. д. в зависимости от заявленных знаний. Иными словами, это вопросы, знать ответы на которые человек может только проработав с технологией какое-то время.

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

Флешмоб в поддержку ПростоПринт

Только вчера узнал об этом беспределе, и был удивлен — думал такое возможно только в России и Белоруссии, а вот оно, оказывается, как…

В России, например, издатели, пресса и телевизионщики уже давно боятся. Власть даже как бы ничего против них и не делает, а они уже боятся — заранее, на всякий случай, чтобы чего не вышло. И вводят цензуру — сами, по собственной воле. Поэтому такие сервисы, как prostobook.com — это единственное место, где человек может опубликовать offline, что он думает о %bastard_name%. Теперь и этого сервиса может не стать.

PS
Если власть боится футболок, такая власть долго не протянет.

Интуиция, головоломки и вычислимость

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

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

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

Интуиция, головоломки и вычислимость

Не совсем

"Детерминированность (определённость). В каждый момент времени следующий шаг работы однозначно определяется состоянием системы. Таким образом, алгоритм выдаёт один и тот же результат (ответ) для одних и тех же исходных данных. В современной трактовке у разных реализаций одного и того же алгоритма должен быть изоморфный граф. С другой стороны, существуют вероятностные алгоритмы, в которых следующий шаг работы зависит от текущего состояния системы и генерируемого случайного числа. Однако при включении метода генерации случайных чисел в список «исходных данных», вероятностный алгоритм становится подвидом обычного".

Интуиция, головоломки и вычислимость

Хорошо, тогда как получить криптографическое случайное число, не имея источника энтропии?

Интуиция, головоломки и вычислимость

«Алгоритм — это конечный набор правил, который определяет последовательность операций для решения конкретного множества задач и обладает пятью важными чертами: конечность, определённость, ввод, вывод, эффективность». (Д. Э. Кнут)

«Алгоритм — это всякая система вычислений, выполняемых по строго определённым правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи». (А. Колмогоров)

«Алгоритм — это точное предписание, определяющее вычислительный процесс, идущий от варьируемых исходных данных к искомому результату». (А. Марков)

«Алгоритм — точное предписание о выполнении в определённом порядке некоторой системы операций, ведущих к решению всех задач данного типа». (Философский словарь / Под ред. М. М. Розенталя)

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

Интуиция, головоломки и вычислимость

Моделирование эволюции — это совсем другая материя. Эволюционные процессы фундаментально недетерминированы, поэтому не могут считаться классическими вычислительными процессами.

Интуиция, головоломки и вычислимость

Построить алгоритм, значит построить вычислительный процесс, то есть машину Тьюринга.

Интуиция, головоломки и вычислимость

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

Сколько компьютеров у вас дома? (планшеты и смартфоны не считаются)

Забавно, что среди читающих Хабр есть те, у кого вообще нет дома компьютера.

Интуиция, головоломки и вычислимость

ОК, я понял ваше решение (без объяснения оно выглядит странно). Еще я вспомнил, один наш бизнес-аналитик решил задачу в Excel-е. Он скорее всего использовал ваш метод.

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

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

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

Интуиция, головоломки и вычислимость

Согласен, это одно и тоже.

Интуиция, головоломки и вычислимость

Он просто искал в другом пространстве состояний, не учитывая коммутативность операций.

Интуиция, головоломки и вычислимость

Прямой последовательный перебор тоже не заходит в пройденные состояния.

Интуиция, головоломки и вычислимость

Причем здесь линейные уравнения? Это поисковая задача.

Решение:
1 1 1 2 3 3 3 4 4 4

Я немного ошибся с статье (давно дело было, детали забыл). Кратчайшее решение имеет длину не 14, а 10, но это сути не меняет.

Интуиция, головоломки и вычислимость

Поиск в ширину без априорной оценки и есть brute force. Подбор числа можно реализовать оптимальней и распаралелить.

Сколько компьютеров у вас дома? (планшеты и смартфоны не считаются)

У меня три ноута — старый, новый и рабочий, — десктоп и неттоп, используемый в качестве сервера.

Фантастика? Нет, Wacom!

Не понимаю, почему нельзя просто засунуть лист бумаги в сканер.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity