• Вам больше ничего не принадлежит

    • Translation
    Предисловие переводчика

    После запуска Google Drive по интернету прокатилась очередная волна недовольства условиями использования сервисов Google. На самом деле проблема TOS присуща практически всему современному интернету. Мне показалась интересной статья, пусть не бесспорная и не слишком глубокая, но доступно описывающая ситуацию.

    Вам больше ничего не принадлежит

    Не переживайте об условиях использования Google Drive, посмотрите на условия использования у всех сервисов. В интернете мы с вами — товары на распродаже.

    Вдумчиво ли вы читали условия использования (TOS) на сайтах вроде Google или Facebook? Или спрошу по-другому: читали ли вы условия использования на достаточном количестве сайтов? Если да, вы легко узнаете пример: после более или менее длительного предисловия, напоминающего прочистку горла, большинство условий подходят к печальному пункту:

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

    Для большинства людей этот пункт — самый значимый. Это как раз то место, где каждая компания, с которой вы общаетесь в онлайне — Facebook, Pinterest, Microsoft или, как в вышеприведенном случае, Google — объясняет вам, прямо в ваше простоватое лицо, что загружая ваш контент, вы его отдаете. И хотя этот отрывок написан наиболее ясно, вас не покидает чувство, что вы стали жертвой мошенничества. Именно он “достает” вас в интернете.
    Читать дальше →
  • Почему я ушел из Google

    • Translation
    Ну хорошо, я сдаюсь: все хотят знать почему я ушел. А так как ответить каждому отдельно невозможно, вот вам изложение в длинной форме. Прочтите немного (я дойду в кульминации в 3-м абзаце) или прочтите всё. Но начну с предупреждения: здесь нет ни драмы, ни сверхинтересных деталей, ни избиения бывших коллег, и вообще нет ничего, о чем вы не могли бы догадаться сами из того, что ходит в прессе вокруг Google и ее отношения к разработчикам программ и конфиденциальности пользовательских данных. Это просто мой личный рассказ.

    Покинуть Google было непростым решением. За время моей работы там я стал довольно страстным поклонником компании. Я выступал на четырех Google Developer Day, на двух Google Test Automation Conferences и был плодовитым участником блога Google Test. Рекрутеры часто просили меня помочь уговорить очень перспективных кандидатов на работу в компании. Меня никто не должен был просить дважды для поддержки Google, и никто более меня не удивился тому, что я не смог это продолжать. На самом деле последние три месяца работы в Google были вихрем отчаяния в тщетной попытке вернуть прошлую страсть.
    Читать дальше →
  • NewsTrust: главное не количество, а качество

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

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

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

      Ядро социальных новостных фильтров составляют люди, независимо от ширины их кругозора имеющие свое субъективное мнение и, в большинстве случаев, объединяющиеся в группы именно по признаку совпадения этого самого мнения. В результате даже на миллионном Digg мы частенько видим откровенно недостоверные новости на главной странице, только потому, что изложенные в них «факты» пришлись многим по душе. Об одном из последних громких примеров — новости о том, что Sony, якобы, официально сдалась Microsoft в борьбе игровых консолей, можно прочитать здесь.

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

      Решить проблему хотят многие, но самое удачное пока, на мой взгляд, решение воплощается сейчас в проекте социальной сети NewsTrust. Бывший журналист и сотрудник Apple и Macromedia, Фабрис Флорин (Fabrice Florin) придумал простую в своей гениальности идею. Каждый материал оценивается с помощью старой как мир пяти-бальной системы по каждому из 6 параметров: общая рекомендация (стоит ли вообще новость внимания), доверие к новости, информативность, непредвзятость, обоснованность (качество первичных источников информации), ясность контекста (понятна ли полная картина). В итоге, когда накопятся оценки от достаточного числа пользователей, рядом с заголовком каждой новости отображается их средняя величина в виде звездочек. Свою оценку впоследствие можно изменять сколько угодно раз.

      Голосовалка NewsTrust

      Плюсов у такого подхода два. Во-первых, прежде чем оценить материал (на NewsTrust этот процесс даже называется «to review», что гораздо более значительно, чем просто проголосовать), пользователю дается достаточно поводов для начала трезво взглянуть на вещи. А во-вторых, посетители ресурса могут быть абсолютно уверены, что в ленте главных новостей они увидят актуальные, написанные грамотным языком новости, или, по выражению Флорина, продукт «качественной журналистики».

      Бизнес-модель у проекта в общем обычная: реклама, пожертвования от доброжелателей и предоставление услуг компаниям, заинтересованным в получении объективного общественного мнения о себе.
    • Электронная подпись физического лица (часть 2)

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

          Я несколько раз начинал писать эту статью, но каждый раз она выходила не такой, как планировалась. Сначала я захотел лишь разбавить одинаковые, словно близнецы, анонсы и обзоры планшетов на Android 3.x и рассказать про общие отрицательные впечатления, основанные на работе с тремя разными планшетами на Honeycomb (не считая двух на Андроиде 2.х). Затем идея показалась не столь привлекательной: обзоры недостатков того или иного гаджета стремятся перейти в “высокоинтеллектуальную” дискуссию вида “сам дурак, у меня все работает”. Последующие версии статьи не нравились мне потенциальным приглашением к холивару, коим воспринимается любая критика Google, а холивары я ненавижу. В конце концов я решился, так как внезапно сформулировал что именно мне не нравится в Андроиде.

          С обзорами планшетов у нас вообще какая-то беда. Всё будто под копирку: перечисление тактико-технических характеристик, маркетинговых лозунгов, внешний осмотр и парочка достоинств/недостатков, особенно сильно бросающихся в глаза. Оно и понятно: учитывая среднее время жизни сегодняшних гаджетов, у обозревателя есть максимум полчаса до появления следующего продукта. Но ежедневное применение и встраивание планшета в собственный развлекательный или рабочий цикл не имеет ничего общего с количеством ядер у Тегры и их тактовой частотой. И даже текущие баги не имеют ничего общего (следующая прошивка исправит этот баг и внесет два новых), поэтому я попытаюсь обратить ваше внимание на короткий список *системных* недостатков планшетов на ОС Android 3.x, присущих всей аппаратно-программной системе, а не конкретной реализации какого-либо одного. Повторюсь, оценки недостатков сугубо личные. Положительные качества Android тысячи раз всеми возможными способами доведены до потребителя; я знаю десятки людей, не испытывающих ни единой проблемы в использовании телефонов и планшетов, да и сам не сильно от недостатков страдаю. Тем не менее, мне любопытно насколько хабрасообщество разделит мои выводы.
          Читать дальше →
        • Как понять, хорош ли ваш проект для инвестора: чеклист стандартных грабель стартапа


            Бизнес-ангел часто смотрит на стартаперов с недоумением

            Предположим, вы придумали какое-то железо, и теперь хотите начать его производство. У вас уже есть прототип: вот он, в руке, коряво выглядит, в 4 раза больше нормального размера и из него торчит провод. Но он работает. У вас горят глаза: ведь осталось только «допилить» его и начать производить по всему миру. Из маркетингового плана у вас есть только «запостить про железку на Хабр – и всё закрутится».

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

            Так вот, я занимаюсь тем, что отбираю стартапы для крупных и действительно крупных инвестиций. Ниже я хочу рассказать вам о том, как оценка проекта выглядит «с той стороны» для компаний, рассчитывающих не «срубить бабла по-быстрому», а готовых вкладываться в длинные проекты.
            Читать дальше →
            • +115
            • 72.1k
            • 51
          • Будьте добры к программистам

            • Translation
            — Тебе так повезло, что ты программист. Хотел бы я быть программистом.
            — А почему ты не научишься?
            — Я пытался, заходил на codeacademy и другие сайты, но это не моё.
            — Да, программирование, действительно, не для всех.
            — Тебе хорошо платят и ты можешь создавать разные вещи. Почти каждый день к тебе поступают сумасшедшие предложения минимум на 100 тысяч долларов.
            — Да, это очень лестно. Немножко сносит крышу, если честно.
            — Ты получаешь свою долю в компании, все уважают инженеров. Ты можешь воплотить любую идею в приложение и стать богатым. И тебе не нужно для этого никого нанимать.
            — Вообще-то программирование делает меня несчастным.
            Читать дальше →
          • Наберитесь смелости сделать не как все. 12 устаревших интерфейсных и технологических решений

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

              Подтверждение пароля или email при регистрации


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


              Читать дальше →
            • Что нужно делать смолоду или как стать богатым айтишником


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

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

              Нужно заметить, что три года назад, я и сам не знал этого принципа, и мне даже пришлось продать свою машину, чтобы выплатить долги. Но я не расстроился – я уже знал этот принцип и был уверен, что у меня получится стать богатым. Ведь если ты действуешь исходя из этого принципа, то настоящее богатство – лишь вопрос времени. И я не ошибся.
              Не важно, кто ты – дизайнер или программист, но я уверен, если ты тоже последуешь ему, то станешь богатым.
              Ближе к делу
            • ObjectScript — новый язык программирования

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

              ObjectScript — новый объектно-ориентированный язык программирования с открытым исходным кодом. Сами исходники занимают 459 Кб (парсер, компилятор и виртуальная машина) и находятся в двух файлах source\objectscript.h и source\objectscript.cpp. Скачать их можно по прямой ссылке тут. ObjectScript — очень легкий, предназначен для вставки в приложение на C++.

              ObjectScript сочетает в себе возможности таких языков, как JavaScript, Lua и PHP. Например, синтаксис в основном взят из JavaScript, множественное присваивание — из Lua, работа со свойствами через перегружаемые методы — из PHP.

              Кроме унификации нескольких существующих языков программирования, ObjectScript добавляет также и свои уникальные и полезные фишки.
              Читать дальше →
            • Web-технология vs Скорость разработки и производительность

                Продолжая тему предыдущего поста, прокомментирую слова tushev:
                А еще интерфейс в старинной OS/2 требовал на порядки меньше ресурсов CPU и памяти.
                Да, это действительно так – на порядки.

                У меня нет универсального решения, и конечно я понимаю, что есть реальность, данная нам сегодня в ощущениях (исторические наслоения в виде HTML и CSS всех версий, HTTP). И очень тяжело что-либо изменить глобально. Но я хочу, чтобы каждый разработчик задумался над абсурдностью современного состояния дел в web-технологии. Иначе кардинального решения не будет ни у кого и никогда. Поэтому приведу факты, наводящие на размышления.

                Пример UI 20-летней давности, который я предлагаю сначала воспроизвести всем апологетам HTML и CSS на этих языках, прежде чем минусовать «карму»:



                поговорим об этом, flame on!
              • Kickstarter изменил правила публикации проектов

                  20-го сентября Кикстартер по-тихому обновил правила публикации проектов на площадке. Вернее сказать, обновились они в обычном порядке, просто сообщество в эти дни было погружено в бурления вокруг 3D-принтера Replicator 2 (о чём писали на Хабре) и практически не обратило внимания на крайне серьёзные, на мой взгляд, изменения в регламенте оформления проектов на kickstarter.com которые делают эту площадку заметно взрослее.
                  Что там может быть нового?!
                • Двойная звезда nanoCAD: бесплатный 3.7 и платный 4.0



                    Лето 2012… Проект nanoCAD, разрабатываемый нашей компанией, претерпел существенные изменения: из бесплатного nanoCAD выделилась платная версия. Можно сказать, что мы прошли первую ступень Star(T)Up’а – nanoCAD крепнет и развивается. Далее путешествие по бескрайним просторам САПР-космоса будут осуществлять две (одинаково важные для нас) версии nanoCAD.

                    О причинах разделения, различиях и наших планах на будущее – в статье ниже.
                    Читать дальше →
                  • Миллион одновременных соединений на Node.js



                      TL;DR:


                      • Node.js v0.8 позволяет обрабатывать 1 млн одновременных HTTP Comet соединений на Intel Core i7 Quad/16 Gb RAM практически без дополнительных настроек.
                      • На 1 соединение тратится чуть больше 10 Kb памяти (4.1 Kb Javascript Heap + 2.2 Kb Node.js Native + 3.8 Kb Kernel)..
                      • V8 Garbage Collector не рассчитан на управление > ~500Mb памяти. При превышении нужно переходить на альтернативный режим сборки мусора, иначе «отзывчивость» сервера сильно уменьшается.
                      • Подобный опыт можно (и нужно!) без особых затрат повторить самому (см. под катом).

                      Читать дальше →
                    • Библиотечка datef — форматирование дат

                        Разрешите представить datef — мини-JS-библиотеку вывода даты в разных форматах.
                        Вкратце опишу имеющиеся фичи:
                        • Выполняет одну и только одну задачу: вывод дат в разных, потребных юзеру форматах;
                        • Работает в nodejs и в браузерах. В браузерах может работать как requirejs/amd-модуль;
                        • Не мусорит в прототипах встроенных объектов;
                        • Написана в strict mode;
                        • Обильно аннотирована в js-doc-формате;
                        • Не имеет внешних зависимостей.

                        Примеры использования:
                        datef('dd.MM.YY', new Date()); // "13.08.12"
                        datef('dd.MM.YY'); // второй аргумент необязателен — берется «сейчас»
                        
                        var d = new Date();
                        d.setFullYear(2045);
                        datef('dd.MM.YYYY', d); // "13.08.2045"
                        
                        // есть несколько заранее заданных форматов:
                        datef.formatters.ISODateTimeTZ(); // "2012-08-13T15:01:29 -04:00"
                        
                        // можно определить и сохранить свой…
                        datef.register('myFormat', 'd.M.YY');
                        datef.formatters.myFormat(); // "13.8.12"
                        
                        // или просто получить его как отдельную функцию
                        var myFormat = datef.createFormatter('d.M.YY');

                        Копание во внутренностях и лирические отступления
                      • HTML5 Audio — состояние дел. Часть 2

                        • Translation
                        (Статья специалиста по фронтенду и медиатегам Марка Боаса (Mark Boas) от 8 мая 2012. Перевод заключительной части. Начало дало понять, что придётся попотеть, прежде чем освоить всю кухню, а ведь это ещё развивается… Не ждите коротких рецептов.)

                        Содержание первой части:
                        ■ Типы MIME
                          ● Серверная часть
                          ● Клиентская часть
                        ■ Заранее узнать тип аудио поможет .canPlayType (наверное)
                        ■ Текущая поддержка кодеков в браузерах
                        ■ Форматы контейнеров и расширения файлов
                        ■ Мы имеем тег <audio> и не боимся его использовать!
                        ■ Буферизация, поиск и интервалы воспроизведения
                          ● Атрибут buffered
                          ● Объект TimeRanges
                            ● Атрибуты seeking и seekable
                        Итак, на чём мы остановились? На свойстве seekable
                        • +30
                        • 19.3k
                        • 4
                      • Альтернатива Arduino от Texas Instruments за $4.30

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

                        Компания Texas Instruments, для продвижения в массы своих контроллеров MSP430, предлагает дешевую ($4.30) отладочную плату LaunchPad (MSP-EXP430G2). Внешне она напоминает Arduino, но, естественно, с ней не совместима. В комплекте с платой щедрые техасцы кладут сразу два своих микроконтроллера серии Value Line в DIP-корпусах: msp430g2553 и msp430g2452.

                        LaunchPad
                        Читать дальше →
                      • Извечный вопрос: CMS или свой движок

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

                            Недавно решил проверить одну гипотезу. Результаты оправдали и превзошли ожидания.
                            Идея очень простая. Хакеры тоже люди и тоже используют файлобменники. Соответственно,
                            если порыбачить на тему паролей в открытом доступе, то скорее всего что-нибудь да попадется.
                            Как я уже говорил, кто ищет, тот всегда найдет. Подробности под катом.


                            Читать дальше →
                          • Инъекция Excel-формул в Google Docs

                              Все вы наверняка знаете о программе от компании Google по поощрению исследователей в области информационной безопасности за предоставление информации о слабых местах на веб-ресурсах Google. Удалось и нам поучаствовать в данной программе. Вот небольшая история от меня и Леши Синцова d00kie.

                              Однажды нам очень понадобилось провести небольшое анкетирование, и в качестве платформы для анкеты было решено использовать Google Docs.
                              В Google Docs существует такой объект, как Google Forms, и используется он, как это понятно из названия, для создания разного рода форм, опросов и анкет.



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