• Как простым способом получить инвайт в Spotify находясь в России?!

      image
      Здравствуй Хабр! Хочу поделиться с тобой способом получения «халявных» инвайтов в небезизвестный музыкальный плеер/ веб радио Spotify. Причем абсолютно не важно, в какой стране ты находишься.

      Как известно, совсем недавно зарегистрироваться в Spotify можно было используя британский анонимайзер. Но Spotify устранил пробел в своей обороне заблокировав все известные широкой общественности анонимайзеры. Например два месяца назад я с успехом зарегистрировался в Spotify используя unblocker.biz, всего лишь введя www.spotify.com/en/get-started. Но вот уже 1-ого февраля я не смог зарегистрировать своего друга ни через один известный гуглу и твиттеру анонимайзер или прокси.

      И вот свершилось! Я нашел способ, пока еще рабочий, так же относительно просто попасть в Spotify.
      Читать дальше →
    • URL в PDF? Без проблем

        Уже несколько месяцев являюсь счастливым обладателем ebook'а.
        Очень часто нахожу интересные статьи в интернете, но бывает, что статья довольно объемная, да и не всегда есть время читать ее. Зато есть много времени по дороге домой.

        Конкретно моя книжка кушает все форматы, в том числе и html. Но html без картинок, а только текст. А некоторые модели не кушают html. И что же тогда делать?

        Недавно открыл для себя удобный и простой конвертер, который преобразует нужный URL в обычный PDF. Причем без особых сложностей. Просто вводите ссылку и через 5-10 секунд у вас готовый PDF файл.


        Читать дальше →
      • Как веб-дизайн катится прямо в Ад

          Забавный и весьма жизненный комикс Мэтью Иннмана «How a web design goes straight to Hell» уже несколько раз упоминался на Хабрахабре в разных топиках, и наверное многие хабралюди уже с ним знакомы. Мы с моей коллегой, Юлей Лисевич (у нее пока нет акаунта на Хабре) решили сделать его перевод на русский язык. Зачем? Те, кому ежедневно приходится сталкиваться с ситуациями, подобными описанным в комиксе, смогут показать его заказчикам. Возможно это поможет им найти общий язык. :) Итак…

          Как веб-дизайн катится прямо в Ад
          Читать дальше →
        • Программы автовывода баланса на рабочий стол

            Как вы смотрите остаток на счете в своем телефоне? На Билайне надо набрать *102# и подождать ответа. Привычно, но долго. Было бы прикольно, если бы баланс всегда показывался на экране, достаточно одного взгляда для проверки. Такая возможность есть, вот обзор некоторых продуктов, отображающих текущий баланс счета на рабочем столе.
            Dynamic Operator Name screenshot

            Dynamic Operator Name (Windows Mobile)

            В автоматическом режиме запрашивает остаток на счете и выводит его вместо названия GSM-оператора. Проверка баланса осуществляется после каждого звонка и просыпания устройства.
            Прога — бесплатная, написана отечественными разработчиками.
            Скачать Dynamic Operator Name 3.5 beta 3 для WM5-6.5. Устанавливать нужно в основную память.
            Из-за особенностей ОЕМ-софта программа не работает на следующих девайсах: Samsung I900, I780; Toshiba G900.
            Читать дальше →
          • Как смотреть видео сразу с двумя потоками субтитров

              Начнём с примеров практического применения параллельных субтитров:

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

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

              3. Фильм смотрят в компании, одним нужен оригинал, другим перевод.

              Конечно, всё это смахивает на небольшое маньячество, но человек, знакомый с проблемами перевода, готов мириться с некоторыми неудобствами (отъедание экранного пространства, раздвоение восприятия, небольшая морока с подготовкой материалов).
              Читать дальше →
            • Запускаем Skype без надоедливой Главной страницы

                Поводом к написанию заметки послужил недавний вопрос. Меня тоже очень раздражает окно Skype Home, появляющееся при каждом запуске, однако с помощью простой программы на C мне удалось от него избавиться. Получилось нечто вроде Hello World Tutorial по использованию Windows API. Программу можно скачать тут, а исходник с описанием найдете под катом.
                Читать дальше →
              • Как я объяснил жене, что такое REST

                • Перевод
                Возможно, как и многим, мне не всегда удаётся простым языком объяснять сложные вещи, я становлюсь многословным, уделяю чрезмерное внимание деталям и невольно использую профессионализмы. Наверное, именно поэтому я обратил внимание на статью How I Explained REST to My Wife, в которой Ryan Tomayko вот так запросто рассказывает жене о REST и принципах работы HTTP. В заголовках статьи был перечень языков на которые переведена эта статья и этот список из 6 языков, во-первых, дал понять что я не одинок, во-вторых, показал что статья стоит того что бы добавить перевод на русском.
                Читать дальше →
              • Наглядная демонстрация алгоритмов сортировки

                  Трансильванский университет Sapientia представил свой новый обучающий курс по алгоритмам сортировки. Стоит отметить талант создателей и высокую наглядность пособия.



                  Под катом есть еще видео
                  Читать дальше →
                • Есть ли практический смысл использовать для итераторов префиксный оператор инкремента ++it, вместо постфиксного it++

                    c++ or ++c
                    Я все-таки решил разобраться, есть ли смысл при работе с итераторами писать ++iterator, а не iterator++. Мой интерес к этому вопросу возник не из любви к искусству, а из практических соображений. Мы давно хотим развивать PVS-Studio не только в направлении поиска ошибок, но и в сторону выдачи подсказок по оптимизации кода. Выдача сообщения, что лучше писать ++iterator вполне уместна в плане оптимизации.

                    Но вот насколько эта рекомендация актуальна в наше время? В стародавние времена, например, советовали не повторять вычисления. Считалось хорошим тоном вместо:
                    X = A + 10 + B;
                    Y = A + 10 + C;
                    

                    написать так:
                    TMP = A + 10;
                    X = TMP + B;
                    Y = TMP + C;
                    

                    Читать дальше →
                  • Динамическое программирование. Классические задачи

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

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

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

                    Такие задачи решают методом динамического программирования, а под самим динамическим программированием понимают сведение задачи к подзадачам.
                    Читать дальше →
                  • Фильтр Блума

                      И снова здравствуйте! Сегодня я поведаю о фильтре Блума — структуре данных гениальной в своей простоте. По сути, этот фильтр реализует вероятностное множество всего с двумя операциями: добавление элемента к множеству и проверка принадлежности элемента множеству. Множество вероятностное потому, что последняя операция на вопрос «принадлежит ли этот элемент множеству?» даёт ответ не в форме «да/нет», а в форме «возможно/нет».

                      Как фильтр это делает?
                    • Правило чтения по спирали

                      • Перевод
                      Техника, известная как «Чтение по спирали/по часовой стрелке» (“Clockwise/Spiral Rule”) позволяет любому программисту разобрать любое объявление языка Си.

                      Следуйте этим простым шагам:
                      Читать дальше →
                    • Обзор NoSQL систем

                        Беспрецедентные объемы данных заставляют разработчиков и бизнес приглядываться к альтернативам реляционных баз данных, используемым вот уже более тридцати лет. В совокупности все эти технологии известны как «NoSQL базы данных».


                        Основной проблемой является то, что реляционные базы данных не могут справляться с нагрузками актуальными в наше время (мы говорим о high-load проектах). Есть три конкретные проблемных области:
                        • горизонтальное масштабирование при больших объемах данных, например как в случае Digg (3 терабайта для зеленых значков, отображаемых, если ваш друг сделал dugg на статье) или Facebook (50 терабайт для поиска по входящим сообщениям) или eBay (2 петабайта в целом)
                        • производительность каждого отдельного сервера
                        • не гибкий дизайн логической структуры.
                        Читать дальше →
                      • Боремся с утечками памяти (C++ CRT)

                          Утечка памяти — довольно серьезная и опасная проблема. Быть может, пользователь и не заметит однократной утечки каких-нибудь 32Кб памяти (а ведь это целые 5% от 640Кб, которых «хватит всем»), но постоянно теряя сложные иерархические структуры или массивы размером больше INT_MAX (которые мы так любим создавать на 64-битной архитектуре) мы обречем его на страдания, а наш продукт на провал.

                          Не допускать ситуации вроде бы и не трудно — воспользуемся правилом «класть на место всё что взяли», но на практике это сильно осложняется человеческим фактором (банальная невнимательность), хитростью архитектуры и нелинейным порядком выполнения операторов, например, из-за применения исключений.

                          А можно было бы просто «отдаться» автоматическому сборщику мусора, ценой потери производительности (и это не обязательно Managed C++, для Native C++ / C есть библиотеки сборки мусора, вот, например).

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

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

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

                            update: Теперь есть электронные версии книг!

                            Начнём…
                            Читать дальше →
                          • Opera 10.10 beta — теперь с Unite

                              image


                              Сегодня вышла первая бета-версия браузера Opera под номером 10.10, включающая в себя новую технологию — Opera Unite. Официальную информацию на английском можно почитать в свежем пресс-релизе ( www.opera.com/browser/next ), на Хабре же сегодня официоза будет чуть меньше. На этом вводная часть завершена и можно перейти к собственно технологии Opera Unite. Тем, кто уже пробовал эту необычную разработку в альфа-версиях браузера, особого представления не нужно, поэтому вкратце опишу, что такое Unite — для тех, кто впервые слышит данное название.
                              Читать дальше →