• Синдром самозванца: сражение с усталостью от фронтенда

    • Перевод
    Недавно я разговаривал с другом из бэкенд-разработки о том, сколько часов провожу за программированием и изучением кода в свободное время. Он показал отрывок из книги Дяди Боба «Чистый код». Там разработчики, которые репетируют код перед запуском в работе, сравниваются с музыкантами, которые много часов готовят инструменты к концерту.

    Мне понравилась аналогия, но я не уверен, что готов полностью подписаться на такое; это тот самый тип мышления, который в первую очередь приводит к выгоранию. Хорошо, если вы хотите углубить своё мастерство и расширить навыки, но если делать это непрерывно в течение всего дня — долго не протянешь.

    Усталость от фронтенда очень реальна. Я видел много постов об усталости от JavaScript, но мне кажется, что проблема распространяется за пределы этого конкретного языка.
    Читать дальше →
  • Персона. Деннис Ритчи — создатель языка С и ОС UNIX



      Деннис Ритчи – создатель языка программирования Cи. Он вместе с Кеном Томпсоном разработал Cи для создания операционной системы UNIX. «У Ньютона есть фраза о стоящих на плечах гигантов», – говорит Брайан Керниган. «Мы все стоим на плечах Денниса».

      «Практически все в веб создано на основе – Cи и UNIX», – рассказал изданию Wired Роб Пайк (Rob Pike), легенда программирования. – «На языке Cи написаны браузеры. На ядре UNIX работает почти весь Интернет, и оно также написано на языке Си. Веб серверы – написаны на языке C. А если не на нем, то на Java или C++. А эти языки производные от Си. Python и Ruby также базируются на Cи. Я ручаюсь за то, что все сетевое оборудование работает на программах, написанных на С. Действительно трудно переоценить то, что, сколько всего в современной информационной экономике основано на работе Денниса».

      «Недаром же Windows, когда-то написали на Cи, – добавляет он. А UNIX лежит и в основе настольной операционной системе Apple, Mac OS X и IOS. Эти системы установлены в iPhone и iPad».
      Читать дальше →
    • Я веб-разработчик и уже 10 дней не могу написать простейшее приложение

      Предлагаю вашему вниманию перевод статьи "I’m a web developer and I’ve been stuck with the simplest app for the last 10 days".

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

      В основном я занимаюсь full-stack web-разработкой. Периодически пишу бэкенд на Python или Ruby, иногда работаю с C#. Еще я пишу консольные утилиты на C++ и Node.js. Мне нравится Closure, я познакомился с web много лет назад, когда писал на Perl и PHP, а первые годы профессиональной разработки посвятил программированию на Java.

      Когда я впервые встретился с Javascript, он в основном использовался для того, чтобы добавить на страничку "Текущее время". Это были девяностые, когда все хотели приправить свои странички так, чтобы пользователи могли оценить, как это клево: текущий день недели выводится динамически. А спустя какое-то время оказывалось, что Javascript может гораздо больше, и мы получаем полностью динамический HTML — DHTML!

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

      Десять дней назад я решил сделать небольшое SPA для себя — маленькая утилита, потенциальный pet-project. Работы дня на два-три. А последние полгода я работал над десктопным проектом на C#. Это была довольно скучная программулина для управления рабочими процессами: webservice-бэкенд и winforms на фронте.
      Читать дальше →
    • Обзор open source — систем для баг-трекинга.

        Недавно на работе был поднят такой вопрос: пора бы завести наконец-то систему баг-трекинга, но вот только какую? Условия были поставлены следующие: система должна быть open source, должна без проблем ставиться на не-виндовс системы, использовать в качестве БД MySQL и желательно быть написанной на PHP, на случай, если очень захочется доработать напильником.

        Варианты предлагались такие: Jira (отпадает в виду небесплатности), BugZilla (отпала в виду того, что админ обвинил ее в требованиях «каких-то специфичных настроек MySQL-я»), Trac (в нем долго сомневались, т.к. у нас svn).

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

        Итак: краткий обзор систем баг-трекинга.

        1. BugZilla.
        image
        О ней, наверно, знают все, но на всякий случай кратко для тех, кто еще не знает.

        Система от разработчиков FireFox, вообще ребята очень ответственно подходят к проблеме багов.

        Установка: Гарантируется поддержка Linux или Solaris, для работы нужен Perl и одна из СУБД: MySQL, PostgerSQL, Oracle.

        Список использующих BugZilla, впечатляющий: Mozilla Foundation (ну это в общем-то не удивительно), Open Office, RedHat, NASA, Facebook и еще сотня довольно известных и тысячи неизвестных компаний.
        Читать дальше →
      • Умные кубики

          Студент Массачусетского технологического института Дэвид Мерилл демонстрирует технологию «Siftables» — набор кубиков, которые можно собирать и перемешивать в руках. Эти игрушки будущего могут считать, играть и разговаривать со своими друзьями. Какова же будет следующая ступень в настольных играх?

          Девид Меррил работает на своими крошечными компьютерными кирпичиками, способными создавать сети (и музыку).



          Читать дальше →
        • Первый в мире компетентный программист

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

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

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

              Здравствуйте, хабраобщество.

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

              Литература


              1. Ben Krose, Valter van de Smagt: Introduction to neural networks.
              2. Р. Каллан, Введение в нейронные сети.
              3. Саймон Хайкин, Нейронные сети полный курс.
              4. Gupta Jin Homma, Statical and Dynamical neural networks.

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

              Биологические основания нейронных сетей

              .
              // тема отдана на самостоятельную обработку.
              Теория искусств нейронных сетей появилась, как попытка смоделировать ЦНС (ЦНС — центральная нервная система) высших млекопитающих в 50х годах прошлого столетия.

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

              Под не формализуемыми задачами мы будем понимать задачи, для которых задачу сформулировать невозможно.
              К числу таких задач относятся (пример):
              • классификация
              • кластеризации
              • прогнозирования


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

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

              Концепции

              Читать дальше →
            • Яндекс.Склонятор

                Яндекс выпустил XML-склонятор русских имен. Сервис по адресу export.yandex.ru/inflect.xml?name=Вася%20Пупкин берет имя и выдает его склонения в такой форме:
                1. <?xml version="1.0" encoding="utf-8"?>
                2. <inflections>
                3.   <original>&#1042;&#1072;&#1089;&#1103; &#1055;&#1091;&#1087;&#1082;&#1080;&#1085;</original>
                4.   <inflection case="1">&#1042;&#1072;&#1089;&#1103; &#1055;&#1091;&#1087;&#1082;&#1080;&#1085;</inflection>
                5.   <inflection case="2">&#1042;&#1072;&#1089;&#1080; &#1055;&#1091;&#1087;&#1082;&#1080;&#1085;&#1072;</inflection>
                6.   <inflection case="3">&#1042;&#1072;&#1089;&#1077; &#1055;&#1091;&#1087;&#1082;&#1080;&#1085;&#1091;</inflection>
                7.   <inflection case="4">&#1042;&#1072;&#1089;&#1102; &#1055;&#1091;&#1087;&#1082;&#1080;&#1085;&#1072;</inflection>
                8.   <inflection case="5">&#1042;&#1072;&#1089;&#1077;&#1081; &#1055;&#1091;&#1087;&#1082;&#1080;&#1085;&#1099;&#1084;</inflection>
                9.   <inflection case="6">&#1042;&#1072;&#1089;&#1077; &#1055;&#1091;&#1087;&#1082;&#1080;&#1085;&#1077;</inflection>
                10. </inflections>
                Пользуйтесь на здоровье :)

                Склонятор стал 17-м мини-проектом сборника Яндекс.Нано.

                P. S. Обнаружил на Хабре единственную девушку-участницу разработки проекта :)
              • История одного программиста или путь от простого до точки



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

                    В конце девяностых я работал в Промстройбанке, который под откос финансового кризиса пошел одним из первых. Понятно, что без работы было совсем грустно, особенно после кризиса неслабого, и поэтому когда мне предложили прийти на собеседование в контору, где нужен был английский, я согласился без раздумий, хотя знал на английском ровно три слова — факю и йелоу субмарин (спасибо битлам). Другими словами — я вообще, никак, не мог говорить по–английски. Совсем. Понимать — тем более. Но согласился, поблагодарил за приглашение и смело пошёл.
                    Читать дальше →
                  • Коллекции иконок? Легко! Тысячи иконок в сетах.

                      В продолжении поста "Ресурсы по поиску качественных иконок" представляю свою коллекцию сайтов, на которых вы найдёте очень(!) много качественных наборов иконок. Все сайты проверены руками, следовательно открываются и скачиваются легко.
                      Читать дальше →
                    • Города России в именительном и предложном падеже

                        Необходимо было писать названия городов России в предолжном падеже типа в Москве, в Ростове-на-Дону и т.д. После полуавтоматической обработки списка городов товарищем sofrus появилась таблица, которая содержит два поля с названием города в именительном и предложном падежах. И мы совершенно бескорыстно предлагаем эту таблицу (около 2400 городов) в двух вариантах:
                        1. CSV
                        2. MySQL


                        P.S. Почему хабр так уродует ordered list, для меня загадка.

                        ОЧЕНЬ ВАЖНЫЙ P.S.
                        Я не хочу присваивать себе чужие заслуги, поэтому я специально проверил, так как не исключал этого. Карма начала расти у меня, а не у sofrus, если вы считаете нужным поднять за пост карму, то поднимайте ему. Просто у него с компанией NDA подписан и в должностной инструкции нет пометки о том, что он может оценить важность информации. Поэтому я и запостил. Но в появлении этих таблиц нет моей заслуги.
                      • Файловая система для безнаказанного хранения нелегального контента

                          OFFSystem (Owner-Free File System) — распределённая файловая система, в которой кусочки файлов случайным образом хранятся на разных компьютерах, и никто не имеет определённый файл целиком. Система была создана хакерской группой The Big Hack, которая занимается борьбой с цифровым копирайтом. При использовании OFFSystem на компьютерах участников сети хранятся не файлы с нелегальным контентом, а лишь абстрактные блоки данных, которые не могут считаться объектами, охраняемыми авторским правом. Получить полный файл можно только имея специальную ссылку.

                          Суть подхода в том, что любой файл, защищенный авторскими правами, является набором битов и может быть получен из другого набора битов, на который копирайт уже не распространяется. Например: двоичный файл можно представить в виде числа; если кто-то имеет права на число 12, то числа 5 и 7 мы можем использовать свободно. Что скажете о легальности распространения формулы 5+7?
                          Читать дальше →
                        • Как делают стеклянные шарики

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


                            Еще много интересного можно найти, поискав по запросу How it's made
                          • Оформление ссылок цветом и иконками из favicon

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

                              Пример

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

                              Читать дальше →
                            • Сравнение матриц мониторов — TN и *VA.

                                Давно меня мучал вопрос: чем отличаются изображение у современных мониторов с матрицами TN, S-IPS, S-PVA, P-MVA. Мы с другом ne0, решили сравнить.

                                Для тестов взяли два 24'' монитора (на S-IPS к сожалению не нашли ничего:( ):
                                — на дешевой матрице TN Benq V2400W
                                — на матрице P-MVA средней категории Benq FP241W.

                                Характеристики кандидатов:

                                Benq V2400W

                                Тип матрицы: TN+Film
                                Дюймы: 24"
                                Разрешение: 1920x1200
                                Яркость: 250 кд/м2
                                Контрастность: 1000:1
                                Время отклика: 5мс / 2 мс GTG


                                Benq FP241W

                                Тип матрицы: P-MVA (AU Optronics)
                                Дюймы: 24"
                                Разрешение: 1920x1200
                                Яркость: 500 кд/м2
                                Контрастность: 1000:1
                                Время отклика: 16 мс / 6 мс GTG


                                Тенденции последних лет


                                Матрицы TN (TN+film) улучшают по цветопередаче, яркости и углам обзора.
                                Матрицы *VA (S-PVA/P-MVA) улучшают по времени отклика.

                                До чего дошел прогресс?
                              • Subversion.

                                  Недавно все-же засел за книжку о Subversion. Причиной, ко которой я таки стал изучать нашу систему контроля версий, стало моё стремление научиться использовать ветки в разработке. Ранее мы не использовали их — в лучшем случае делали простое копирование, которые потом и не надеялись слить обратно. Подобные копии использовались в основном для релизов.

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

                                  Часто я задумываюсь, что возможно мне не хватает опыта использования альтернативных систем контроля версий. Я знаю о существования таких вещей как Git и Mercurial. Я склонен в итоге перейти на одну из этих систем, но для начала мне хочется узнать о их плюсах и минусах. О возможностях и недостатках. К сожалению на данный момент я даже не представляю как я могу это сделать — где о них есть достаточно информации?

                                  UP
                                  Мне подсказали, где можно поробро почитать — разобраться про mercurial.