• «Я не понимаю»

    • Перевод
    Я заметил, что самые взрослые и опытные разработчики, с которыми мне доводилось работать, входят в число тех, кто чаще всего говорит «Я не понимаю», когда они выслушивают техническое объяснение. Так бывало с коллегами в Fog Creek и Khan Academy.

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

    Молодым разработчикам стоит попробовать осознать, насколько часты непонимания вопроса. В большинстве стеков технологий уже пройдена черта, после которой удержать в голове весь код невозможно, особенно, в компаниях, которые набирают сотрудников. И если эта граница пересечена, всё чаще можно слышать о новом фреймворке рендеринга Javascript, или последнем конвейере MapReduce, или баге в скрипте развертывания, или плане нового шаблона кэширования, а тихий голосочек в вашей голове уже хочет сказать: «Постойте… мне это не понятно.»
    Читать дальше →
  • Как я решил потихоньку учить питон, а попал в дебри CS188.1x Artificial Intelligence

    Привет Хабр, или введение


    image

    Расскажу свою небольшую предысторию.

    Как то в очередной раз надоело ковырять очередной контроллер, схему и pcb, и удрученный средней по рынку зарплатой рядового электронщика решил — хочу опять в программисты.

    Не могу сказать, что я уже был в программистах, но образование получил 3 года назад по специальности «Информационные системы и технологии» в Военмехе. А судьба занесла в схемотехники-электронщики еще во времена универа. Раньше спасали частые командировки на объекты (пока молод и холост — интересно), а последний год все окончательно надоело.
    Читая Хабр, выбрал себе Python.
    Читать дальше →
  • Assert. Что это?

    Assert — это специальная конструкция, позволяющая проверять предположения о значениях произвольных данных в произвольном месте программы. Эта конструкция может автоматически сигнализировать при обнаружении некорректных данных, что обычно приводит к аварийному завершению программы с указанием места обнаружения некорректных данных. Странная, на первый взгляд, конструкция — может завалить программу в самый неподходящий момент. Какой же в ней смысл?
    Читать дальше →
  • Обзор предложений Coursera: первые 5 курсов

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

      Сегодня я расскажу про первые пять курсов, которые были прослушаны мною с начала 2012 года по его середину. Вот они:

      1. Model Thinking
      2. Natural Language Processing
      3. Game Theory
      4. Automata
      5. Introduction to Logic

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

      5 курсов Coursera
    • Тренды в образовательной среде (памятка для вуза)

        Добрый день!



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

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

        Итак, сначала немного пафоса.
        Читать дальше →
      • Анимированные кнопки произвольной ширины на CSS3

          Перед нами стояла задача сверстать универсальную кнопку только на HTML и CSS, не имеющую фиксированного размера по ширине, которая в дефолтном состоянии отображает только иконку, а при наведении будет показываться текст внутри неё.

          image
          Читать дальше →
        • Roots — Инструментарий для продвинутого фронт-енд разработчика

            Roots — это набор инструментов для создания простых, красивых и эффективных продуктов для Интернета.
            • Jade, stylus и coffeescript
            • Live reload
            • вывод ошибок компилятора
            • coffeescript и markdown можно писать во view
            • продвинутый хелпер css библиотеки
            • bower и require.js


            github: https://github.com/jenius/roots
            официальный сайт проекта: http://roots.cx/

            Обзор (english):


            Читать дальше →
            • +3
            • 8,4k
            • 7
          • MongoDB for Developers and DBA

              Заканчиваются курсы по MongoDB для разработчиков и архитекторов баз данных от 10gen, компании разработчика MongoDB.
              Финальный экзамен отправлен на проверку и хотелось бы поделиться впечатлениями от курса и полученной информации, рассказать о плюсах и «минусах» MongoDB.

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

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

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

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

                Итак, я подготовил некий список неочевидных моментов, с которыми мне неоднократно приходилось сталкиваться на практике. Начнем:

                Установка копирайта и публикация в портфолио


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

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

                Картинки кликабельны.

                Form builder


                Формы являются очень важной частью любого веб-сайта, но их верстка может занять продолжительное время. Этот очень удобный инструмент, поможет вам создать красивую веб-форму очень быстро.
                image
                Читать дальше →
              • Курсы информационных технологий от компании Яндекс. Видео сезона 3

                  Почему-то Яндекс не объявил в своем блоге на хабре, что видео с леций третьего набора их КИТ выложено в свободный доступ. Всего 7 докладов.

                  Под катом планы лекций.
                  Читать дальше →
                • Как скачать материалы курса с coursera.org — краткое руководство

                  Всем привет!
                  Я записался на несколько курсов от coursera, но из-за нехватки времени не смог вовремя сдавать домашние задания. Однако желание прослушать лекции и посмотреть дополнительные материалы осталось. Но, хотелось всё это делать в офлайне. Заходить в каждый курс и выкачивать оттуда всё вручную – не интересно. Очень распространенное решение проблемы под катом. Для тех, кто не знаком с Python.
                  Читать дальше →
                • Как буддистские монахи перепрошивают себе мозги

                    В буддизме есть понятие просветления.

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




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

                    Это как в компьютерной игре набрать чит-код и прокачать своего персонажа.
                    И, похоже, у буддистов есть проверенный способ.

                    Читать дальше →
                  • Настраиваем свой первый VDS сервер в роли веб-сервера

                    Добрый день.

                    Так уж сложилось, что последнее время пришлось достаточно часто менять VDS провайдеров, и каждый раз приходится заново настраивать систему, поэтому решил написать краткий конспект по настройке. Все нижеописанное корректно работает на ОС Linux Ubuntu server 12.04 LTS. В этой статье я опишу как установить и произвести первичную настройку nginx+apache2, eaccelerator, memcached, fure-ftpd, php, mysql, phpmyadmin а также панели управления игровыми серверами — open game panel.
                    Читать дальше →
                  • Hayaku — пишем CSS быстрее

                      Hayaku это сборник полезных скриптов, помогающих при быстрой веб-разработке.

                      Hayaku предоставляет способ быстрого способ написания и поддержки CSS кода в редакторе. К сожалению, он пока доступен лишь для Sublime Text 2, поддержка других редакторов ожидается позднее.
                      Читать дальше →
                    • Сайт для программиста. Часть 2. Публикация

                      • Tutorial

                      В первой части я рассказал, как программисту относительно просто запустить с нуля свой личный сайт с использованием Github, Heroku и Twitter Bootstrap.

                      Но запустить сайт мало. Скорее всего, вам захочется на него периодически что-то выкладывать. Например, новые проекты в портфолио, или записи в блог.

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

                      Читать дальше →
                    • Экспорт истории сообщений из Skype

                        Многие пользователи Skype в Linux замечали насколько неудобно там сделана работа с историей сообщений чата. Нет нормального поиска, сообщения за длительный период времени грузятся очень долго. Нет возможности экспорта в другие форматы/клиенты.

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

                        Поверхностный поиск готового решения для экспорта истории сообщений не привел к успеху. Поэтому я, собрав всю доступную информацию, написал своё.
                        Читать дальше →
                      • Экспорт истории сообщений из Skype 4.*

                        Прочитав новость об уязвимости в Skype, позволяющей угнать любой аккаунт, в процессе чтения комментариев и постов по теме наткнулся на новую для себя информацию: оказывается, начиная с версии 4.* Skype хранит информацию о пользователе в базе sqlite. Это и навело меня на мысль о том, что информацию из базы можно легко и непринужденно получить.
                        Читать дальше →
                      • Готовим Sublime Text 2 для front-end

                          Ни для одного опытного программиста или верстальщика не секрет, что настроенная под себя среда разработки (не в смысле IDE, а в более общем) — жизненная необходимость. Было время, когда я делал очередную верстку в практически голом Notepad++ на единственном мониторе, поочередно открывая Photoshop, браузер и редактор. Сегодня, в эпоху «автоматизации всего», мне сложно представить, как вообще можно было так работать.

                          Sublime Text 2 — популярный расширяемый кроссплатформенный текстовый редактор, для которого написано множество плагинов если и не на все случаи жизни, то на многие. В этом посте я попытаюсь рассказать как из этого конструктора сложить удобный инструмент front-end разработчика для работы с HTML, CSS и JavaScript.
                          Читать дальше →
                        • Прогресс в разработке нейросетей для машинного обучения

                            В пятничном номере NY Times опубликована статья о значительных успехах, который демонстрируют в последние годы разработчики алгоритмов для самообучаемых нейросетей. В глубоких структурах есть несколько скрытых слоёв, которые традиционно тяжело было обучать. Но всё изменилось с использованием стека из машин Больцмана (RBM) для предварительной тренировки. После этого можно удобно перенастраивать веса, применяя метод обратного распространения ошибки (backpropagation). Плюс появление быстрых GPU — всё это привело к существенному прогрессу, который мы наблюдаем в последние годы.

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