• Американские орнитологи создали онлайн-ресурс с записями пения тысяч видов птиц



      Группа ученых из США выполнила очень интересную работу: орнитологи из Мичиганского университета создали онлайн-ресурс, где собрали записи пения тысяч различных видов птиц из разных стран. Точное количество записей составляет 10 тысяч 200 штук (!), можно только представить себе, какая это работа. Кстати, количество видов птиц, игравших роль «озвучки» составляет 3190 — весьма обширная база.

      Читать дальше →
    • Мастерство целевого использования ключевых слов и оптимизации страниц

      • Translation
      Пост опубликован по просьбе одного хорошего человека.

      Как создать максимально оптимизированную веб-страницу?



      Если вы СЕОшник (SEO оптимизатор), то этот вопрос вы часто слышите. К сожалению, однозначного ответа нет. Но, тем не менее, существует набор полезных приемов, которые помогут приблизиться к ответу на этот вопрос. В данном посте я поделюсь нашими лучшими рекомендациями для достижения «совершенства» оптимизации страницы и расположения ключевых слов. Или, по крайней мере, что-то близкое к этому. Некоторые из наших советов подтверждены данными, результатами исследований и тестирований, другие основаны на интуиции и общем опыте. Как и со всеми СЕО советами, мы рекомендуем постоянное тестирование и оттачивание, ну а данный пост поможет вам начать процесс оптимизации.
      Читать дальше →
    • Паттерны проектирования

        Здравствуй хаброчеловек!

        Так уж случилось, что с этого семестра в своем вузе я записался на спецкурс по паттернам проектирования. Курс проходит в виде семинаров, на которых ты (студент) должен рассказать чему научился за неделю (имеется ввиду, какие паттерны изучил и применил на практике).
        Читать дальше →
      • Акинатор и математика

          На Хабре уже несколько раз всплывала тема Акинатора, в том числе и с тегом не знаю как оно работает. Я на него наткнулся недавно и, разумеется, был восхищен. Затем, как вероятно и многим другим, мне в голову пришла мысль: «А как же это работает?» Ответа на этот вопрос я нигде не нашел, а потому задался целью написать аналогичную по функциональности программу, разобравшись по ходу дела что к чему.
          Читать дальше →
        • 23 логотипа со скрытым смыслом

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

          Читать дальше →
        • ПО для взаимодействия ПК и смартфона

            С момента покупки смарта на Android меня заинтересовало его функциональное наполнение. На практике оказалось, что Android способен выполнять практически любую задачу, решаемую на обычном ПK, только медленнее и не всегда удобнее. Зато дополняет ПК он прекрасно, и механизмов использования возможностей смарта на ПК и возможностей ПК на смарте — уйма.

            Статья ориентирована в основном на формирующихся и будущих пользователей Android-смартфонов; надеюсь, что продвинутые пользователи также найдут в ней что-то новое и/или внесут свою лепту. Под катом по пунктам, в вопрос-ответном стиле.
            Читать дальше →
          • Получаем интернет по USB с компьютера на Android

              image

              Статья актуальна на 2010 год, современные Android могут проделывать такое одной «галочкой» в настройках

              После покупки HTC Hero у меня возник вопрос: как получать интернет на коммуникаторе через компьютер? С моим предыдущим коммуникатором Toshiba G900 под управлением WindowsMobile 6 было все просто: установил «центр мобильных устройств», и на коммуникаторе появился интернет. «Эта функция не нужна», — скажите вы, ведь сейчас много точек доступа Wi-Fi, через которые можно подключиться двумя кликами. Но вот лично у меня нет Wi-Fi точки (есть ноутбук, но Android не обнаруживает Ad-hoс сети). Поэтому я был огорчен отсутствием этой функции. Все мои попытки найти мануалы на эту темы — не увенчались успехом. Поэтому я решил это сам.
              Внимание: Для работы ножен root пользователь.
              Читать дальше →
            • Профессиональная иммиграция в Австралию, IT и жизнь на другом континенте

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

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



              Читать дальше →
            • Talk on the Run. Говорящий программист

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

                Зачем?

                • Большинство проектов, с которыми мне приходится сталкиваться, устроены по принципу двух-трех-уровневой иерархии, причем наверху пищевой цепочки находятся серьезные боссы, управляющие серьезными клиентами, а внизу – кодеры за еду разной степени продвинутости. В золотой середине сидят тимлиды, они же техлиды, они же координаторы, на которых, собственно говоря, и ложится основная ответственность за реальный value и реальный delivery.
                • Эти люди чаще всего – собственный продукт компании, начинавшие как молодая шпана, прошедшие длинный путь развития, и при этом – они категорически не рвутся превращаться в больших начальников, поскольку свежий ветер еще шумит у них в голове, и отрываться от своей, любовно возделанной на .NET грядки, им совсем даже не хочется.
                • Тем не менее – к ним приходят и говорят: у тебя растут года, парень, пора руководить, че.

                Читать дальше →
              • 50 цитат о программировании всех времён

                • Translation
                Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.

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

                49. Lisp — это не язык, а строительный материал.
                — Alan Kay

                48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
                — Edward V Berard
                Читать дальше →
              • Машина времени в git

                В последнее время мои коллеги начинают знакомство с git'ом. И один из интересующих их вопросов — как откатиться до определённой ревизии. В интернете можно найти набор команд, но хочется, чтобы было понимание каждой из них. Баловство с комадами git'а без понимания может привести к потере истории разработки.

                В этой статье я хочу рассказать о командах git checkout и git reset с ключами --soft и --hard.
                Читать дальше →
              • Проще лучше, чем лучше

                • Translation
                В своей книге Парадокс выбора («The Paradox of Choice» by Barry Schwartz) Барри Шварц приходит к интересному выводу относительно осуществления выбора человеком:

                «Люди выбирают не на основе того, что важнее, а основываясь на том, что легче всего оценить.»

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

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

                  image

                  Заинтересованная аудитория: авторы HTML-контента, разработчики скриптов серверных приложений (PHP, JSP и т.д.), менеджеры веб-проектов и любые другие люди, так или иначе связанные с дизайном форм ввода данных, дизайна баз данных и онтологий, которые затрагивают личные имена людей.

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

                  Читать дальше →
                • Не планом единым

                    Не планом единым Навеяно топиками о книге Rework, самой книгой и топиком "Почему программисты срывают сроки". Я постараюсь рассказать, почему за один месяц изменилось мое отношение к планированию и работе с командой, не без помощи книги от 37signals.

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

                    С самого начала мой неосознанный подход к работе был прост — что-то вроде «кто, если не мы». Так, я не мог пройти мимо возникшей проблемы, зная, что при этом простаивает все предприятие, или же она вызывает у меня чувство внутреннего дискомфорта. В небольшой команде особо остро чувствуется взаимодействие между людьми, поэтому в момент, когда один человек выпадает из общей цепочки, начинаются проблемы. Зачастую, именно мне приходилось их решать, в силу своей разносторонней подготовки выучки (ну, или какого-никакого опыта). Спустя откровенно небольшое время я внутренне оброс набором правил, которые озвучить постороннему человеку вот так сходу не получится — он просто рассмеется в лицо. Это и приобретенные мелочи (например, выхваченные из «Руководства» того же Лебедева), то есть знания, о происхождении и истории которых неподготовленному человеку, то есть мне, приходится только смутно догадываться, и полученные в ходе работы собственные навыки.
                    Так в чем же суть?
                  • PHP: фрактал плохого дизайна

                    • Translation

                    Предисловие


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

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

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

                    PHP — препятствие, отрава моего ремесла. Я схожу с ума от того, насколько он сломан и насколько воспеваем каждым уполномоченным любителем нежелающим научиться чему-либо ещё. У него ничтожно мало оправдывающих положительных качеств и я бы хотел забыть, что он вообще существует.
                    Читать дальше →
                  • История одного уральского стартапа



                      Я решил написать подробный рассказ (серьезный, несмотря на картинку) о том, как появился и развивался наш проект 9facts, как мы представляли его Стиву Бланку, участвовали во всероссийском инновационном конвенте и двух StartupPoint-ах, а так же обо всех проблемах, с которыми столкнулась наша команда. История еще далека от завершения — пожалуй, сейчас у нас наиболее сложный и драматичный период: уже известно, что именно не работает, и примерно ясно, в какую сторону нам стоит двигаться, но времени на принятие решений не так много, так как первые "поднятые" нами инвестиции подходят к концу. Думаю, такая история вполне типична для стартапа.

                      Приготовьтесь — рассказ будет длинным, но я постараюсь сделать его интересным.
                      Читать дальше →
                    • RubyMotion: нативные iOS приложения на Ruby (перевод)


                      В 2007 году Лоран Сансонетти, разработчик из Apple, основал проект с открытым исходным кодом MacRuby. Его целью было создание интерпретатора Ruby поверх среды исполнения Objective-C, который бы обеспечивал прозрачное взаимодействие между Ruby и экосистемой OS X «Cocoa» — и ему это удалось. Теперь Сансонетти надеется сделать что-то подобное и под iOS.

                      Читать дальше →