• Опыт перехода с Sublime на Vim



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

    Я достаточно долгое время использовал sublime (около 4 лет) в качестве основной среды разработки, но в последнее время кое-что изменилось: я освоил слепой 9-ти пальцевый метод печати. В тот момент я начал понимать людей, которым неудобно тянуться к мышке или стрелочкам. Убирать пальцы с «домашних» позиций стало неестественно и непродуктивно. Тогда я включил vintage. Проблема, вроде бы, стала неактуальна, но чего-то не хватало. Не помню, что заставило меня пересесть за vim, но мне всегда нравилось, как в нем выделяются фигурные скобки (MatchParen) и как выглядит курсор :). Vim я пробовал и до этого, когда правил конфиги на сервере, правда, вся «магия» ограничивалась переходом в режим вставки и успешным сохранением/выходом из редактора.
    Читать дальше →
  • VIM: зачем, если есть IDE, и как?

      Сегодня вышел текст о том, как человек перешёл с Sublime на VIM. В комментариях, как обычно это бывает, появились сообщения в духе "Зачем мне тратить время на Vim, если есть IDE, где всё работает?" (люди даже статьи на эти темы пишут). Хотел внести свои пять копеек, но объём написанного плавно перевёл текст из разряда "комментарий" в разряд небольшой статьи.


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


      Узнать зачем и как начать
    • Почему старения можно избежать: отрывок из книги «Взламывая код старения»

      • Translation

      Огромное разнообразие типов старения у растений и животных намекает на возможность контроля над этим процессом


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

      Бактерии воспроизводятся, симметрично делясь надвое. Что может значить старение для бактерий, у которых после деления нет никакой разницы между родителем и ребёнком? Одноклеточные протисты вроде амёб также воспроизводятся симметрично, но они всё равно изобрели способ стареть. И даже среди макроскопических форм жизни продолжительность жизни чрезвычайно разнится в зависимости от местной экологии и скорости воспроизводства. Вряд ли это могло произойти в результате универсального и непоколебимого процесса; такая тонкая подстройка явно говорит об адаптации.


      Подёнки умирают быстро и внезапно в конце их репродуктивного цикла

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

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

      • Translation


      Я заметила, что одна из особенностей моего дизайнерского стиля — это готовность использовать, на первый взгляд, слишком большое количество разных гарнитур шрифтов. Я видела неисчислимое множество статей о сочетаниях и системах использования шрифтов, и почти везде рекомендуется использовать меньше шрифтов в любом дизайне. Я и к своей работе получала такие комментарии – дескать, работы приятные, несмотря на количество используемых шрифтов.
      «Очень нравится сайт, потому что он не боится нарушать одно из первых правил шрифта – не использовать слишком много разных гарнитур. Используется четыре шрифта, два из семейства sans-serif и два из serif — Galaxie Copernicus, Interstate, Harriet и Nimbus Sans. Основной момент такого дизайна – последовательность, и сайт Бетани Хек последовательно использует каждый из шрифтов для своей цели.»
      — Джеремия Шоаф, Typewolf


      Расцениваю это, как вызов. Спасибо, Джеремия!

      Хочу поспорить и рассказать о ценности эклектичных систем, и о том, как создать структуру проекта, чтобы эффективно использовать совместно несколько шрифтов.



      Так почему же у нас есть правила насчёт количества используемых гарнитур?
      Реально много больших картинок.
      • +15
      • 17.6k
      • 4
    • Изготовление корпусов колонок: Обзор материалов



        Профессиональная активная акустика Denon DN-304S

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

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

        Задача корпуса колонок – контроль акустической среды и удержание динамиков и других компонентов системы. Уже тогда было замечено, что корпус способен оказывать серьезное влияние на звучание громкоговорителя. Поскольку передняя и задняя части динамика излучают звук с разными фазами, то возникала усиливающая или ослабляющая интерференция, что приводило к ухудшению звука и появлению эффекта гребенчатой фильтрации.
        Читать дальше →
      • Интерфейсы в реальном мире: проектируем самый адский интерфейс

          До прошлой недели абсолютным чемпионом по упоротости интерфейса для меня всегда были мультиварки. Одну из них мы втроём (включая системного архитектора) пытались включить 6 минут, пока не пришла хозяйка. Но нет, этот рекорд тоже оказался побит. Вот это небольшое устройство, знакомое большинству жителей нашей страны, отняло у меня 25 долбанных минут на то, чтобы выставить время. Знакомьтесь, чемпион по когнитивной сопротивляемости:



          Сейчас расскажу, какой крови мне это стоило. Ну и сразу – второй чемпион, но на этот раз по дружелюбности инженерного интерфейса:



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

          • Translation
          От автора: я разработал и провёл десятки собеседований по программированию. Здесь я расскажу, как меня обыграть



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



            Чёрный костюм Дарта Вейдера дополняет, пожалуй, самый известный образ злодея в научной фантастике. Это необходимый аксессуар — портативная система жизнеобеспечения компенсирует серьёзные травмы, которые Энакин Скайуокер получил на дуэли с Оби-Ваном Кеноби. Согласно энциклопедии «Звёздных войн», костюм выполнен в древних традициях ситов, по которым воины тёмной стороны Силы должны украшать себя тяжёлыми доспехами. В то же время это высокотехнологичное и довольно дорогое устройство.

            Эксперты с сайта Shade Station подсчитали, сколько точно стоят доспехи Дарта Вейдера, полностью функциональные и выполненные на современном уровне развития технологий, с учётом герметизации, модификатора голоса, протезов, брони, шлема дополненной реальности и системы воздухообмена.
            Читать дальше →
          • Хаордическая организация Visa (Часть 1)



              Сегодня я знаю: в какой бы стране я ни оказался, перед какой бы аудиторией ни выступал, если я покажу кредитную карту Visa и спрошу: «Кто из вас знает, что это такое?» — в ответ поднимется лес рук. Но стоит мне спросить: «А скажите, кому принадлежит Visa, как она управляется и где можно купить ее акции?» и в зале наступит гробовая тишина. Мы имеем дело с чем-то совершенно непонятным. С чем же именно? И с чего все начиналось?
              Ди Хок – основатель и бывший генеральный директор Visa

              Уважаемый читатель, данная статья написана по книге основателя крупнейшей в мире бизнес-структуры Visa Ди Хока “One from Many: VISA and the Rise of Chaordic Organization”. Курсивом выделены цитаты из книги. Решил разбить статью на две части, так как объём информации очень большой. Статья расскажет, как создавалась Visa и как она управляется, и о чём сожалеет её создатель.

              Читать дальше →
              • +23
              • 36.9k
              • 9
            • Rust через его основополагающие принципы

              • Translation

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

              Во-первых, мы подходим к этому неправильно. Я уверен, что вы испытывали такие же ощущения. Вы пытаетесь изучить новый язык и не совсем понимаете, как в нём всё устроено. Почему в одном месте используется один синтаксис, а в другом другой? Все эти странности раздражают, и в итоге мы возвращаемся к привычному языку.

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

              Это очень похоже на обсуждение автомобилей. Слышали о новом Ford Bratwurst? Насколько он быстр? Смогу ли я проехать на нём через озеро?

              Когда мы похожим образом говорим о языках, то подразумеваем, что они взаимозаменяемы. Как машины. Если я знаю, как управлять Toyota Hamhock, значит смогу вести и Ford Bratwurst без каких-либо проблем. Разница только в скорости и приборной панели, не так ли?

              Но представьте, как будет выглядеть PHP-автомобиль. А теперь вообразите, насколько будет отличаться автомобиль Lisp. Пересесть с одного на другой потребует гораздо большего, чем усвоить, какая кнопка управляет отоплением.

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

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

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

              Читать дальше →
            • Все уроки по ардуино

                Однажды появилась необходимость собрать все уроки, обучающие материалы (tutorials) с habrahabr и geektimes в одном месте и немного их систематизировать. В этом сборнике обучаек представлены более 100 статей на тему ардуино с пометкой «tutorial», либо содержащие несложные для новичков проекты на ардуино, а также немного видеоуроков по смежным темам. Статьи разделены на 10 тематик по сферам применения собранных устройств. Также хочется напомнить, что весь обучающий материал, опубликованный на habrahabr и geektimes является интерактивным: в любой момент можно задать вопрос автору в комментариях к статье. Как правило авторы на них отвечают. Этот сборник будет дополняться новыми обучайками (tutorials) по мере их публикации.

                Читать дальше →
              • IBM Watson проанализировал персонажей «Звездных войн», охарактеризовав основных героев

                  Этот пост не имеет никакого отношения к 1 апреля, кроме даты публикации.



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

                  Эта модель предполагает, что личность человека включает в себя пять общих и относительно независимых черт (диспозиций):
                  • экстраверсию,
                  • доброжелательность (дружелюбие, способность прийти к согласию),
                  • добросовестность (сознательность),
                  • нейротизм (противоположный полюс — эмоциональная стабильность),
                  • открытость опыту (интеллект).
                  Основным статистическим средством извлечения модели является факторный анализ. Так вот, именно по этому тесту оценивались главные персонажи вселенной «Звездных войн», а в качестве исходного материала были взяты сценарии оригинальной трилогии. О том, что получилось — далее
                  Читать дальше →
                • Python на Хабре

                    Некоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше? А дальше я стал искать материал для изучения…
                    Читать дальше →
                  • Математика на пальцах: мендосинский двигатель и теорема Ирншоу

                      Постановка задачи


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

                      Вот на этом видео крайне подробно описан (на русском языке) принцип работы:



                      Но ещё больше самого двигателя мне показалась любопытной следующая вещь. В описании этого видео Дмитрий Коржевский написал следующую вещь: «Боковую опору заменить магнитом НЕВОЗМОЖНО!!! Не задавайте больше этот вопрос!»

                      Читать дальше →
                    • Уличная грязь и симуляция движения пешеходов

                        С приходом весны и дождей на улице в глаза все чаще бросается одна проблема. Вот эта:



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

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

                        Шел я как-то по дорожке и вяло размышлял на тему того, что опять придется или тащиться в обход, или пачкать обувь. С возмущения типа «вот же дураки это проектируют» мысль плавно перетекла на слышанную когда-то байку про некий наукоград, где дорожки во дворах сперва не сделали вовсе, а потом просто заасфальтировали протоптанные людьми тропинки, получив сеть удобных жителям маршрутов. А оттуда мысль перекочевала к идее «а почему бы не сделать то же самое, но на компьютере?». Разработать программу, которая по заданной карте предскажет, где люди будут топтать газоны и где неплохо бы сделать асфальтовое покрытие?

                        Под катом — описание алгоритма и пара примеров его работы для реальных питерских дворов.
                        Читать дальше →
                      • А если найду? Перелет еще дешевле чем вы уже нашли

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

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

                          Читать дальше →
                        • Обзор книг по дизайну

                            Всем привет! У нас вышли новые книги по дизайну

                            image
                            Дизайн. Книга для недизайнеров. 4-е изд.
                            Автор: Робин Уильямс

                            Дизайнеры и недизайнеры всего мира уже два десятилетия используют в своих работах фундаментальные принципы, изложенные Робин Уильямс. Познакомьтесь с полностью обновленным полноцветным четвертым изданием «Дизайн. Книга для недизайнеров». В этой книге вы найдете: четыре секрета, которые пригодятся в любом дизайнерском проекте; принципы работы с цветом; стили дизайна; оттачивание дизайна с помощью шрифтов; варианты дизайна для брошюр, листовок, писем, рекламы.

                            Мысли о дизайне
                            Автор(ы): П. Рэнд

                            Эссе Пола Рэнда по дизайну — старейшее и самое известное в мире. Впервые книга увидела свет еще в 1970-х, а основные идеи, изложенные в ней автором, абсолютно актуальны и сегодня! Поэтому, переизданная снова в 2014 году, она тут же стала мировым бестселлером. Этот классический труд будет интересен и полезен как студентам художественных факультетов, так и профессиональным дизайнерам.
                            Читать дальше →
                          • Отбираем валидные мобильные номера друзей VK на Python



                            В процессе изучения Python стало интересно попробовать его в связке с API VK. В ВК есть телефонная книга, она показывает телефоны ваших друзей в более-менее удобном формате. Так как далеко не всегда люди охотно оставляют там полые(валидные) номера своих телефонов, мне показалась интересной идея написать скрипт, который отбирал бы только валидные номера моб.телефонов и выдавал бы их отдельной таблицей. Наша телефонная книга будет генерировать csv-файл, который затем можно будет открыть, например, в excel.
                            Читать дальше →
                          • Построение графиков в LaTeX/PGFPlots

                            image

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