• Как программируют слабовидящие программисты?

    • Перевод

    От переводчика

    Что это за пост? Он не похож на статью


    Это действительно не статья. Это компиляция самых интересных, на мой взгляд, ответов на заглавный вопрос: «Как программируют слабовидящие программисты?» из обсуждения на Quora.com.

    Почему я сделал перевод?


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

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

    Это не так. Совсем не так.

    Нет никаких специально обученных разработчиков.

    Нет никакого особого веба.

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

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

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

    Читать дальше →
  • 30 советов, как эффективно трудиться и не сойти с ума, работая дома

    • Перевод
    Тем, кому знакомы прелести работы дома (на себя, фрилансером или удаленно на ставку), также знаком соблазн поваляться на диване и затягивание сроков.

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

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

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

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

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

        — Чувак, наточи топор!
        — Да некогда мне! Дрова нужно рубить!


        Далеко не каждый хабраюзер может позволить себе систематический курс скорочтения, будь то «Доминанта» Олега Андреева (как одна из ступеней комплексного интеллектуального развития), или «Техника быстрого чтения» Хромова. В этой статье я попытаюсь простым языком описать основные приёмы, которые можно легко запомнить и стараться применять их на практике без отрыва от работы, или учёбы.

        Читать быстро
      • Как я завел дружбу с асинхронностью в JavaScript

          JavaScript встречает разработчиков асинхронностью можно сказать чуть ли не с порога. Начинается все с DOM-событий, ajax, таймерами и библиотечными методами, связанными с анимацией (например jQuery-методы fadeIn/fadeOut, slideUp/slideDown). В целом, это все не очень сложно и разобраться с асинхронностью на этом этапе не представляет проблем. Однако, как только мы переходим к написанию более или менее сложных приложений, в которых комбинируется все вышеуказанное, асинхронный поток может сильно затруднить понимание происходящего в коде. Цепочки асинхронных действий, например, анимация > ajax-запрос > инициализация -> анимация, создают достаточно сложную архитектуру, которая не подчиняется строгому направлению «снизу верх». В этой статье я намерен рассказать про свой опыт преодоления трудностей связанных с асинхронным JS.
          Читать дальше →
        • Методы в примитивных типах PHP

          • Перевод
          Некоторое время назад назад Энтони Феррара выразил мысли по поводу будущего PHP. Соглашусь с большинством его взглядов, но не со всеми. В статье я остановлюсь на одном конкретном аспекте: преобразования примитивных типов данных, таких как строки или массивы, в “псевдо-объекты”, позволяя выполнять в них вызовы методов.

          Начнем с нескольких примеров:

          $str = "test foo bar";
          $str->length();      // == strlen($str)        == 12
          $str->indexOf("foo") // == strpos($str, "foo") == 5
          $str->split(" ")     // == explode(" ", $str)  == ["test", "foo", "bar"]
          $str->slice(4, 3)    // == substr($str, 4, 3)  == "foo"
          
          $array = ["test", "foo", "bar"];
          $array->length()       // == count($array)             == 3
          $array->join(" ")      // == implode(" ", $array)      == "test foo bar"
          $array->slice(1, 2)    // == array_slice($array, 1, 2) == ["foo", "bar"]
          $array->flip()         // == array_flip($array)        == ["test" => 0, "foo" => 1, "bar" => 2]
          

          Здесь $str — это обычная строка и $array является простым массивом — они не объекты. Мы просто даем им немного объектного поведения, позволяя вызывать в них методы.

          Обратите внимание, такое поведение совсем не за горами. Это уже не сон, кое-что уже существует прямо сейчас. PHP расширение scalar objects позволяет определить методы для примитивных типов.

          Читать дальше →
        • Кто возьмёт билетов пачку… или о монетизации игровых приложений

            image

            Первый пост был вступительным и рассказывал больше о направлениях продаж внутри игры, нежели на их применение.
            Напомню, что в данном посте речь пойдёт о казуальных играх в соц. сетях.
            Прежде чем читать нижеприведённый текст, я попрошу всех отринуть от себя всё человечное, что в вас есть. Далее речь пойдёт только о деньгах и о том, как эффективнее их заработать.
            Читать дальше →
          • NeoAxis Game Engine 1.0 наконец-то увидел свет

              Хочу опубликовать топик, обзор релиза кросс-платформенного игрового движка NeoAxis, так как у авторов пока нет аккаунта на Хабре. Далее от первого лица:

              Уже более шести лет мы (компания NeoAxis Group) ведем разработку нового игрового 3D движка, начинавшегося как задумка энтузиаста-одиночки, но превратившегося в полномасштабный проект, над которым теперь работает международная команда специалистов. После стольких лет упорного труда мы рады сообщить, что NeoAxis Engine достиг версии 1.0!

              Читать дальше →
            • Цифры, числа и числительные

                По следам хабралинча имени Рюмкина коснёмся темы правильного типографического оформления чисел. В голову пришли следующие темы, если что-то вдруг забыто — пишите в комментариях, добавлю в статью.
                • Минускульные и маюскульные цифры
                • Целые числа и десятичные дроби
                • Простые дроби
                • Буквенные сокращения (тысяча, миллион, миллиард)
                • Диапазоны
                • Порядковые числительные и числительные в составе сложных слов
                Ещё в комментариях к хабралинчу возникло интересное обсуждение согласования и управления при употреблении порядковых числительных, но это, как мне кажется, скорее отдельная тема для блога Пишу правильно.

                Читать дальше →
              • Студия Лебедева — назад в прошлое или Сколько стоит сделать сайт?

                  «Сколько стоит создание веб-сайта у Лебедева?»

                  «Добрый день. Я Артемий Лебедев. Я являюсь главным художником, основателем и дизайнером студии, которая со вчерашнего дня называется дизайн-студия Артемия Лебедева, бывшая Web Design. С сегодняшнего дня она переименована. Процесс переименования заключался в замене двух gifов.

                  Тема моего доклада — сколько стоит сайт? Я надеюсь, что первая половина доклада будет занята моими мыслями, а вторая — вашими вопросами и моими ответами, соответственно. Собственно, стоимость сайта — это самое неинтересное, что есть в истории его создания, как для меня, так и для заказчика, потому что серьезный заказчик мало волнуется о тех деньгах, которые тратятся на сайт.

                  С чего начинается сайт? С чего начинается сайт в частности у веб-студии, которую я, может быть не без ложных оснований считаю одной из самых успешных, и чем отличается то, что я делаю от того, что существует вокруг меня, с той точки зрения, как я это оцениваю? Сайт, который делает моя студия, и вообще вся деятельность студии направлена на то, чтобы в каждом шаге все наши действия были профессиональны. Мы стараемся делать так, чтобы вся наша работа, все наши действия по общению с заказчиком, все наши общественные выступления, реклама и т.д. были рассчитаны на будущее. У нас нет задачи заработать копейку сегодня, пока ее платят, а завтра заняться чем-нибудь еще. Если бы я преследовал такую цель, то я занимался бы сайтами за 500$. Если бы я завтра объявил такую политику, то у меня через неделю было бы 500 заказчиков, которые за такую сумму хотели бы заказать сайт. Я заработал бы столько денег, сколько за всю свою жизнь успел бы сделать. Я не преследую такой цели по соображениям профессиональности того продукта, который мы делаем. Кто не знает, я скажу, что в моей студии работает 10 человек — это люди, которые занимаются непосредственно созданием сайта: разработкой, поддержкой, общением с заказчиком и т.д. А я разрабатываю дизайн и определяю концепцию, политику и идеологию.

                  Какая сейчас ситуация складывается на нашем отечественном рынке веб-дизайна? Существует какое-то количество студий. Из них процентов 70 сразу можно не считать студиями, потому что это частные люди: школьники и студенты, которые пришли в Интернет, написали: „Мы занимаемся веб-дизайном“, и сразу попали во все каталоги, Желтые страницы, журналы и т.д. Все сразу считают, что они действительно дизайнеры. А у них нет ничего. У них даже нет своего телефона, который можно разместить на сайте, потому что они сидят дома, им жалко и мама будет ругать, если будут звонить. Поэтому они дают только E-mail. Этих людей мы не считаем. Существуют и другие, но с ними тоже тяжело работать, определять картину профессионального рынка с учетом них, потому что они не хотят играть в профессиональный рынок. Это связано с деньгами тоже. Скажем, с этими людьми, как минимум, нельзя договориться, чтобы они не сманивали сотрудников. Первое, что происходит в любой цивилизованной индустрии — основные игроки заключают такой договор „о несманивании“, который соблюдается. Это совершенно нормально и естественно. Как максимум, с ними нельзя договориться о ценовой политике. К этим людям нельзя прийти и сказать: „Нам можно договориться так: вы считаете себя серьезной студией? Отлично. Давайте решим6 что сайты, которые делаем мы, не стоят меньше, чем 10000$.“ Люди могут сказать: „Отлично. Мы согласны.“ Но завтра они возьмут сайт за 2000$. Они не готовы подождать, пока подойдет крупный заказчик. Они готовы брать все, что сейчас дают, любые заказы. Это относится ко всем студиям, которые я знаю. Есть заказчики, которым я отказывал, потому что они мало предлагали и я знаю, куда они потом уходили. При этом я совершенно точно знаю, что бюджет на увеличился за это время ни на один цент.

                  Из чего состоит создание сайта? В первую очередь, еще до того… Не бывает такого, чтобы человек позвонил вам в студию и спросил, сколько стоит сайт, а мы ему сказали — столько-то и он либо соглашается, либо не соглашается. Такого не происходит. Это все равно, что инвестор и кинопродюсера спросит: „Сколько стоит пять кино?“ Тот говорит: „Миллион“. Не возможно себе такую ситуацию представить, потому что есть предложение проекта на бумаге. В этом предложении висит ярлык с ценой, которая ищет своего заказчика. Это то, как поступает в данном случае моя студия. Встречаясь со своим заказчиком на самом первом этапе, мы пишем ему бумагу — 20 страниц текста, где мы предлагаем, что мы можем для него сделать, т.е. пишем концепцию. Эта концепция перехлестывает все мысли заказчика, которые у него были до того, как он к нам пришел. Он пришел, он хотел: сайт, в котором будет написано „о компании“, их адрес и их E-mail, „клиенты“ и „партнеры“. Все. Вот эти вещи мы сразу выкидываем и предлагаем ему то, что больше для него подходит. Мы стараемся как можно больше узнать о этой фирме, понять чего она хочет, предложить те решения, которые сейчас в Интернете еще оригинальны. Составляется такая вот бумага. У нее уже есть какая-то цена. Она каждый раз разная. Минимум — это 10000$. Средний контракт только на дизайн сайта, что является примерно 1/5 частью работы по созданию сайта, стоит порядка 30000-40000$. Это самая-самая начальная цена, которая берется за сайт, у которого главная страница, основные какие-то элементы: содержание, концепция и т.д.

                  Что происходит потом? Какие еще есть вещи, которые влияют на цену в большую сторону? Программирование. Для каждого сайта, который мы делаем, если это не совсем микроскопический сайт, типа almaz.ru, где 6 страниц текста и больше ничего нет, а нормальный — mtelecom.ru или xerox.ru например, — это сайты, где 2500 страниц текста, которые они нам дали, пишут специальные программисты. В моей студии два программиста, которые пишут специальные базы и специальные инструменты, которые обеспечивают очень легкую работу в дальнейшем с этим сервером. Например, если мы договорились с заказчиком, что поддерживать будет он сам, у него есть веб-мастер, то делается все, что бы этому веб-мастеру всю работу облегчить как можно больше. Ему не приходится, например, лезть в компьютер под Новый год и менять на всех 2000 страницах дату с 1998 на 1999 — он изменяет ее в одном месте, она автоматически меняется на всем сервере. То же самое с заливкой текста, заливкой картинок и т.д. — все системы автоматизированы. Есть такой сайт закрытый, который называется rfn.ru. На первой странице простой человек ничего не видит — все для инвесторов, для финансистов и только по-английски. Но журналисты, которые пишут эту информацию, каждый день пишут огромное количество статей для этого сервера, они HTML вообще не знают. У них есть специальный редактор на сайте, который скопированный из Word текст автоматически кладет на сайт, тфм текст автоматически кладется в директорию, на него автоматически ставится ссылка, в этом документе автоматически прописывается заголовок, этот документ сразу можно найти через поисковую систему сайта и т.д. Т.е. примерно те же механизмы, которыми пользуются на всех крупных западных сайтах, таких как ZDNet, CNet и т.д. Никто не занимается ручной обработкой, это вещь, которая должна отмереть, засохнуть и отпасть. Она годится только для мелких частных сайтов и будет жива, пока будет жив Вася Пупкин — всегда, но очень мало. Программирование стоит тоже каких-то денег. Обычно это 10000-20000$ добавляем.

                  Вот готов, собственно говоря, сайт, в нем есть текст и т.д. Это еще только самое начало, потому что о сайте никто пока не знает. С ним нужно что-то делать. Если его просто положить в Интернет по своему любимому адресу www.фирма.ru, то скорее всего, никто туда не придет, даже если напечатать этот адрес на визитках или повесить у себя в магазине. Народ на это никогда не среагирует, это все ходы пока неэффективные. В нашей стране, в передачах, которые посвящены Интернет, компьютерам и т.д., человек может сколько угодно говорить про свой адрес — как результат, обычно 10 человек приходит после передачи, что совершенно неэффективно. Поэтому дальше тратятся большие достаточно деньги, в зависимости от амбиций, желаний и потребностей заказчика, на раскрутку, на то, чтобы этот ресурс со своего первого „Я“ автоматически позиционировался, как мы говорим, у жителей Интернета, чтобы все сразу знали, что появился такой ресурс, у него такие-то намерения, такие-то планы, он предлагает это, на этом сайте можно сделать то-то и т.д. Это отдельные вещи, которые, понятно, никак не входят в первоначальную стоимость сайта.

                  Что входит в такие усилия по раскрутке? В первую очередь это специальные в „бумажной“ прессе. Это не просто реклама 5х10 см, где написано www.фирма.ru, поскольку это работает, но в очень редких случаях: слово price хорошо звучит, а если бы я написал еще что-нибудь, например DDC, то получается для человека совершенно все равно DDC или CDC. Он просто не запомнит этот адрес, никогда туда не пойдет и он ни с чем хорошим у него не проассоциируется. Есть специальные статьи в больших парадных изданиях. Это все происходит не единовременно, а постепенно, обстоятельно. Существует баннерная реклама, о которой я буду говорить завтра. Это один из самых сильных инструментов, но опять же это зависит от того, как им пользоваться. Если просто взять баннер, на нем написать www.фирма.ru и повесить его в сеть, то результат будет никакой.

                  Существует много специальных мест в сети, которые предназначены специально для оповещения людей о том, какие существуют новые проекты: это сетевые обозреватели, сетевые системы анонсов, места со ссылками, страницы у провайдера, которые на самом деле такие очень властные рекламные места, которые провайдер никому не отдает, поэтому туда попасть — большая честь. У них есть ссылочка „Ресурсы сети“ и если вас туда поместят, то значит большой трафик будет оттуда. Плюс еще есть какие-то места для ссылок в Интернет. Например, очень смешно было мне обнаружить, что на мой сайт metro.ru, который сидит себе в Интернете и сидит, ходит огромное количество народу, примерно человек 300 в день, что для такого места очень много, собственно из метро, потому что у многих людей стоят Интернет-киоски, на станции Курская например или еще где-то. Какой я делал интерфейс к этой системе? Там просто такой замаскированный Explorer, Интернет-подключение идет по каналам, которые в метро проложены, и там есть ссылки на разные ресурсы. В частности, есть ссылка на metro.ru. Народ стоит в метро в переходе, ходит по моему сайту и изучает жетоны 30-х годов. Есть такие нетрадиционные рекламные места, о которых никто не догадывается, откуда берется трафик. Это еще одна область, куда заказчик хочет войти. Он платит за это деньги, что всегда заранее оговаривается, потому что бывают ресурсы, которые я знаю, что я могу за них взяться, а бывают ресурсы, которые настолько неинтересны, что я даже делать их не могу, не могу сказать ни одного слова, ни нарисовать ни одного баннера, хоть убейте.

                  В результате получается, что для того, чтобы сделать сайт, сделать его первоначальную раскрутку, т.е. всю информацию, программирование и известность, скажем, на первый месяц, это все вылетает заказчику в 60000-100000$. Помимо этого существует поддержка. Поддержка — это одна из основных вещей, на которой существуют дизайн-студии вообще, потому что делать дизайн постоянно очень мало кому удается. В моей студии готовых работат больше, чем у кого либо еще — это от 2 до 4 работ в месяц. Все остальные студии делают минимум в 2-4 раза меньше. Не существует такого количества заказчиков, которое могло бы захлестнуть все эти студии и получить от них соответствующее количество дизайна. Эти студии должны на что-то жить, потому что один сервер в месяц не позволяет содержать студию никаким образом. Если есть один заказчик, работа длится над сервером месяц или два. Месяц или два работы десяти человек не может стоить меньше 10000$. Поэтому получается, что заказчик еще пишет контракт на поддержку еще на два, на два, на два. Тогда он делает эту студию своим официальным Интернет-партнером, который решает все проблемы: когда нужно, она следит за всем, что у заказчика происходит. Заказчик целиком считает Интернет-студию своим рекламным агентством, своим представителем. Это очень важно, потому что до этого год назад никто серьезно Интернет с этой точки зрения не рассматривал. Все считали, что можно им пользоваться, что если деньги какие-то есть, прийти в дизайн-студию — будет красиво. Сейчас эта ситуация меняется. У нас уже есть очень серьезные фирмы, у которых есть рекламные агентства в оффлайне, которые размещают рекламу в газетах, на телевидение, на рекламных щитах, на радио. А есть люди, которые занимаются всем тем же в Интернете. Рекламные агентства, ни одно из рекламных агентств — любое возьми — они про Интернет ничего не слышали, у них даже E-mailа нет. Поэтому фирма им не заказывает, потому что им позвонишь, спросишь: „Сделаешь то-то в Интернете?“. А на самом деле окажется, что они ничего не делают и стараются от этого дела отойти. У крупных фирм сейчас тенденция привлекать Сетевые дизайн-студии в качестве своих основных Интернет-партнеров, которые собственно и будут говорить, что им делать. Т.е. им клиент только платит деньги и рассчитывает на то, что те знают, что говорят. Когда проходит определенный срок контракта, на студию смотрят. Если у нее результаты хорошие: сайт стал в сто раз более посещаемым, народ заказывает, служба поддержки ничего не делает, так как люди не звонят туда, а скачивают все из Интернета. Тогда контракт с тобой продлевают. Если нет, если ты сделал серию действий, которые этот сайт погубили, то никто с тобой контракт продлевать не будет. Но в тот момент, когда ты общаешься с этой фирмой, она тебе ничего не говорит, просто верит твоим словам, поскольку она тебя уже выбрала. Она знает, что ты занимаешься этим делом профессионально, а у нее все равно нет штата людей, который мог бы делать то же самое, но лучше — откуда у фирмы, которая никак не специализируется в Интернете, вдруг возьмется профессионал, который будет знать лучше, чем специализированное агентство по дизайну, по раскрутке, по маркетингу и т.д.? Поэтому такой контракт на поддержку стоит тоже много.

                  В результате получилась такая картина стоимости сайта в России. Но она все равно отстает от американских цен двухлетней давности, потому что два года назад в Америке достаточно крупный сайт стоил от 40000$ до 500000$. Просто меньше 40000$ никто не брал, это был позор. В России еще нет таких цен, потому что, с одной стороны, у нас нет фирм с таким оборотом. Фирма-заказчик не может себе позволить тратить 30 млн. $ в год на рекламу и контент-проекты в Интернете, в России таких фирм нет. Мог бы стать такой фирмой Газпром, но он еще не решился на это. Цены постепенно приближаются. Я думаю, что в следующем году они будут еще в два раза больше. Потом уже начнется еще более интересная ситуация на рынке веб-дизайна: произойдет такая вещь, как редизайн — все студии получат заказы всех своих конкурентов, все заказы пойду по кругу. Люди каждый год будут делать что-то новое: текст будет оставаться, а дизайн будет посвежее. Клиенты будут приходить в другую студию, скорее всего, если даже им не предложат лучше, и попробуют все ото всех.

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

                  И будет происходить слияние компаний из разных областей. Как пример поступили фирма „Махаон“ и дизайн-студия „Е-программа“, которая занимается дизайном и всегда занималась им, а „Махаон“ только в Интернете сидит и его не видно совершенно на рынке профессионального дизайна. Они объединились и назвали объединение „Бюро виртуальных услуг“ и сделали несколько очень хороших сайтов. Это очень правильный путь развития. Это тоже все ближе к осени, когда таких образований будет больше.

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

                  Артемий Лебедев 1998

                  Заранее прошу прощение если эта статья уже 100 раз опубликована, но мне было очень интересно!