• Как не стать спамером со своей уютной рассылочкой

      image
      Пользователь когда-то подписался на рассылку, но уже забыл когда, и главное зачем. Теперь ежедневно к нему падает спам, а по собственному опыту он знает, для того чтобы отписаться нужно зайти по ссылке свой профиль, найти и снять там какую-то галку а главное, помнить свой логин и пароль на давно забытом им сайте.
      Его действия? «В спам!»

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

      И вот, с десяток таких «отписок» и гугл будет удобно отсортировывать ваши рассылки в папочку Спам (584), у ВСЕХ ваших подписчиков.

      Однако многие из нас уже успели заметить: некоторые письма в Gmail при попытке отметить их «В спам!» САМИ предлагают отписаться от рассылки в один клик.

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

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



        Немецкий журнал Spiegel решил изучить, насколько справедливы эти мнения, ведь именно сейчас «интернет-поколение» достигло того возраста, когда якобы должно проявить себя.
        Читать дальше →
      • Много книг, хороших и разных

          Мой список книг, которые мне хочется прочесть, изрядно вырос, спасибо топику “запасаемся на зиму”. Под катом вы обнаружите список книг, составленный по комментариям в том топике.
          Читать дальше →
          • +109
          • 55,1k
          • 88
        • Сергей Брин по-русски

            Мне всегда была интересна личность основателя Google. Я посмотрел множество его интервью начиная Tim O'Reilly заканчивая лекцией в Berkeley. Но зная, что он родился и провел детство в Москве, я мечтал послушать его на русском языке. И вот, журналисту НТВ удалось взять у него в Москве эксклюзивное интервью… на русском.

          • Азбука хорошего разработчика. Книжки для чтения

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

              Паттерны проектирования

              Википедия — там, в принципе, на хорошем уровне все описано и приведены примеры на разных языках.
              Базовая книга – классика:
              «Приемы объектно-ориентированного проектирования. Паттерны проектирования» — читал книгу давно, и раза 3. Вам того же советую. Даст возможность понимать большое количество терминов, произносимых другими разработчиками.

              Рефакторинг

              «Рефакторинг. Улучшение существующего кода» — вероятно, эта книга сделала революцию в написании кода. Читается быстро и интересно. Методы рефакторинга должны отложиться в голове до конца жизни. Ваш код отныне будет лучше. В книге есть упоминание про юнит тестинг.
              Читать дальше →
            • Интервью с Денисом Кулишом



                Денис Кулиш, дизайнер, основатель студии «Хороший дизайн», автор проекта «Свое дело».


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

                Читать дальше →
              • Консоль в Windows — никому не нужна?

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

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

                  Совсем недавно где-то на Хабре промелькнуло высказывание из серии «Не думал, что консоль в Виндах что-то может. Хотелось бы узнать об этом побольше».

                  Вот так и возникло желание написать небольшую статью про основные возможности консоли.
                  Читать дальше →
                • Настройка WiFi в Ubuntu

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

                    Читать дальше →
                  • Digg для программистов/разработчиков

                      DZone.com — специализированный сервис социальных новостей/ссылок.
                      В отличие от рассчитанного на более широкую аудиторию Digg, DZone.com ограничивается темами, касающимися языков программирования, средств разработки и разнообразных технических приемов.
                      Dzone.com
                      Много очень интересных и полезных вещей.
                    • Тратите всю зарплату за месяц?



                        Знакома ли Вам ситуация, когда конец месяца и сумма на карточке пустеет? А если еще аванс/зарплату задерживают на день-два, приходится даже занимать?

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

                        Пост дискуссионный, интересно знать Ваш опыт решения этой проблемы. Мой вариант дальше.
                        Читать дальше →
                      • Загадка выпадающего списка «Амазона»

                          Бен Кэменс обнаружил, что в выпадающем списке Shop by Department на сайте «Амазон» ховер-эффект происходит очень быстро, абсолютно без какой-либо задержки. Тем самым происходит нарушение старого, выработанного ещё в 90-х годах прошлого века правила: перед отображением пункта подменю необходим так называемый гистерезис, запаздывание.



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

                          Пароли по умолчанию в SAP давно не новость. Пятерка общеизвестных стандартных паролей опубликована уже во многих книгах и статьях по безопасности. Казалось бы, что по данной теме можно найти нового?
                          Проводя аудит безопасности SAP у одного из клиентов, мы наткнулись на неизвестный пароль пользователя TMSADM. Этот пароль продемонстрировала нам сама система: при анализе стандартных учетных записей в известном отчете RSUSR003 были получены следующие результаты.

                          image

                          Стандартный пароль для TMSADM — PASSWORD — действительно широко известен, но про пароль $1Pawd2& я слышу впервые. Давайте разбираться…
                          Первое, что приходит на ум, — поискать в Интернете. Google дает только две ссылки, на сайте компании SAP — 6 ссылок. Ни одна из этих ссылок не вносит ясности в наш вопрос: в основном загадочный пароль встречается в опубликованных фрагментах ABAP-кода.
                          Ну что ж, видимо и нам ответы следует искать в коде. Открыв исходный код отчета RSUSR003, без труда находим текст того сообщения, которое мы видели ранее на экране (номер сообщения — 028).


                          Читать дальше →
                        • Emacs и Python (статья 2 из цикла)

                            По результатам исследованиям работы программистов около 20% времени тратиться на непосредственное написание кода и около 80% времени — на просмотр старого, его анализ. Исходя из данной предпосылки текстовый редактор в первую очередь должен предоставить удобные средства навигации по коду. Большая часть описанных фич как раз имеет дело с навигацией и анализом.

                            В данной статье я постараюсь продемонстрировать максимум удобных в ежедневном применении возможностей редактора Emacs для языка Python, и более конкретно для редактирования Django проектов.

                            Как говорится в пословице: «обещанного три года ждут». Хотя три года и не прошло, но уже изрядно много с моей предыдущей статьи «Emacs для начинающих: введение». Я не буду «растекаться мысью по древу» а постараюсь максимально кратко показать как работают различные фичи Emacs в применении к Python.

                            Читать дальше →
                          • Emacs для начинающих: введение

                              Ist das Emacs? Sehr gut!



                              Начну с небольшой истории. Лет так 15 назад ездил я на подработку сисадмином программистом в славный городе Mannheim, West Germany. Когда я приехал на работу и развернул своё рабочее окружение, большинство дойчей вообще не сильно поняли в чём я работаю, а вот директор конторы сразу мне сказал: «Ist das Emacs? Sehr gut!», добавив также что никто кто из текущих программистов не смог его освоить. А по честному, не такой уж я особенный — мне просто повезло: готовый конфиг мне дал один добрый человек, и помог мне разобраться с редактором на первых шагах. Я, в свою очередь хочу поделиться своим опытом с остальными, и решил сделать серию статей для начинающих и не очень, с рассмотрением разных полезных фич emacs.

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

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

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

                                  Я хотел бы продолжить начатую вчера JagaJaga тему тайловых оконных менеджеров рассказом об еще одном их представителе — i3wm. В отличие от awesome его настройки записываются в обычном текстовом файле.

                                  Особенности i3wm для пользователя: корректная поддержка нескольких мониторов (смотрите скрин в конце), простой текстовый конфиг-файл, нет необходимости пересобирать wm после изменения настроек, три режима расположения окон, меню запуска приложений dmenu, создает рабочие столы по мере необходимости и удаляет пустые, из коробки имеет отличную информационную панель, показывающую уровень Wi-Fi сети, заряд батареи и много еще чего.
                                  Читать дальше →
                                • Создание плагина для Intellij Platform (IntelliJ IDEA, RubyMine, WebStorm, PhpStorm, PyCharm and AppCode)

                                  Привет, Хабр!
                                  В данном топике я расскажу как создать простой плагин для IntelliJ IDEA и PyCharm. Так как все IDE содержат одинаковый интерфейс для работы с плагинами, то модификация его для других систем не требует значительных усилий (подробнее), в отличии от процесса непосредственной разработки.

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

                                  Плагины пишутся на Java, UI создается на SWING. Документация для разработки плагинов состоит всего лишь из нескольких страниц и горстки примеров. На просторах интернета данная тематика не отражена совсем. Единственное, что слегка помогает это наличие исходных кодов у некоторых уже созданных плагинов.

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


                                  Читать дальше →
                                  • +36
                                  • 12,9k
                                  • 8
                                • Тренажёр для клавиатурных сочетаний

                                    Сайт shortcutfoo.com служит для изучения и тренировки клавиатурных сокращений в разных программах. Он ориентирован прежде всего на разработчиков — есть курсы для изучения Vim, Sublime Text, Emacs, TextMate, XCode, *nix консоли. Приятный интерфейс, ничего лишнего, есть возможность создавать свои пакеты комбинаций для тренировки. Несколько неудобно, что он не позволяет видеть результат применения команд, а только даёт их текстовые описания, так что это скорее интерактивная шпаргалка, чем полноценный тренажёр. Тем не менее есть так называемый drill mode, в котором нужно набирать сочетания клавиш по памяти и на скорость.

                                  • Полиномиальные хеши и их применение

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

                                    Введение


                                    Начнем с определения. Пусть у нас есть строка s0..n-1. Полиномиальным хешем этой строки называется число h = hash(s0..n-1) = s0 + ps1 + p2s2 +… + pn-1sn-1, где p — некоторое натуральное число (позже будет сказано, какое именно), а si — код i-ого символа строки s (почти во всех современных языках он записывается s[i]).

                                    Хеши обладают тем свойством, что у одинаковых строк хеши обязательно равны. Поэтому основная операция, которую позволяют выполнять хеши — быстрое сравнение двух подстрок на равенство.
                                    Читать дальше →
                                  • Простейшие алгоритмы сжатия: RLE и LZ77

                                    • Tutorial
                                    Давным-давно, когда я был ещё наивным школьником, мне вдруг стало жутко любопытно: а каким же волшебным образом данные в архивах занимают меньше места? Оседлав свой верный диалап, я начал бороздить просторы Интернетов в поисках ответа, и нашёл множество статей с довольно подробным изложением интересующей меня информации. Но ни одна из них тогда не показалась мне простой для понимания — листинги кода казались китайской грамотой, а попытки понять необычную терминологию и разнообразные формулы не увенчивались успехом.

                                    Поэтому целью данной статьи является дать представление о простейших алгоритмах сжатия тем, кому знания и опыт пока ещё не позволяют сходу понимать более профессиональную литературу, или же чей профиль и вовсе далёк от подобной тематики. Т.е. я «на пальцах» расскажу об одних из простейших алгоритмах и приведу примеры их реализации без километровых листингов кода.
                                    Читать дальше →
                                    • +88
                                    • 79k
                                    • 8