• Где учат преподавать (не только в пед. институте)

      Кому будет полезна статья:

      • студентам, которые решили подзоработать репетиторством
      • аспирантам или специалистам, которым выдали семинарскую группу
      • старшим братьям\сестрам, когда младшие просят научить программировать (вышивать крестиком, говорить на китайском, анализировать рынки, искать работу)

      То есть всем тем, кому нужно учить, объяснять, и кто не знает за что хвататься, как планировать уроки, что рассказывать.

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


      то, как на вас смотрят ученики
      Читать дальше...
    • Процедурная генерация планет

      • Translation

      От переводчика:
      Представляю вашему вниманию статью авторства Andy Gainey, в прошлом независимого разработчика игровых инструментов, ныне сотрудника Paradox Development Studio. На мой взгляд, автор играючи создал один из лучших процедурных генераторов планет с открытым исходным кодом.

      Читать дальше →
    • Математика листьев: как один необычный куст изменил уравнение модели роста растений

      • Translation
      Мы любим листья за их тень, осенние цвета, запах, а расположение листьев растения — это практичный способ определения их видов. Однако подробности того, как растения управляют расположением своих листьев, оставались в ботанике неразъяснимой загадкой. Один вид японских растений с необычным паттерном расположения листьев недавно позволил нам под неожиданным углом взглянуть на то, как почти все растения управляют этим расположением.

      «Мы разработали новую модель для объяснения одного особенного паттерна расположения листьев (филлотаксиса). Но на самом деле он намного точнее отражает не только природу этого конкретного растения, но и широкое разнообразие практически всех паттернов расположения листьев, наблюдаемых в природе», — рассказывает доцент Ботанического сада Коисикава Токийского университета Мунэтака Сугияма.

      Всё дело в углах



      Листья на ветке O. japonica (вверху слева) и схематическое изображение филлотаксиса orixate (справа). Паттерн orixate демонстрирует необычный цикл смены углов листьев, состоящий из четырёх значений (от 180 градусов к 90 градусам, потом к 180 градусам и к 270 градусам). На изображении со сканирующего электронного микроскопа (в центре и внизу слева) показана зимняя почка Orixa japonica, в которой начинают расти листья. Зачатки листьев последовательно помечены от самого старого листа (P8) до самого молодого (P1). Точкой O помечена верхушка побега.
      Читать дальше →
      • +30
      • 8.7k
      • 6
    • Цвет: от шестнадцатеричных кодов до глаза

      • Translation


      Почему мы воспринимаем background-color: #9B51E0 как этот конкретный фиолетовый цвет?



      Долгое время я думал, что знаю ответ на этот вопрос. Но хорошенько поразмыслив, осознал значительные пробелы в своих знаниях.
      Читать дальше →
    • Самое главное о нейронных сетях. Лекция в Яндексе

        Кажется, не проходит и дня, чтобы на Хабре не появлялись посты о нейронных сетях. Они сделали машинное обучение доступным не только большим компаниям, но и любому человеку, который умеет программировать. Несмотря на то, что всем кажется, будто о нейросетях уже всем все известно, мы решили поделиться обзорной лекцией, прочитанной в рамках Малого ШАДа, рассчитанного на старшеклассников с сильной математической подготовкой.

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



        Константин klakhman Лахман закончил МИФИ, работал исследователем в отделе нейронаук НИЦ «Курчатовский институт». В Яндексе занимается нейросетевыми технологиями, используемыми в компьютерном зрении.

        Под катом — подробная расшифровка со слайдами.
        Читать дальше →
      • Structure from motion

        • Tutorial

        Если посмотреть на последовательность кадров, в которых движется камера, то мозг легко воспринимает геометрическую структуру содержимого. Однако, в компьютерном зрении это не тривиальная проблема. В этой статье я постараюсь описать возможное решение этой задачи.
        Читать дальше →
      • Junior FPGA Design Engineer: как стать?

          Всем привет!

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

          Разработка под FPGA (ПЛИС) — это не просто какой-то язык. Это очень объемная область, с огромным количеством подводных камней и нюансов.

          В этой статье вы найдете:
          • список тем, которые должен освоить начинающий разработчик под FPGA
          • рекомендуемую литературу по каждой из тем
          • набор тестовых вопросов и лабораторных работ
          • классические ошибки новичков (и советы по исправлению)

          Добро пожаловать под кат!
          Читать дальше →
        • «Страшные» абстракции Haskell без математики и без кода (почти). Часть I

          • Tutorial
          — Для чего нужны монады?
          — Для того, чтобы отделить чистые вычисления от побочных эффектов.
          (из сетевых дискуссий о языке Haskell)

          Шерлок Холмс и доктор Ватсон летят на воздушном шаре. Попадают в густой туман и теряют ориентацию. Тут небольшой просвет — и они видят на земле человека.
          — Уважаемый, не подскажете ли, где мы находимся?
          — В корзине воздушного шара, сэр.
          Тут их относит дальше и они опять ничего не видят.
          — Это был математик, – говорит Холмс.
          — Но почему?
          — Его ответ совершенно точен, но при этом абсолютно бесполезен.
          (анекдот)

          Когда древние египтяне хотели написать, что они насчитали 5 рыб, они рисовали 5 фигурок рыб. Когда они хотели написать, что насчитали 70 людей, они рисовали 70 фигурок людей. Когда они хотели написать, что насчитали в стаде 300 овец, они… — ну, в общем, вы поняли. Так и мучились древние египтяне, пока самый умный и ленивый из них не увидел нечто общее во всех этих записях, и не отделил понятие количества того, что мы подсчитываем, от свойств того, что мы подсчитываем. А потом другой умный ленивый египтянин заменил множество палочек, которыми люди обозначали количество, на значительно меньшее количество знаков, короткой комбинацией которых можно было заменить огромное количество палочек.

          То, что сделали эти умные ленивые египтяне, называется абстракцией. Они подметили нечто общее, что свойственно всем записям о количестве чего-либо, и отделили это общее от частных свойств подсчитываемых предметов. Если вы понимаете смысл этой абстракции, которую мы сегодня называем числами, и то, насколько она облегчила жизнь людям, то вам не составит труда понять и абстракции языка Haskell — все эти непонятные, на первый взгляд, функторы, моноиды, аппликативные функторы и монады. Несмотря на их пугающие названия, пришедшие к нам из математической теории категорий, понять их не сложнее, чем абстракцию под названием «числа». Для их понимания совершенно не требуется знать ни теорию категорий, ни даже математику в объёме средней школы (арифметики вполне достаточно). И объяснить их тоже можно, не прибегая к пугающим многих математическим понятиям. А смысл абстракций языка Haskell точно такой же, как и у чисел — они значительно облегчают программистам жизнь (и вы пока даже не представляете, насколько!).
          Читать дальше →
        • Неконстантные константные выражения

          • Translation
          // <какой-то код>
           
          int main ()
          {
                  constexpr int a = f ();
                  constexpr int b = f ();
           
                  static_assert (!= b, "fail");
          }

          Можно ли в приведенном выше фрагменте вместо комментария вставить такое определение f (), чтобы a получила значение, отличное от b?

          “Разумеется, нет!” — скажете вы, немного подумав. Действительно, обе переменные объявлены со спецификатором constexpr, а значит, f () тоже должна быть constexpr-функцией. Всем известно, что constexpr-функции могут выполняться во время компиляции, и, как следствие, не должны зависеть от глобального состояния программы или изменять его (иными словами, должны быть чистыми). Чистота означает, что функция при каждом вызове с одними и теми же аргументами должна возвращать одно и то же значение. f () оба раза вызывается без аргументов, поэтому должна оба раза вернуть одно и то же значение, которое и будет присвоено переменным a и b… правильно?

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

          Я ошибался.
          Увиденное под катом уже не развидеть
        • Создание 3D сканера из вебкамеры, лазера, и еще кучки радиодеталей

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

          image
          Читать дальше →
        • Arduino за 1$



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

          Скажу за себя — мне Arduino нравится. Тем, что можно быстро что-нибудь работающее соорудить. По сути, мне не нравятся только цены. Ну, дорого же. Модуль на порядок дороже использованного в нем микроконтроллера. Такие размышления неоднократно подталкивали меня к тому, чтобы «соскочить», но потом я открывал Aliexpress и заказывал очередную порцию. Китайская версия Arduino Nano — 3-4$. Pro Mini (без USB) — 2-3$.

          Потом стало интересно — а где предел минимальной розничной (или микрооптовой) цены. Но так, чтобы можно было работать, а не искать хаки с целью сэкономить пару байт. Пара вопросов к всемирному разуму, кратчайшее изучение матчасти, решение: «Буду ковыряться с ATTiny, но чтобы с Arduino».
          Стоя и в гамаке
        • Пишем плагин для XBMC с собственным интерфейсом: часть III — API и микро-фреймворк

          • Tutorial

          Вступление


          Это III часть цикла статей, посвященных написанию плагинов для XBMC с собственным интерфейсом. В предыдущих частях (часть I и часть II) я рассказал об основных принципах создания интерфейса плагинов XBMC и дал несколько простых примеров. В этой части я хочу совсем кратко рассказать о различных API для взаимодействия с XBMC, продемонстрировать написанный мною микро-фреймворк, упрощающий компоновку интерфейса.
          Читать дальше →
        • Пишем плагин для XBMC с собственным интерфейсом: часть II — диалоги и украшателства

          • Tutorial

          Вступление


          Это II часть цикла статей, посвященных написанию плагинов для XBMC с собственным интерфейсом. В I части рассказывается общая информация о создании плагинов для XBMC с собственным интерфейсом и приведен простейший пример. В этой части я дам еще немного общей информации — расскажу о диалогах, а также рассмотрю немного более сложные примеры, в которых будет показано использование картинок для украшения интерфейса, а также создание простейших интерактивных элементов.
          Читать дальше →
          • +13
          • 9.8k
          • 6
        • Пишем плагин для XBMC с собственным интерфейсом: часть I — теория и простейший пример

          • Tutorial

          Вступление


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

          В своей первой статье «Подробная анатомия простого плагина для XBMC» я попытался максимально подробно описать структуру плагина для XBMC. Кроме того, я постарался рассказать, чем отличаются плагина-источники контента и плагины скрипты.
          Читать дальше →
          • +17
          • 18.8k
          • 6
        • Как перестать беспокоиться и начать снимать панорамы

          image

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

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

          • Translation
          (Замечательное объяснение принципов работы сети Bitcoin авторства Michael Nielsen. Много текста, немного картинок. Обо всех корявостях перевода — в личку, буду исправлять по мере обнаружения)

          Много тысяч статей было написано для того, чтобы объяснить Биткоин — онлайн, одноранговую (p2p) валюту. Большинство из этих статей поверхностно рассказывают суть криптографического протокола, опуская многие детали. Даже те статьи, которые «копают» глубже, часто замалчивают важные моменты. Моя цель в этой публикации — объяснить основные идеи, лежащие в протоколе Биткоин в ясной, легкодоступной форме. Мы начнем с простых принципов, далее пойдем к широкому теоретическому пониманию, как работает протокол, а затем копнем глубже, рассматривая сырые (raw) данные в транзакции Биткоин.
          Читать дальше →
        • FlightCar: peer-to-peer обмен автомобилями и борьба с бюрократами

            FlightCar

            Около года назад начал свою работу стартап FlightCar.com предлагающий сдачу собственной машины в прокат. Подобная бизнес-схема в США известна как “peer-to-peer car sharing”. Основатели стартапа – трое молодых людей, 18-летний (на тот момент) Rujul Zaparde и 19-летние Shri Ganeshram и Kevin Petrovic. Ради создания своей компании Руджул отказался от обучения в Гарварде, Кевин бросил Принстон, а Шри – MIT.
            Надо сказать, это не первый совместный проект Руджула и Кевина. Еще в средней школе они основали некоммерческий фонд, в задачу которого входил сбор средств и строительство колодцев в деревнях Индии, имеющих ограниченный доступ к чистой воде.

            Кевин, Руджул и Шри

            Несмотря на то, что компании с подобной бизнес-моделью существовали и ранее, например Getaround была основана в 2009, RelayRides в 2010, FlightCar нащупал специфическую нишу. Бизнес-идея оказалась довольно проста: люди, прилетающие в другой город, нередко вынуждены арендовать машину. При этом их собственная машина в это время не используется, а во многих случаях хозяин еще и платит деньги за парковку аэропорту. Так почему бы не оптимизировать этот процесс?
            Читать дальше →
          • Поговорим про… фонарики?

              Приветствую, %username%!
              Это небольшой ликбез на тему сегодняшнего состояния отрасли портативного освещения.
              Disclaimer
              К показанным фонарям и остальному железу я отношения не имею. Их рекламой данный пост не является.

              Поехали, начнем с современных светодиодов
              Читать дальше →
            • Сохранение данных Google Reader

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

                Найденные решения, в том числе и на хабре(здесь и здесь), не подошли в основном по двум причинам: нет возможности сохранения в БД и медленная скорость работы. Пришлось собрать свой велосипед — grbackup, который
                grbackup -e fake@gmail.com -p password -ba -o mongodb://localhost:27017 -w 20
                

                за 20 минут сохранил 328250 записей из 102 подписок в локальную БД MongoDB.

                Основные возможности:
                • сохранение всех записей, которые можно получить при помощи Google Reader API
                • сохранение записей в различные хранилища
                • использование формата идентичного тому, что отдает Google Reader через API
                • параллельное получение/сохранение записей
                • расширяемость: возможность добавить новый вид хранилища


                Доступные виды хранилищ определяются расширениями(плагинами) и задаются при помощи опции (-o, --output) вида type:uri.
                На момент написания статьи доступны следующие расширения:
                • simple: вывод в терминал (используется только в режиме просмотра)
                • json: запись в json-файл (json:/path/to/file.json)
                • mongodb: запись в MongoDB (mongodb://[username:password@]hostN[:portN]]][/[db][?opts]])
                • redis: запись в Redis (redis://username:password@host[:port]/dbindex)

                Работоспособность проверена на Ubuntu(64) и Win7(64).
                Книгу предложений и замечаний можно найти здесь.
                Ниже находится подробное описание утилиты.
                Читать дальше →
              • Рассказы о копирайте и интеллектуальной собственности



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

                  Я объединил наши списки, и постарался отбросить наименее интересные работы, которые часто представляют собой просто художественно оформленные споры о копирайте. В итоге получилось около 20 рассказов. Ссылки приведены только для тех работ, которые авторы опубликовали сами, или распространяются по свободным лицензиям (были случаи, когда авторы протестовали против размещения ссылок на произведения). Некоторые вещи написаны профессионалами, некоторые — любителями, в том числе программистами. Не советую читать сразу все подряд, так как тема, в общем-то, одна, и может наскучить, хотя сюжеты и драматические эффекты встречаются весьма разнообразные.
                  Читать дальше →