• Сравнение аналитических in-memory баз данных

      В последние два месяца лета в управлении хранилищ данных (Data Warehouse, DWH) Тинькофф Банка появилась новая тема для кухонных споров.

      Всё это время мы проводили масштабное тестирование нескольких in-memory СУБД. Любой разговор с администраторами DWH в это время можно было начать с фразы «Ну как, кто лидирует?», и не прогадать. В ответ люди получали длинную и очень эмоциональную тираду о сложностях тестирования, премудростях общения с доселе неизвестными вендорами и недостатках отдельных испытуемых.

      Подробности, результаты и некое подобие выводов из тестирования — под катом.
      Читать дальше →
    • 400 потрясающих бесплатных сервисов

      • Перевод

      Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.

      И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



      A. Бесплатные веб-сайты

      • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
      • Bootswatch: Бесплатные темы для Bootstrap.
      • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
      • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
      • Strikingly: Конструктор веб-сайтов.
      • Layers: Создание сайтов на WordPress (new).
      • Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
      • Landing Harbor:  Продвижение мобильного приложения c помощью бесплатного лендинга (new).
      Читать дальше →
    • Генераторы непрерывно распределенных случайных величин

      • Tutorial
      Генератор случайных чисел во многом подобен сексу: когда он хорош — это прекрасно, когда он плох, все равно приятно (Джордж Марсалья, 1984)

      Популярность стохастических алгоритмов все растет. Многие из них базируются на генерации большого количества различных случайных величин. Далеко не всегда равномерно распределенных. Здесь я попытался собрать информацию о быстрых и точных генераторах случайных величин с известными распределениями. Задачи могут быть разными, разными могут быть и критерии. Кому-то важно время генерации, кому-то — точность, кому-то — криптоустойчивость, кому-то — скорость сходимости. Лично я исходил из предположения, что мы имеем некий базовый генератор, возвращающий псевдослучайное целое число, равномерно распределенное от 0 до некого RAND_MAX

      unsigned long long BasicRandGenerator() {
          unsigned long long randomVariable;
          // some magic here
          ...
          return randomVariable;
      }
      

      и что этот генератор достаточно быстрый. Я имею ввиду, что дешевле сгенерировать с десяток случайных чисел, нежели чем посчитать логарифм или возвести в степень одно из них. Это могут быть стандартные генераторы: std::rand(), rand в MATLAB, Java.util.Random и т.д. Но имейте ввиду, что подобные генераторы редко подходят для серьезной работы. Зачастую они проваливают разные статистические тесты. А также, помните, что вы полностью зависите от них и лучше использовать свой собственный генератор, чтобы иметь представление о его работе.

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


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

      Равномерное распределение





      Читать дальше →
      • +40
      • 55,7k
      • 7
    • Авторинг Perl модулей

      • Tutorial
      При разработке перл-модулей приходится делать много работы, которая практически не связана с задачами и кодом модуля — начиная от создания десятка типовых файлов/каталогов и заканчивая выполнением десятка одинаковых операций необходимых для выпуска новой версии.

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

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

      Далее кратко описаны имеющиеся на начало 2015 года средства, которые могут облегчить процесс разработки перл-модулей, сделать ваши модули более современными, и упростить другим разработчикам доработку ваших модулей. Я постарался перечислить их основные плюсы и минусы, но т.к. сам пользовался не всеми то буду дополнять/исправлять этот список в соответствии с вашими комментариями.

      Читать дальше →
    • 58 признаков хорошего интерфейса

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

      1 Один столбец вместо нескольких


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

      image
      Читать дальше →
    • За один проход

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

        Задача 1. В последовательности записаны целые числа от 1 до N в произвольном порядке, но одно из чисел пропущено (остальные встречаются ровно по одному разу). N заранее неизвестно. Определить пропущенное число

        Решение очевидно: просматриваем числа, находим их количество K и сумму S. По условию, N=K+1, значит, сумма чисел от 1 до N будет равна (K+1)*(K+2)/2, и пропущенное число равно (K+1)*(K+2)/2-S. Если вы почему-то боитесь переполнений, то работайте с беззнаковыми числами (там переполнения не страшны — но будьте осторожны при вычислении (K+1)*(K+2)/2 :) ), или вместо суммы ищите XOR всех чисел.
        Другие задачи
      • Лицензия для вашего open-source проекта

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

          Статья будет полезна тем, кто хочет:

          — в общих чертах понять, что такое авторское право (но лучше обратиться к юристу);
          — подобрать свободную лицензию для своего проекта;
          — разобраться, что нужно писать в шапке файла исходного кода.
          Читать дальше →
        • Почему будущее за удалённой работой (часть 2)



            Немногим менее года назад я написал первую часть этой статьи, пообещав, что вторая будет посвящена рассмотрению самых частых возражений. Конечно, если кто-то и ждал продолжения, вероятно успел уже прочно забыть за это время. Утешая себя мыслью, что лучше всё-таки поздно, чем никогда, берусь наконец исправить ситуацию. Итак.
            Читать дальше →
          • Канада запускает программу Startup Visa для иностранных интернет-предпринимателей



              Канадская служба миграции и гражданства опубликовала окончательный список требований к кандидатам и начала приём документов от интернет-предпринимателей по новой иммиграционной программе Startup Visa. Участник этой программы получает статус и карточку постоянного жителя Канады (Permanent Residency).

              Требования для получения Startup Visa:
              1. Сдать тест на знание английского или французского языка Benchmark 5.
              2. Высшее или незаконченное высшее образование (one year of post-secondary education).
              3. Договориться с одним из венчурных фондов на финансирование своего стартапа в размере от 200 тыс. канадских долларов или с одним из частных инвесторов (ангелов) на финансирование от 75 тыс. CDN. Список фондов и инвесторов см. здесь.
              Читать дальше →
            • Доставка из США за 5-10 дней по цене USPS

                До наступления 2013 года оставалось 30 дней, когда я решил подарить жене ipad mini. Официальный store.apple.com не справлялся со спросом на mini, о чем красноречиво свидетельствовала надпись est shipping in 2 weeks.

                Отказываться от mini в качестве подарка не было никакого желания, поэтому был штурмом взят ebay, цены на котором заметно подросли, и 16gb+cellurar модель ушла за $500.

                До наступления 2013 года оставалось 15 дней, у меня был выигранный лот и туманная перспектива получить его в Спб до 31 числа…
                И я ее получил, за 10 дней, тариф за отправку составил $48.5.
                Читать дальше...
              • Украинская железная дорога. Билеты online. Квест

                  Небольшая история о полуторочасовом приключении-квесте покупки билетов c помощью on-line сервиса Украинской Железной дороги (УЖД).

                  Напишу вкратце, самые важные моменты. Да простит меня Хабрасообщество за вольный стиль изложения.



                  По-возможности, пожалуйста, перенесите топик в «я негодую». Понимаю, что совсем не профильная тема.

                  Читать дальше →
                • «Умный дом» собственными руками. Часть 3. Синтез и распознавание голоса с помощью Google

                    В прошлой статье мы смогли добиться получения изображения с наших веб-камер в виде снимков раз в секунду. Теперь пришла пора взяться за обещанное — распознавание и синтез голоса.
                    Читать дальше →
                  • Постраничная верстка rel=«next|prev»

                    • Перевод
                    Наряду с использование атрибута rel=«canonical» для указания поисковому боту на дублирование контента, теперь возможно использовать для HTML ссылок значение rel=“next” и rel=“prev” для обозначения положения текущей страницы в отношении соседних в рамках навигационного блока. В рамках веба встречаются различные варианты использования постраничной навигации — статья, разделенная на несколько страниц, либо категория товаров распределенных по нескольким страницам, либо ветка форума, разделенная на последовательность URL-ов. Теперь, включив rel=“next” и rel=“prev” в верстку страниц, мы можем указать Google:
                    • Создать консолидированный индекс страниц, чтобы ссылки не рассеивались между отдельными страницами page-1.html, page-2.html, и так далее
                    • При поиске направить пользователя на наиболее релевантную страницу среди всех остальных, например в начало статьи, разбитой на несколько страниц
                    Подробности и нюансы использования
                  • Набор инструментов Bootstrap для создания web-приложений

                      Изображение - savepic.org — сервис хранения изображений

                      Сегодня Twitter объявил о запуске нового набора инструментов Bootstrap для создания web-приложений при помощи CSS. Набор включает в себя стили для типографики, форм, кнопок, таблиц, стрелок и.т.д.

                      Создатели говорят, что сервис был запущен как фреймворк для создания фронтэнд приложений. Набор был разработан во время первого твиттеровского Hackweek.
                      Читать дальше →
                    • Как звучит Тау?

                        Возможно вы помните музыкальную интерпретацию числа Пи, которую Майкл Блэйк представил в этом году незадолго до Дня Пи.
                        И вот опять он нас удивляет своим видео, в котором наигрывает первые 126 нот константы Тау(равной произведению Пи на 2) на разных инструментах.

                        Читать дальше →
                      • Загрузочный телефон

                          У вас наверняка есть «обычный сотовый телефон», умеющий звонить, играть музыку с флеш-карты и прикидываться по случаю кардридером при подключении к «большому брату». Ну или был. Или есть у вашей второй половины/родителей/детей/бабушек/дедушек/etc. Вы никогда не думали использовать его более гиковским способом, чем просто средство связи? Я не имею в виду модификацию прошивок и получение консольного доступа к самому телефону, нет — все намного банальнее и интереснее одновременно.


                          рецепт приготовления
                        • Hotmail раздаёт одноразовые почтовые адреса

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

                            Раньше для регистрации одноразовых email'ов приходилось использовать экзотические сервисы вроде Dispostable, Pepbot, TempAlias или Sneakemail. При этом адрес выглядит нестандартно и его могут заблокировать на том форуме, где вы хотите его оставить. Но теперь появился нормальный способ. Разработчики Windows Live Hotmail пошли навстречу пользователям и запустили фичу одноразовых адресов (алиасов).
                            Читать дальше →
                          • Краткая заметка по некоторым дополнительным возможностям Kindle третьего поколения


                              В заметке я постараюсь начать описание нескольких интересных дополнительных возможностей этой замечательной читалки,. Речь пойдет о вариантах Kindle 3g и Kindle Wi-fi третьего поколения и некоторых штуках, не описаных в мануалах. Хотел бы заметить, что информацию о Киндле найти относительно не сложно, однако собрать все в одной заметке на русском, думаю, неплохая идея.

                              приступим
                            • Советский «брендбук»

                                image

                                В это воскресенье, по дороге на Одесский «Староконный» рынок мне несказанно повезло. Всего за 5 гривен (20 рублей) я стал счастливым обладателем советского брендбука. Если быть точнее, это руководство по оформлению Украины в духе решений 26-го съезда КПСС. Особенно интересна текстовая часть (см. Приложения).

                                Раритет интересен не только фактом своего существования. Такого обстоятельного и детального «гайдлайна» я не встречал уже давно. Господа дизайнеры и сочувствующие — наслаждайтесь PDF-ом на Issuu. Вставить не получается :)
                              • Концептуальный подход к подаче информации в интернет-магазинах. Часть 1

                                  Приветствую вас, хабра-сообщество. Итак, о чем пойдет речь в посте. Многие из вас могут ошибочно сделать вывод, что речь в посте пойдет о дизайне, юзабилити и подобном. Но! Речь в посте пойдет именно о том, как и какую информацию подавать потенциальным покупателям. О концептуальном подходе к интернет-магазинам.

                                  Пост вышел совсем не маленький! Много текста, требует осмысления, и, возможно(как всегда у меня выходит), сложного для восприятия. Но разбивать весь пост на 2-3-4 части я не хочу. Лучше потратить время и прочитать все сразу, тогда будет понятнее. Тем более, что, все же, тема планировалась на 3 поста. Это 1-й и все 3 будут большими.
                                  Если интересно милости просим за хабракат.