• Как я ошибся при написании хеш-таблицы и какие выводы из этого сделал

      Для ясности теоретического понимания нет лучшего пути, чем учиться на своих собственных ошибках, на собственном горьком опыте. (Фридрих Энгельс)

      Всем привет!


      Несколько недель назад мне в линкедине написал коллега и сообщил, что в моем проекте на гитхабе не совсем верно работает хеш-таблица.


      Мне прислали тесты и фикс, и действительно создавалась ситуация, где система "зависала". При расследовании проблемы я понял, что допустил несколько ошибок при верификации. На Хабре тема верификации RTL-кода не слишком подробна расписана, поэтому я и решил написать статью.


      Из статьи вы узнаете:


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

      Добро пожаловать под кат!

      Читать дальше →
      • +35
      • 23,5k
      • 9
    • Оповещения Zabbix через sms используя GSM модем. Простая настройка



      Zabbix сервер — это хорошо. Правильно настроенный, он мониторит серваки и необходимые мне узлы. В случае проблем на них он с радостью уведомляет меня по электронной почте. Не так давно выяснилось, что оба наших любимых провайдера (основной и резервный интернет каналы) решили не обеспечивать ИБП свое сетевое оборудование в здании. Поэтому когда вырубают электричество (а бывает такое!) Zabbix бы и рад разбудить веселым письмом, а никак! В общем, решил заморочиться уведомлением по sms. Именно через GSM модем чтобы не было зависимости от интернета.

      Поискав по интернету варианты отправки sms Zabbix-ом, нашел варианты решения, но они показались мне длинными. Поэтому сделал по своему «на коленке». Постараюсь подробно описать не сложное рабочее решение и «грабли».
      Читать дальше →
    • Как попасть в топ на Kaggle, или Матрикснет в домашних условиях

      Хочу поделиться опытом участия в конкурсе Kaggle и алгоритмами машинного обучения, с помощью которых добрался до 18-го места из 1604 в конкурсе Avazu по прогнозированию CTR (click-through rate) мобильной рекламы. В процессе работы попытался воссоздать оригинальный алгоритм Мактрикснета, тестировал несколько вариантов логистической регрессии и работал с характеристиками. Обо всём этом ниже, плюс прикладываю полный код, чтобы можно было посмотреть, как всё работает.

      Рассказ делю на следующие разделы:
      1. Условия конкурса;
      2. Создание новых характеристик;
      3. Логистическая регрессия – прелести адаптивного градиента;
      4. Матрикснет – воссоздание полного алгоритма;
      5. Ускорение машинного обучения в Python.
      Читать дальше →
    • Основы кэширования. Практика

        Привет, хабралюди!

        Вступление


        После публикации моего предыдущего поста Основы кэширования. Как? Когда? Зачем? я понял, что надо рассказать о практике, что собственно сейчас и буду делать. Этот пост является аналогичным предыдущему, только практический.

        Использовать мы будем связку PHP + MySQL + memcache.

        Приглашаю под хабракат
      • Много книг, хороших и разных

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

            image
            Замечательная игра Braid недавно, а именно 10го апреля вышла на PC. До этого игра находилась в XBLA (Xbox Live Arcade — сервис по продаже игр для консоли Xbox360) и тогда ещё успела собрать достаточно много положительных рекомендаций.
            Из себя игра представляет 2D экшен игру с логическими элементами, везде её сравнивают с такой игрой как «Марио», и в принципе не безосновательно. Особенностью игры, является то, что в неё добавляется новое производное «время», не банальное его замедление ускорение или прочее, а совершенно новый подход к этому измерению.
            Собственно что бы это понять надо в это поиграть, также как и в World of Goo.
            Игра уже есть в сети ;)… в сети Steam.
            Читать дальше →
          • AETUTS — учимся делать эффекты

              AETUTS — это новый блог от Envanto TUTSPLUS направленный на обучение мастерскому использованию Adobe After Effects. Блог открылся два дня назад а уже обзавелся подписчиками. Несмотря на то что блог на английском его туториалы выполнены в виде ролика показывающий весь процесс работы, так что если вы не владеете этим языком вы просто можете следить за действиями автора туториала.

              Еще продукты от Envanto TUTSPLUS:
              • PSDTUTS — Туториалы для программы Adobe Photoshop
              • VECTORTUTS — Adobe Illustrator и векторные туториалы
              • AUDIOTUTS — Туториалы по музыке и звуку
              • NETTUTS — Туториалы по веб разработке
            • Инструменты скринкастинга (Windows)

                Здравствуйте, друзья!

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

                Что же такое скринкаст? (Дурацкое клише — задавать вопросы самому себе и отвечать! больше не буду...) Скринкаст — от англ. screen — экран и cast как и в случае podcast — корень broadcast — вещать. То есть буквально — экрановещание. Скринкаст это видеозапись того, что происходит на экране со звуковыми или текстовыми комментариями. Как если бы вещающий сидел рядом с вами и показывал действие на реальном компьютере и при этом что-то объяснял.

                Читать дальше →
              • Пока Sape отдыхает…

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

                  Итак обо всем по порядку.
                • 50 действительно хороших инди игр

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

                  Читать дальше →
                • Простой Тайм Менеджер для Android. Часть 2

                    В этой части мы будем доделывать приложение «Менеджер Времени» из первой части.

                    Сразу выражаю огромную благодарность Belkin и всем тем, кто плюсанул первую часть, вы помогли мне с инвайтом)

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

                    План действий:
                    • Багфиксы предыдущей версии.
                    • Модификация кода, для постоянной работы приложения, а не только для запущенного Activity
                    • Уведомления
                    • Закинем все это дело на маркет


                    Сразу хочу извиниться и похвалиться) Извиняюсь за то что заставил вас долго ждать, а похвалиться тем, что на днях Android принес мне первые ну ооооочень хорошие деньги и я на радостях купил себе xbox и проиграл в него все выходные, поэтому и задержался)

                    Итак, поехали!
                    Читать дальше →
                  • Hеroвый root или как получить полноценный русифицированный HTC Hero с приложениями Google из «обрезанного»


                      Многие засматриваются в сторону телефона на OS Android.
                      И, среди доступных вариантов, именно HTC Hero для многих является заветной мечтой.
                      К превеликому сожалению, Google почему-то не любит украинских граждан и не разрешает официально продавать в Украине телефоны с Android Market — даже с его бесплатной версией…
                      И кроме того на сером рынке доступно много телефонов из других стран, в которых нет русского или также отсутствует market.
                      Но, прелесть OS Android в её открытости… Так что под катом постараюсь рассказать, как можно перепрошить телефон полноценной прошивкой с полноценным Android Market, русификацией и возможностью покупки платных программ.
                      Данный мануал особо актуален для официальных украинских HTC Hero, но подойдет для владельцев любых Hero, которые хотят сменить прошивку своего телефона или открыть доступ к дополнительным фукциям своего телефона.
                      Читать дальше →
                    • Дайджест статей по анализу данных и big data

                        Частенько читаю Хабр и заметил что в последнее время появились Дайджесты новостей по многим тематикам, таким как веб-разработка на php, разработка на Python, мобильные приложения, но не встретил ни одного подборки по популярному сейчас направлению, а именно анализу данных и big data.

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

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

                        Читать дальше →
                      • Дайджест статей по анализу данных №2 (26.05.2014 — 8.06.2014)

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

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

                          Читать дальше →
                        • Обзор наиболее интересных материалов по анализу данных и машинному обучению №1 (9 — 16 июня 2014)


                          Данный выпуск дайджеста наиболее интересных материалов, посвященных теме анализа данных содержит достаточно много статей, которые рассматривают теоретические аспекты вопросов, связанных с Data Science. Есть несколько статей, которые будут интересны новичкам. Также представлены ссылки на серию интересных статей о работе со схемами данных в MongoDb. Есть несколько ссылок на материалы, в которых рассматривается важная проблема переобучения (overfitting) в процессе машинного обучения. Некоторые статьи посвящены литературе, рекомендуемой к прочтению для тех кому интересна тема анализа данных.
                          Читать дальше →
                          • +19
                          • 14,7k
                          • 6
                        • Калман, Матлаб, и State Space Models

                            Недавно kuznetsovin опубликовал пост об использовании Питона для анализа временных рядов в экономике. В качестве модели была выбрана «рабочая лошадка» эконометрики — ARIMA, пожалуй, одна из наиболее распространенных моделей для временных данных. В то же время, главный недостаток АRIMA-подобных моделей в том, что они не приспособлены для работы с нестационарными рядами. Например, если в данных присутствует тренд или сезонность, то математическое ожидание будет иметь разное значение в разных участках серии — , что не есть хорошо. Для избежания этого, АRIMA предполагает работать не с исходными данными, а с их разностью (так называемое дифференцирование — от «taking a difference»). Все бы хорошо, но тут возникают две проблемы — (а) мы возможно теряем значимую информацию беря разницу ряда, и (б) упускается возможность разложить ряд данных на составляющие компоненты — тренд, цикл, и т.п. Поэтому, в данной статье я хотел бы привести альтернативный метод анализа — State Space Modeling (SSM), в русском переводе — Модель Пространства Состояний.
                            Читать дальше →
                            • +21
                            • 20,7k
                            • 7
                          • Вы и ваша работа *

                            • Перевод
                            Длинный материал. Время чтения – около 40 минут.

                            image

                            Доктор Ричард Хэмминг, профессор морской школы Монтерея в штате Калифорния и отставной учёный Bell Labs, прочёл 7 марта 1986 года очень интересную и стимулирующую лекцию «Вы и ваши исследования» переполненной аудитории примерно из 200 сотрудников и гостей Bellcore на семинаре в серии коллоквиумов в Bell Communications Research. Эта лекция описывает наблюдения Хэмминга в части вопроса «Почему так мало учёных делают значительный вклад в науку и так многие оказываются в долгосрочной перспективе забыты?». В течение своей более чем сорокалетней карьеры, тридцать лет которой прошли в Bell Laboratories, он сделал ряд прямых наблюдений, задавал учёным очень острые вопросы о том, что, как, откуда, почему они делали и что они делали, изучал жизни великих учёных и великие достижения, и вёл интроспекцию и изучал теории креативности. Эта лекция о том, что он узнал о свойствах отдельных учёных, их способностях, чертах, привычках работы, мироощущении и философии.
                            Читать дальше →