• Способ получения купона на OS X Mountain Lion

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

      Итак, вы купили Мак до 11 июня 2012 года и хотите воспользоваться программой поощрения для купивших Мак после 11 июня. Для начала убедимся в возможности получения купона на бесплатную загрузку OS X 10.8 из Mac App Store. Выполним несложные действия:
      1) Копируем серийный номер своего Мака ( -> Об этом Mac -> Подробнее)
      2) Вставляем серийный номер сюда

      Если вы видите окно с датой активации, статусами телефонной поддержки, сервисного обслуживания и состояния AppleCare, увы, вам не повезло (если ваш Мак конечно не куплен после 11 июня 2012 года, но в этом случае вам вообще не нужно ухищрений).

      Но если вы видите подобное, то вам под кат.

      Читать дальше →
    • Операция «посредник» или доставка товаров из США — проще, надежнее, дешевле

        Все мы знаем, что большинство гаджетов дешевле купить в США, чем у нас на родине, и особенно это относится к различным новинкам, цены на которые у нас просто взлетают к небесам! Так же всем известно, что самые «вкусные» предложения на eBay и в интернет магазинах США обычно имеют доставку US only и соответственно не доступны для нас. В этой статье я попытаюсь рассказать про еще один способ исправить это недоразумение. Конечно все более-менее опытные интернет-покупатели знают о посредниках, которые предоставляют услугу mail forwarding — тоесть пересылку посылок. Происходит это так — вы заказываете доставку товара на адрес в США, который вам выдал посредник, он получает посылку и пересылает ее вам, беря за это небольшую комиссию. Известные посредники это Shipito, Ebaytoday, Бандеролька и т.д. их достаточно много и все они предлагают набор услуг — пересылка, объединение нескольких посылок в одну, наоборот — разделение крупной посылки на несколько мелких и тд. Берут обычно фиксированную плату за каждую посылку + оплату за дополнительные услуги. Стоимость самой пересылки обычно рассчитывается по тарифам USPS и этой же службой отправляют посылку вам. Я же хочу рассказать про еще одну компанию — Meest.us, которая осуществляет пересылку посылок (среди различных других услуг) но в принципе ее работы есть некоторые интересные особенности.
        Читать дальше →
      • Нейронная сеть против DDoS'а

          Предисловие


          Некоторые из вас наверняка недавно проходили Stanford'ские курсы, в частности ai-class и ml-class. Однако, одно дело просмотреть несколько видео-лекций, поотвечать на вопросики quiz'ов и написать десяток программ в Matlab/Octave, другое дело начать применять полученные знания на практике. Дабы знания полученые от Andrew Ng не угодили в тот же тёмный угол моего мозга, где заблудились dft, Специальная теория относительности и Уравнение Эйлера Лагранжа, я решил не повторять институтских ошибок и, пока знания ещё свежи в памяти, практиковаться как можно больше.

          И тут как раз на наш сайтик приехал DDoS. Отбиваться от которого можно было админско-программерскими (grep / awk / etc) способами или же прибегнуть к использованию технологий машинного обучения.

          Далее пойдёт рассказ о создании нейронной сети на Python 2.7 / PyBrain и её применении для защиты от DDoS'а.

          Читать дальше →
        • Алгоритм победителя AI Challenge 2011 (Ants)

          • Translation
          Вашему вниманию представляется перевод заметки победителя недавно закончившегося AI Challenge, в которой раскрываются общие моменты алгоритма, а так же некоторые технические детали. Также есть возможность осмотреть исходники самостоятельно.

          Не могу поверить в то, что я выиграл.
          И тем более не могу поверить в то, что выиграл решительно.

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

          Вот пример одной из моих игр: aichallenge.org/visualizer.php?game=346288&user=4513 (это не та игра, которую привёл автор в своей статье. Я не могу дать ссылку именно на неё, поскольку она хранится прямо на сервере автора. — прим. перев.). В этой заметке я хочу объяснить, что делает мой код, и как именно у него получается это делать. Есть много технических моментов, и в общем-то статья не о самой стратегии, но я постараюсь объяснять попроще.
          Читать дальше →
        • Развиваем кругозор и погружаемся в робототехнику вместе

          image

          Электроника — это очень интересно. Крайне приятное ощущение, когда ты вскрываешь какой-то электронный прибор, видишь что-то знакомое: «Вот диод, а вот транзистор!», когда вместо того, чтобы нести материнскую плату в ремонт, ты можешь сам поменять на ней конденсатор за пару минут. Однако, многие боятся ее, представляя огромные монтажные схемы со странными закорючками и непонятный ассемблерный код. Я же хочу показать всем, что начать заниматься электроникой, а в частности робототехникой, это несложно! Простого робота можно изготовить всего за пару часов.
          Читать дальше →
        • Как я поступал в Бауманку, или «Шаг в будущее»

          Всем добра, хабрапользователи. Да, я сделал робота.

          image

          Пишу сей пост дабы популяризовать такое течение как «Шаг в будущее» МГТУ им. Н. Э. Баумана, ведь все мы знаем, что на хабрахабре достаточно школьников и тех, кто интересуется современным образованием.

          «Шаг в будущее» — это олимпиада для школьников старших классов (10-х и 11-х), умных, готовых заниматься научной деятельностью.

          Читать дальше →
        • Автоматическое оповещение читателей о новостях с помощью ВКонтакте. Часть 2

          • Tutorial
          Первая часть

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

          После первой части я получил большое количество сообщений, большая часть из которых посвящалась тому, что я продемонстрировал в статье возможность публикации на собственной стенке, а автоматическую публикацию на стене Группы или Официальной странице я не показал. Поэтому я начну с того, какие параметры нужно для этого передавать.
          Перейдем непосредственно к параметрам
        • 10 лучших stop-motion видеороликов на YouTube

            imageСоздание stop-motion видеороликов — труд зачастую бескорыстный, но достаточно кропотливый. Ниже представлена коллекция из десяти видеороликов, созданных людьми, которые были по-настоящему вовлечены в свою работу.

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

            Итак, 10 невероятных покадровых видеороликов:

            1. Stop Motion With Wolf And Pig



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

              Про нейронные сети, как один из инструментов решения трудноформализуемых задач уже было сказано достаточно много. И здесь, на хабре, было показано, как эти сети применять для распознавания изображений, применительно к задаче взлома капчи. Однако, типов нейросетей существует довольно много. И так ли хороша классическая полносвязная нейронная сеть (ПНС) для задачи распознавания (классификации) изображений?
              Читать дальше →
            • Дети и собственное самообразование

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

                Приходя с работы вечером, поужинав, кто-то ложится на диван беря в руки газету, кто-то находит себе работу по дому, кто-то просто возится с детьми и т.д. Естественно, самообразоваваться мы начинаем либо поздно ночью (когда уснут жена и дети), либо урывками в период от ужина до сна. Просто свободного времени естественно нет.
                Читать дальше →
              • Когда пора остановиться?

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

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

                  Сегодня я поймал себя на мыслях о будущем, я постепенно повышаю свое мастерство как дизайнер, проекты становятся все сложнее, буду менять студии, будет расти зарплата, будет много интересной работы, но это ли мне надо… Так ведь можно дойти до смерти, спокойно и с интересом… А все таки я чувствую что есть что-то более важное, чем дизайн, который для меня очень много значит и занимает много времени… но… Вопрос в том реально ли все это в один момент прекратить, забыть все что было и "проснуться" к жизни? Или это просто пустые слова, которые к утру для меня ничего не будут значить, а голову займут текущие проекты, текущие трудности.

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

                  П.С.П.С. Большое спасибо всем кто поделился личным опытом, выразил свое мнение и принял участие. Теперь пора переходить к действиям.
                • Карьера в IT

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

                    Читать дальше →
                  • Как работают браузеры: принципы работы современных веб-браузеров

                      Просматривая одно из обучающих видео "Школы разработки интерфейсов" Яндекса, наткнулся на ссылку на офигенный труд израильской веб-программистки Тали Гарсиэль (Tali Garsiel) "How browsers work" (Как работают браузеры).

                      Она в течение нескольких лет отслеживала всю издаваемую информацию о внутреннем устройстве браузеров, изучала исходный код WebKit и Gecko и, в конце концов, собрала все воедино. Вот что пишет сама Тали:
                      Когда на 90% компьютеров был установлен IE, приходилось мириться с тем, что это загадочный «черный ящик», однако теперь, когда более половины пользователей выбирает браузеры с открытым исходным кодом, пришло время разобраться, что скрывается у них внутри, в миллионах строк программного кода на C++...
                      Пролистав, я был поражен — отличная работа. Внутреннее устройство браузеров, алгоритмы разбора — все хорошо иллюстрировано, доступно и понятно. И без излишних подробностей, страниц на 30-40. Как раз то, что нужно. Решил — это надо обязательно перевести. Покопался еще немного — оказалось перевод уже как 1,5 года есть!

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

                      Под катом содержание перевода, чтобы решить стоит ли читать.
                      Читать дальше →
                    • Времена меняются для веб-разработчиков — 6 советов чтобы выжить

                      image

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

                      Подумайте о разработке веб-приложений должным образом. Используйте здравый смысл чтобы смешивать и сочетать основываясь на данных советах.
                      А теперь 6 советов для веб-разработчиков, чтобы оставаться на пике того что вы делаете.
                      Читать дальше →
                    • «Бар желаний» к 8 марта на Python и Pyramid

                      Как поздравить девушек на работе с прекрасным праздником весны? В этом году хотелось сделать что-то необычное, чем-то удивить их в дополнение к традиционным подаркам и цветам. Так появилось веб-приложение «Бар желаний», созданное за один день с помощью Python и Pyramid.



                      Может быть, после прочтения статьи кто-то решит повторно использовать «Бар желаний» для поздравлений. Возможно, кто-то откроет для себя Pyramid — веб-фреймворк, прекрасно подходящий для быстрого создания небольших веб-проектов. Наконец, можно просто забрать исходный код приложения с GitHub для использования в своих целях.

                      В статье показан процесс разработки небольшого веб-приложения, начиная с постановки задачи и проектирования и заканчивая развертыванием приложения на сервере. По ходу статьи приведены комментарии к реализации, которые объясняют на примерах некоторые принципы работы веб-приложений в общем и Pyramid в частности. Таким образом, статью можно рассматривать также как руководство по Pyramid для начинающих на примере реальной задачи.
                      Читать дальше →
                      • +44
                      • 17.7k
                      • 7
                    • Бенчмарк HTML парсеров

                        Переписывал в островке кусок одного сервиса с Python на Erlang. Сам сервис занимается тем, что скачивает по HTTP значительное количество однотипных HTML страниц и извлекает из них некоторую информацию. Основная CPU нагрузка сервиса приходится на парсинг HTML в DOM дерево.

                        Сперва захотелось сравнить производительность Erlang парсера mochiweb_html с используемым из Python lxml.etree.HTML(). Провел простейший бенчмарк, нужные выводы сделал, а потом подумал что неплохо было бы добавить в бенчмарк ещё парочку-другую парсеров и платформ, оформить покрасивее, опубликовать код и написать статью.
                        На данный момент успел написать бенчмарки на Erlang, Python, PyPy, NodeJS и С в следующих комбинациях:
                        • Erlang — mochiweb_html
                        • CPython — lxml.etree.HTML
                        • CPython — BeautifulSoup 3
                        • CPython — BeautifulSoup 4
                        • CPython — html5lib
                        • PyPy — BeautifulSoup 3
                        • PyPy — BeautifulSoup 4
                        • PyPy — html5lib
                        • Node.JS — cheerio
                        • Node.JS — htmlparser
                        • Node.JS — jsdom
                        • C — libxml2 (скорее для справки)

                        В тесте сравниваются скорость обработки N итераций парсера и пиковое потребление памяти.

                        Интрига: кто быстрее — Python или PyPy? Как сказывается иммутабельность Erlang на скорости парсинга и потреблении памяти? Насколько быстра V8 NodeJS? И как на всё это смотрит код на чистом C.
                        Читать дальше →
                      • Построение нейронных сетей в php используя FANN, пример реализации

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

                        Поскольку данные для анализа формируются в php и мне этот язык сейчас ближе всего, то искалась библиотека с интерфейсом для php. В связи с этим мне порекомендовали FANN (Fast Artificial Neural Network) — открытое программное обеспечение для построения сетей. У этого решения есть апи для 15 языков, так что почти каждый сможет выбрать что-то для себя.

                        Пример. Распознавание языка текста на странице

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

                          Каждый месяц на Яндексе поиском по картинкам пользуется больше 20 миллионов человек. И если кто-то из них ищет фотографии [Мэрилин Монро], это не значит, что им нужно найти лишь самые знаменитые снимки актрисы. В такой ситуации результаты, в которых большая часть найденных изображений будет копиями одних и тех же картинок, вряд ли устроят пользователей. Им придётся пролистать большое количество страниц, чтобы увидеть разные фотографии Монро. Для того чтобы облегчать людям подобные задачи, нам нужно сортировать картинки в результатах поиска так, чтобы они не повторялись. И мы научились «раскладывать их по полочкам».



                          Когда в 2002 году в Яндексе появился поиск по картинкам, технологий, позволяющих компьютерам непосредственно «видеть», какие объекты есть на изображении, не было вообще.
                          Читать дальше →
                        • ELB vs Nginx

                            Ещё раз привет!

                            У меня появилась шикарная задача для исследования, и своими результатами я хочу поделиться с сообществом. Смысл задачи состоит в том, чтоб определить лучший вариант деплоя NGINX в AWS EC2/VPC. Лучший он должен быть с многих сторон, особенно со стороны высоконадёжности (High Availability) и скорости ответа. Особенно важным фактором так же является быстрота обработки SSL запросов, поэтому были проведены тесты на SSL-производительность.

                            Все инстансы находятся в одной сети VPC, ELB тоже поднимается в этой же сети.

                            Было рассмотрено несколько вариаций деплоймента, но выбор пал на 2 основные конфигурации, тесты над которыми я и провёл.

                            Конфигурация 1. ELB



                            Далее приводятся описания и результаты тестов
                          • Git up и все все все

                            • Tutorial
                            Комманда git up (аналог svn up) добавляется так:
                            git config --global alias.up '!(git add . && git stash && git pull --rebase >&2) | grep -v "No local changes to save" && git stash pop'
                            

                            git up при надобности ныкает все ещё незакоммиченные изменения в stash, обновляет локальную ветку до свежайшей и восстанавливает локальные изменения назад. В том числе переносит ещё неотправленные локальные коммиты в самый конец, делая историю линейной как в Subversion, т.е. избегая лишних веток и merge-коммитов.
                            Читать дальше →