• У вас нет высыпаний? Будут

      Меня зовут Евгений и я жаворонок. Сегодня проснулся в 6 утра, открыл окно в кухне, заварил кофейку и решил глянуть, «что нового». Мне написал мой бывший коллега «Андроид»… Точнее «Андроид-разработчик» Максим, но так звучит фантастичнее…

      image

      Он спросил:
      – Женя, привет. (wave) Вопрос к тебе, как мега лайв хакеру. Сколько времени нужно спать, что бы мозг отдохнул и можно было плодотворно работать? Умные будильники сильно помогают?

      Я ответил, а потом подумал, ведь и парочке сотен человек с Хабра тоже пригодится хоть один пунктик из вычитанных мною ранее советов, ведь «так как никто не слушает, приходится повторять»:
      Читать дальше →
    • 5 организаций, которые дарят студентам ВУЗ'ов платные инструменты для разработки

      image

      Привет Хабр!

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

      Итак, если ты читаешь этот пост, являешься студентом ВУЗа и у тебя есть желание поучаствовать в программе (возможно даже не одной) бесплатного доступа к различному софту и другим плюшкам от крупных организаций — прошу под кат.
      Читать дальше →
    • Почему, ну почему, эти #?@! придурки используют vi?

      Предлагаю читателям "Хабрахабра" перевод статьи "Why, oh WHY, do those #?@! nutheads use vi?" за авторством John Beltran de Heredia.


      Да, даже если вы не можете в это поверить, у редактора vi, увидевшего свет более тридцати лет назад (и его более молодого, всего-то пятнадцатилетнего лучшего клона & большого улучшения — vim) очень много фанатов.


      Нет, они не динозавры, которые не хотят идти в ногу со временем — сообщество пользователей vi продолжает увеличиваться: я, который начал только два года назад (после десяти лет работы программистом). Мои друзья переходят на vi сейчас. Черт, большинство пользователей vi даже еще не были рождены, когда он был написан!


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

      Читать дальше →
    • Математика для искусственных нейронных сетей для новичков, часть 1 — линейная регрессия

      Оглавление

      Часть 1 — линейная регрессия
      Часть 2 — градиентный спуск
      Часть 3 — градиентный спуск продолжение

      Введение


      Этим постом я начну цикл «Нейронные сети для новичков». Он посвящен искусственным нейронным сетям (внезапно). Целью цикла является объяснение данной математической модели. Часто после прочтения подобных статей у меня оставалось чувство недосказанности, недопонимания — НС по-прежнему оставались «черным ящиком» — в общих чертах известно, как они устроены, известно, что делают, известны входные и выходные данные. Но тем не менее полное, всестороннее понимание отсутствует. А современные библиотеки с очень приятными и удобными абстракциями только усиливают ощущение «черного ящика». Не могу сказать, что это однозначно плохо, но и разобраться в используемых инструментах тоже никогда не поздно. Поэтому моей первичной целью является подробное объяснение устройства нейронных сетей так, чтобы абсолютно ни у кого не осталось вопросов об их устройстве; так, чтобы НС не казались волшебством. Так как это не математический трактат, я ограничусь описанием нескольких методов простым языком (но не исключая формул, конечно же), предоставляя поясняющие иллюстрации и примеры.

      Цикл рассчитан на базовый ВУЗовский математический уровень читающего. Код будет написан на Python3.5 с numpy 1.11. Список остальных вспомогательных библиотек будет в конце каждого поста. Абсолютно все будет написано с нуля. В качестве подопытного выбрана база MNIST — это черно-белые, центрированные изображения рукописных цифр размером 28*28 пикселей. По-умолчанию, 60000 изображений отмечены для обучения, а 10000 для тестирования. В примерах я не буду изменять распределения по-умолчанию.
      Читать дальше →
    • RE: Возможны ли путешествия во времени?

        Вчера на Хабре появился потрясающий по своей безграмотности пост "Возможны ли путешествия во времени". В ответ на моё замечание о незнакомстве с базовыми научными представлениями о пространстве и времени автор припечатал меня вот так:
        Если для Вас википедия — главный оплот истины и знаний, а физические законы непоколебимы — Вам пора на работу в инквизицию. Еще столько людей, опровергающих теоретические выдумки физиков 18 века, не сожжено!

        Такого уровня воинствующего невежества я давно не видал, и уж на Хабре-то его видеть вдвойне странно.

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

        Время



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






        Здесь (x, y, z, t) — координаты в старой системе, (x', y', z', t') — координаты в новой системе. Здесь и далее предполагается (для упрощения формул), что одна система движется относительно другой параллельно оси x со скоростью v.

        Это т.н. преобразования Галилея — что происходит с координатами при смене системы отсчета. В галилеевом смысле «поток времени» один на всю Вселенную, и временные координаты у всех объектов одинаковы. При этом классическая механика никак не трактует уникальность стрелы времени; более того, само понятие движения времени в ньютоновы формулы не входит никак.

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

        Однако «путешествие во времени» — т.е. перемещение одного конкретного объекта по шкале t в прошлое — ньютоновой механикой запрещено (см. выше — временной поток один на всю Вселенную).

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

        Читать дальше →
      • Мозг. Вводный курс: познакомьтесь с вашим хозяином и повелителем

        • Перевод


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

        1. Нейроны и как они беседуют друг с другом.


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

        image
        Небольшой набор того, что на самом деле есть у вас в голове
        Читать дальше →
      • Волшебная круговая развязка: кругосветное путешествие по самой сложной дорожной развязке в мире

        • Перевод


        Развязки с круговым движением, популярные в разных странах, в частности, в Великобритании, очевидно более эффективны, чем перекрёстки с полной остановкой или другие виды перекрёстков. Но во многих местах, включая США, они не нашли признания.

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

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

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


          Ограниченность химических ракет была ясна ещё до начала регулярных космических пусков. Формула Циолковского прямо говорит, что на привычных нам двигателях можно слетать на Луну (стартуя на ракете тысячи в три тонн начальной массы и вернувшись в кораблике в несколько тонн), с огромным трудом долететь до Марса (с во много раз худшим соотношением начальной/конечной массы), но вот покорить Солнечную систему на химических ракетах нельзя. Поэтому уже в середине двадцатого века стали появляться альтернативные проекты, наиболее ярким из которых стал атомный взрыволёт (импульсная ракета). В этом посте мы поговорим о его конструкции, истории создания, перспективах в 21 веке, а ещё слетаем на нём к Юпитеру в Orbiter'е.
          Читать дальше →
        • Эксперимент, который навсегда изменил наше представление о реальности

          • Перевод
          Принцип неопределенности говорит, что мы не можем знать определённые свойства квантовой системы в один и тот же момент времени. Например, мы не можем одновременно узнать положение частицы и ее скорость. Но что это говорит нам о реальном мире? Если бы мы могли заглянуть за кулисы квантовой теории, обнаружили бы мы, что объекты действительно обладают определенным положением и скоростью? Или принцип неопределенности означает, что на фундаментальном уровне объекты просто не имеют четкой координаты и импульса одновременно. Другими словами, неполна ли наша теория или реальность «размыта» на самом деле?

          Читать дальше →
        • Кривая обучения и кривые руки: неуемная фантазия + исследования физика Джеффри Уэста

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



            Под катом — несколько интересных графиков и эволюция сложных систем. И что с этим делать.
            Далее
          • Как обучается ИИ


              Источник изображения.

              Есть ли связь между трехглазой жабой и нейронными сетями? Что общего у программы, выигрывающей в го, и приложением Prisma, перерисовывающим фотографии под стили картин известных художников? Как компьютеры одолели нарды, а затем покусились на святое — и выиграли у человека в “Космических захватчиков”?
              Дадим ответы на все эти вопросы, а еще поговорим о революции, связанной с глубоким обучением, благодаря которому удалось добиться прорыва во многих областях.
              Читать дальше →
            • В пень free-lance.ru!

                В связи с прочтением соседнего поста предлагаю перечислить список бирж, на которых можно найти альтернативу тому унылому говну, в которое превратился free-lance.ru, ибо терпеть планомерный геноцид я больше не намерен.
                Читать дальше →
              • 30 вопросов, на которые у вас должен быть готов ответ во время собеседования

                image

                Чтобы успешно пройти интервью, вам следует создать краткую презентацию и несколько безупречных историй, а также отточить умение улавливать, чего же от вас ждут. Но как этого добиться? Неустанно практикуясь.
                Вот 30 вопросов, используемых на поведенческих интервью. Они помогут вам лучше подготовиться к следующей беседе. Чтобы вам было удобнее тренироваться, вопросы разбиты на темы.
                Читать дальше →
              • Своя компания в США без головной боли

                  Один из лидеров процессинга пластиковых карт в США Stripe предлагает разработчкам супер-услугу: комплексную регистрацию бизнеса в США. Сервис называется Atlas.

                  Что включено:
                  • Собственно, новая компания в США.
                  • Регистрация в налоговой и счет в банке
                  • Естественно, счет в Stripe для приема пластиковых карт онлайн
                  • Юридические и налоговые консультации
                  • Кредит в AWS аж на $15000


                  Ну, и самое главное: за все это счастье они просят всего лишь $500, а для открытия счета лично в США ехать не надо!
                  Это буквально революция, чесслово.
                  Читать дальше →
                • Асинхронное программирование: концепция Deferred

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

                    Первый пример — сетевой сервер, веб-приложение. Чаще всего как таковых вычислений на процессоре такие приложения не выполняют. Большая часть времени (реального, не процессорного) тратится на ввод-вывод: чтение запроса от клиента, обращение к диску за данными, сетевые обращение к другим подсистемам (БД, кэширующие сервера, RPC и т.п.), запись ответа клиенту. Во время этих операций ввода-вывода процессор простаивает, его можно загрузить обработкой запросов других клиентов. Возможны различные способы решить эту задачу: отдельный процесс на каждое соединение (Apache mpm_prefork, PostgreSQL, PHP FastCGI), отдельный поток (нить) на каждое соединение или комбинированный вариант процесс/нить (Apache mpm_worker, MySQL). Подход с использованием процессов или нитей перекладывает мультиплексирование процессора между обрабатываемыми соединениями на ОС, при этом расходуется относительно много ресурсов (память, переключения контекста и т.п.), такой вариант не подходит для обработки большого количества одновременных соединений, но идеален для ситуации, когда объем вычислений достаточно высок (например, в СУБД). К плюсам модели нитей и процессов можно добавить потенциальное использование всех доступных процессоров в многопроцессорной архитектуре.
                    Читать дальше →
                  • Как работает yield

                    • Перевод
                    На StackOverflow часто задают вопросы, подробно освещённые в документации. Ценность их в том, что на некоторые из них кто-нибудь даёт ответ, обладающий гораздо большей степенью ясности и наглядности, чем может себе позволить документация. Этот — один из них.

                    Вот исходный вопрос:
                    Как используется ключевое слово yield в Python? Что оно делает?

                    Например, я пытаюсь понять этот код (**):
                    def _get_child_candidates(self, distance, min_dist, max_dist):
                        if self._leftchild and distance - max_dist < self._median:
                            yield self._leftchild
                        if self._rightchild and distance + max_dist >= self._median:
                            yield self._rightchild
                    

                    Вызывается он так:
                    result, candidates = list(), [self]
                    while candidates:
                        node = candidates.pop()
                        distance = node._get_dist(obj)
                        if distance <= max_dist and distance >= min_dist:
                            result.extend(node._values)
                            candidates.extend(node._get_child_candidates(distance, min_dist, max_dist))
                            return result
                    


                    Что происходит при вызове метода _get_child_candidates? Возвращается список, какой-то элемент? Вызывается ли он снова? Когда последующие вызовы прекращаются?

                    ** Код принадлежит Jochen Schulz (jrschulz), который написал отличную Python-библиотеку для метрических пространств. Вот ссылка на исходники: http://well-adjusted.de/~jrschulz/mspace/

                    Подробный и обстоятельный ответ
                  • Биржа убийств — правильное использование Bitcoin

                    image
                    Честно говоря, я давно ждал этого события. На днях оно случилось.
                    Открыт общественный краудфандинг-биржа, где принимаются ставки на убийство общественных деятелей.
                    Схема простая: кто-то вносит имя в блэк-лист, остальные люди, которым тоже не нравится сей деятель и которые желают от него быстрее избавиться, вносят пожертвования через биткоины. В один прекрасный момент, собранная сумма становится привлекательной для киллера-маньяка, он пишет авторам сайта сообщение (делает ставку), мол, тогда-то и тогда-то умрет такой-то человечек из вашего списочка. Если человек действительно умирает, убийца срывает банк и забирает все деньги. Все счастливы (почти все).
                    Конечно, к сервису два главных вопроса.
                    Читать дальше →
                  • По следам интеллекта 2

                      Некоторые люди полагают, что они мыслят, в то время как они просто переупорядочивают свои предрассудки.
                      Давно я написал статью-обзор по эволюции методов моделирования нейронов и забросил это дело. В описание попали старые и всем интересующимся нейронами известные методы, можно сказать, получился обзор учебников выпущенных до распада СССР. Если кому интересно может сходить habrahabr.ru/post/101020, посмотреть старый обзор. Сейчас у меня подсобрался материал по нескольким с моей точки зрения увлекательным и более современным методам моделирования, которые заслужили упоминания в виде структурированного обзора. Здесь я только упомяну эти методы в описательном порядке, по той простой причине, что для большинства интересней знать, зачем мы его применяем, а не как он работает и как его применять. Объем текста значительно уменьшится, интересность повысится, а то, как в действительности работают эти методы, каждый сможет найти сам.
                      Итак, готовьтесь.
                      Читать дальше →
                      • +37
                      • 22,4k
                      • 6
                    • Термоядерная энергетика: надежда человечества?

                        В детстве я любил читать журнал «Наука и Жизнь», в деревне лежала подшивка начиная с 60-х годов. Там часто рассказывали про термоядерный синтез в радостном ключе — вот уже почти, и оно будет! Многие страны, чтобы успеть на раздачу бесплатной энергии строили у себя Токамаки (и настроили их суммарно 300 штук по всему миру).

                        Годы шли… Сейчас 2013-й год, а человечество до сих пор получает бОльшую часть энергии от сжигания угля, как в 19-м веке. Почему так получилось, что мешает создать термоядерный реактор, и чего нам ждать в будущем — под катом.
                        Читать дальше →