• 19 советов по повседневной работе с Git

    • Перевод
    • Tutorial


    Если вы регулярно используете Git, то вам могут быть полезны практические советы из этой статьи. Если вы в этом пока новичок, то для начала вам лучше ознакомиться с Git Cheat Sheet. Скажем так, данная статья предназначена для тех, у кого есть опыт использования Git от трёх месяцев. Осторожно: траффик, большие картинки!

    Содержание:
    1. Параметры для удобного просмотра лога
    2. Вывод актуальных изменений в файл
    3. Просмотр изменений в определённых строках файла
    4. Просмотр ещё не влитых в родительскую ветку изменений
    5. Извлечение файла из другой ветки
    6. Пара слов о ребейзе
    7. Сохранение структуры ветки после локального мержа
    8. Исправление последнего коммита вместо создания нового
    9. Три состояния в Git и переключение между ними
    10. Мягкая отмена коммитов
    11. Просмотр диффов для всего проекта (а не по одному файлу за раз) с помощью сторонних инструментов
    12. Игнорирование пробелов
    13. Добавление определённых изменений из файла
    14. Поиск и удаление старых веток
    15. Откладывание изменений определённых файлов
    16. Хорошие примечания к коммиту
    17. Автодополнения команд Git
    18. Создание алиасов для часто используемых команд
    19. Быстрый поиск плохого коммита

    Читать дальше →
  • 8 самых глупых ошибок менеджмента — на все времена

    • Перевод
    Добрый день,

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

    Перевод статьи Джеффри Джеймса «The 8 Stupidest Management Fads of All Time»

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

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

      Итак, вы задумались о поиске новой работы.
      Читать дальше →
    • Что нужно знать о трудовых правах каждому работнику. Часть 2

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

        image

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

        • Перевод
        image

        Один мой товарищ недавно активно искал работу, и спрашивал меня, как себя подавать перед работодателем. Погуглив, мы пролистали с десяток статей о том, как надо и как не надо делать во время поиска, и одну из них я решил перевести для хабрасообщества, возможно кому-то это поможет избежать ошибок, которые в ней описаны. Манера статьи довольно провокационная, язык местами нецензурен, поэтому я постарался сгладить углы. Итак, поехали..
        Читать дальше →
      • Краткий экскурс в методы 3D-печати


          Мои предыдущие посты по теме:
          Первое мероприятие по 3D-печати в Нидерландах
          Мероприятие по 3D-печати (окончание)
          Новый бюджетный 3D-принтер
          Чтобы ответить на часто задаваемые вопросы я опишу тут популярные технологии 3D-печати — печать расплавленным пластиком, порошком, фотополимером, лазерное спекание. Разумеется эта информация не является истиной в последней инстанции. Это картина, которая сложилась у меня на сегодня в голове из разных источников.
          Читать дальше →
        • Порнография с точки зрения эволюционной психологии

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

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

            Вопрос: картинки будут?
            Ответ: будут.

            Вопрос: какое отношение этот топик имеет к Хабру?
            Ответ: он интересен читателям Хабра.

            Вопрос: нет, всё-таки, какое отношение имеет топик к тематике Хабра?
            Ответ: никакого; просто я считаю, что Хабр — это, прежде всего, определённая аудитория, а не тематика.

            Вопрос: почему в блог «Интернет»?
            Ответ: потому что Internet is for porn.

            Если Вам не исполнилось 18 лет, под кат лучше не ходить
          • Видео всех лекций с «Курсов информационных технологий» от «Яндекса»

              Для тех, кто не смог посетить Курсы информационных технологий, видеоролики всех лекций выложены в свободный доступ. Это лекции по полтора-два часа на базовые темы: операционные системы; архитектура ЭВМ; устройство GNU/Linux; системы хранения данных; файловые системы; сети и протоколы; виртуализация; безопасность.
              Читать дальше →
            • 64-битная Windows — это очень просто

              • Перевод
              Перевод поста piers7 «64 Bit Explained».

              Послушайте, в этом правда нет ничего сложного.

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

              Все эти библиотеки, DLL, по-прежнему находятся в %SystemRoot%\System32, просто теперь они 64-битные. Ну а 32-битные, они вот, в %SystemRoot%\SysWOW64. Вы ещё следите за объяснением? Да, а 16-битные всё так же хранятся в %SystemRoot%\System – перемещать их в иное место было бы странным.
              Читать дальше →
            • GRUB всемогущий, или Делаем загрузочную флешку

                Про сам grub, загрузочные флешки и особенно специальные утилиты для создания дисков написано уже не мало, но выглядят они узко направленными. Например только для создания флешки Windows 7, различные PEtoUSB, есть более универсальные как в этом топике. Куча утилит по сути устанавливают загрузчик grub, isolinux (реже BCDW или lilo, еще реже свой как Win7), и затем раскладывают предложенные ему файлы (Windows7,WindowsXP, Ubuntu и т.д.) по папкам. От сюда и требовательность к образам (как писали в комментариях к этому топику).

                А между тем абсолютное большинство выложенных в интернете дисков (особенно USB) как раз и используют isolinux и grub, что мешает их просто объединять? да ничего!

                Я постараюсь с примерами рассказать, как сделать загрузочную, установочную и просто Live флешку, причем все в одном без заточенных под конкретный дистрибутив утилит. И иметь возможность, при необходимости, легко добавить на флешку еще что-то, без очередного ее переформатирования.
                image
                (С) Картинка оттуда
                Читать дальше →
              • Introducing Windows Server 2008 R2 eBook в свободном доступе!

                  image

                  Перевод записи блога Windows Server Division WebLog:


                  Большое спасибо Microsoft Learning и ребятам из MS Press за такой фантастический подарок. Я помню приобритение предшественника этой книги — «Введение в Microsoft Windows Server 2008» перед моим вступлением в Microsoft. Это была огромная помощь в освоении новой операционной системы. «Введение в Windows Server 2008 R2» — это более углубленное пособие, оно быстро введет вас в курс того, как работают новые возможности и функции в R2, включая Hyper-V и RDS virtualization, управление, ISS, новая платформа веб-приложений и, конечно же, все преимущества синегрического слияния Windows Server и Windows 7. Доступно по клику, не пропустите.

                  Oliver Rist

                  Technical Product Manager

                  Windows Server Marketing

                  P.S. Перевод записи делал сам, простите за неточности.

                  Оригинал записи

                  Скачать книгу (pdf, 11.1 MB)
                • Работа с номерами версий программы

                    А на моей машине все работает!
                    Из ненормативной лексики программистов.


                    Для того, чтобы программисты, тестировщики и пользователи программы могли понимать где и что происходит, где произошла ошибка или когда можно посмотреть на новую фичу, применяют версии программы. Самый простой способ — это одно число, увеличивающееся на единицу каждую сборку. Иногда этот метод наилучший. А что в других продуктах?
                    Читать дальше →
                  • Все «секреты» Windows 7

                    • Перевод
                    По многочисленным просьбам — перевод статьи «The Bumper List of Windows 7 Secrets».

                    Здесь пропущено вступление о том как здорово, что Windows 7 вышла в свет, которое все равно все пропустят и будут читать сами «секреты».

                    1. Управление окнами


                    Вы, наверное, уже знаете, что Windows 7 делает работу с окнами во многом проще. Окно можно «прикрепить» к левой или правой половине экрана просто придвинув к соответствующему краю, а так же окно можно разворачивать/восcтанавливать по вертикали двойным щелчком по нижней границе окна. Но вот чего вы, наверное, не знаете, так это того, что все эти действия доступны через горячие клавиши.
                    • Win+Влево и Win+Вправо — прикрепить окно
                    • Win+Вверх и Win+Вниз — разворачивает и восстанавливает/сворачивает окно
                    • Win+Shift+Вверх и Win+Shift+Вниз — разворачивает и восстанавливает окно по вертикали
                    Но это далеко не всё
                  • Памятка пользователям ssh

                      abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

                      Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

                      Оглавление:
                      • управление ключами
                      • копирование файлов через ssh
                      • Проброс потоков ввода/вывода
                      • Монтирование удалённой FS через ssh
                      • Удалённое исполнение кода
                      • Алиасы и опции для подключений в .ssh/config
                      • Опции по-умолчанию
                      • Проброс X-сервера
                      • ssh в качестве socks-proxy
                      • Проброс портов — прямой и обратный
                      • Реверс-сокс-прокси
                      • туннелирование L2/L3 трафика
                      • Проброс агента авторизации
                      • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
                      Читать дальше →
                    • Development Environment при помощи Vagrant и Chef






                      В данной статье я постараюсь познакомить вас с замечательными утилитами Vagrant и Chef на примере автоматического конфигурирования development environment для PHP разработчика (на самом деле, PHP здесь только как пример, все нижеописанное может быть использовано для любого стека технологий).

                      Что будем делать?



                      Будем настраивать виртуальную машину (ВМ) с Ubuntu 12.04 для работы над проектом на PHP, а именно:

                      • Apache
                      • MySql
                      • PHP 5.4
                      • xDebug
                      • Memcached
                      • Composer
                      • Настроим сразу Virtual Host на определенную папку, доступную как с виртуальной машины, так и с реальной. Всё это параметризируем для удобства создания и использования.
                      • и другое..


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

                      Как это может помочь вам?



                      • Вы не хотите «засорять» свою систему множеством утилит, программ
                      • Вы хотите тестировать свой код в приближенных к production условиях
                      • Вы хотите тестировать свой код на разных версиях той или иной платформы (помните, как Travis тестирует билды в различных конфигурациях, например Symfony на разных версиях PHP)
                      • Вы не хотите больше помогать новому человеку на проекте (верстальщик, программист) устанавливать всё с нуля
                      • Вы хотите, чтобы у каждого человека в команде была идентичная среда для работы над проектом


                      Всё это — реальность. Вопрос только «как?».

                      Читать дальше →
                    • Chef или как управлять тысячей серверов

                        Suck on my chocolate salty balls (c) ChefДавайте каждый попробует ответить на вопрос: как установить apache на сервер? Этот вопрос порождает ещё десяток: какая ОС стоит на сервере, какую версию ставить, где лежат конфиги по-умолчанию и т.д. и т.п.

                        А теперь давайте попробуем ответить на вопрос: как установить apache на 1000 серверов? Тут, при стандартном подходе, вопросов возникнет ровно в 1000 раз больше. Часть из вас наверняка подумали, что можно написать скрипт на shell/perl/python/ruby, который будет обходить все сервера и устанавливать apache, другая часть подумала о distributed shell'ах (PDsh, dsh, etc), кто-то же подумал монтировать rootfs серверов по NFS.

                        В ряде случаев выше предложенные варианты решений удовлетворительны, но на практике я нигде не видел полностью гомогенных систем (зачастую, внутри компании можно встретить не только разные версии ОС, но и различные дистрибутивы. Также в России/СНГ очень распространена каша из FreeBSD/Linux в ядре проектов), так что вряд ли за адекватное время будет возможно написать скрипт, который установит и настроит apache на зоопарке в 1000 машин под CentOS, Debian, Ubuntu, FreeBSD всевозможных версий.

                        По моим наблюдениям, очень мало IT подразделений, даже очень крупных компаниий, используют в своей работе SCM (Software Configuration Management). В этом посте я постараюсь описать все преимущества использования Chef в IT инфраструктуре на простых примерах и больших масштабах.

                        Если же, после столь короткого вступления, вы не прониклись идеей Chef, да и времени читать длинный технический пост у вас нет, то рекомендую вам пролистать до конца и посмотреть как используем Chef мы, Engine Yard, 37signals и подумать, можете ли вы переложить на него часть своей работы.
                        Читать дальше →
                      • Материалы продвинутого уровня по Питону

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

                          После прочтения Dive into Python или подобной ей и ознакомления с документацией возникает вопрос, а что читать дальше? Можно обратиться к списку книг на python.org. Там есть раздел Advanced Books, но в нем всего лишь 6 книг (седьмая не выходила), и только одну я бы назвал по-настоящему стоящей.

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

                          Ниже собраны сложные материлы про Питон, его устройство и возможности. Все на английском (грех, не знать технический английский). Про Dive into Python я слукавил. Большинство приведенных материалов требуют хорошее знание Питона и наличие опыта программирования на нем.

                          Подробнее
                        • Пишем свою книгу

                            imageВ данной статье я поделюсь информацией о том, как написать свою IT-книгу. Расскажу о подводных камнях, взаимодействии с издательским агентством, налоговой и банками. Процесс может немного варьироваться от издательства (и страны), но основные моменты не должны меняться.
                            Читать дальше →
                          • Летняя школа по биоинформатике

                              image

                              В этом посте, дорогой читатель, я кратко расскажу о том, как 100+ человек могут с пользой для знаний весело провести неделю лета.
                              Я постарался описать событие так, чтобы даже человек, находящийся совершенно не в теме, о чем идет речь, все равно бы прочитал с интересом и все понял.
                              В общем, это пост о нашей школе по биоинформатике, проходившей с 29 июля по 4 августа под Москвой. За подробностями — под кат.
                              Осторожно, траффик, все фото без катов!

                              image
                              Участники, организаторы и некоторые спикеры школы.
                              Вперед, в лето!
                              • +36
                              • 13,2k
                              • 4
                            • Борьба за свои права или как я создал профсоюз программистов

                                Месяц назад работодатель заявил о закрытии фирмы. Неприятно, конечно, после того, как на протяжении нескольких месяцев мы все вместе «в одной лодке» претерпевали финансовые трудности. Но владелец фирмы на то и владелец, что имеет право. Не беда, подумал я, на рынке на программистов повышенный спрос, найду более стабильную компанию. По-настоящему неприятный сюрприз ждал позже, когда работодатель отказался производить причитающиеся мне выплаты, связанные с увольнением. Вот тут и пришла в голову мысль: с какой стати кто-то будет оптимизировать издержки за мой счёт и что с этим можно сделать?



                                Читать дальше →