• Этика: научный подход к изучению морали. Исходный код политкорректности

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

      image
      Уж что-что, а верно поставить вопрос Аристотель умел

      Почему же учёные не прислушиваются к астрологам, но позволяют себя ограничивать требованиями морали? На западе, по традиции, винят религию — Католическая церковь только рада взять на себя эту ответственность: «Да-да, это мы запрещаем вам делать вот такие эксперименты».

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

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

      Читать дальше →
    • Распределенная природа мессенджера Tox

        Пока правообладатели собираются заблокировать централизованный Telegram, сообщество пользователей распределенного мессенджера Tox растет. Сегодня, согласно статистике сайта www.toxstats.com, Россия занимает второе место после США по количеству пользователей отставая всего на какие-то 30-50 узлов.

        В данной публикации я бы хотел рассказать про распределенную природу данного мессенджера, общие принципы работы DHT-сети Tox, а так же как "догнать и перегнать Америку" по количеству нод.

        tox logo


        Читать дальше →
      • Все способы вертикального выравнивания в CSS

          image

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

          Да, для вертикального выравнивания в CSS есть специальное свойство vertical-align с множеством значений. Однако на практике оно работает совсем не так, как ожидается. Давайте попробуем в этом разобраться.

          Читать дальше →
        • Лучшие бесплатные коллекции векторных иконок

            Привет, Хабр! Сегодня я хочу представить вам огромную коллекцию из 51 набора бесплатных векторных иконок. Да, есть потрясающие ресурсы Flaticon или Iconfinder, но бывают случаи, когда необходима именно группа иконок в едином стилистическом оформлении. Определиться с выбором, вам поможет эта подборка. Я старался собрать не как можно больше, а действительно самое лучшее.

            Среди веб-разработчиков существует много споров о том, что лучше: иконочный шрифт или SVG спрайты? Четкого ответа на этот вопрос нет. Каждый выбирает свое. Данные наборы иконок вас неограничиывают в выборе, поскольку представлены в различных форматах: @font-face, SVG, EPS, AI, PSD, Sketch.

            В целом данная подборка содержит более 10 000 иконок, охватывающих множество категорий: интерфейсы, технологии, наука, спорт, маркетинг, среда, транспорт и тд. Полые, заполненные, цветные, во Flat, Material, Elegant, Cartoon, Hand drawing стилях.

            Responsive Icons (100 иконок, PSD, AI, EPS, SVG)


            Responsive Icons

            Читать дальше →
          • bala.js — убийца jQuery в менее чем 400 символах кода *

            • Tutorial
            * Это шутка.

            image
            (картинка позаимствована где-то в интернете)

            [ Репозиторий ]

            Всем привет.

            Уже давно прошли времена обязательной поддержки 6, 7, 8 Ослов и неизбежного использования jQuery, DOM API постепенно приводится к единому виду, но я всё так же часто встречаю на просторах интернета утверждения о том, что VanillaJS — это длинная колбаса.

            Мол, зачем мне писать вот так:
            document.querySelector('.selector');
            

            Если я могу написать вот так:
            $('.selector');
            

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

            // selects one node matched given selector
            function $(selector, ctx) {
            	return (ctx || document).querySelector(selector);
            }
            
            // selects all nodes matched given selector
            function $$(selector, ctx) {
            	return [].slice.call((ctx || document).querySelectorAll(selector));
            }
            

            Это касается крошечных скриптов. Для крупных проектов, конечно, нужно юзать какой-нибудь фреймворк, который берет на себя все манипуляции над DOM.
            Читать дальше →
          • Полезные сниппеты для Nginx конфигов



              Доброго времени суток, уважаемые хабравчане! В Elasticweb мы негласно ратуем за Nginx и, наверное, мы одни из немногих хостингов, которые не поддерживают Apache и .htaccess соответственно. В связи с этим, большое количество обращений в тех. поддержку связано с оказанием помощи в написании конфигурационного файла для Nginx. Поэтому мы решили собрать коллекцию полезных сниппетов и коллекцию готовых Nging конфигов для наиболее популярных CMS/CMF/Фреймворков на PHP.

              Читать дальше →
            • JavaScript и Nginx = nginScript, а HTTP2 в придачу


                Дело было вечером, делать было нечего, но голова рукам покоя не давала и хотелось чего-то для души… А для души захотелось чего-то новенького, эдакого необычного.

                Я, как и многие из хабровчан, люблю новинки. Релиз нового софта — это как праздник. Новые фичи, новые возможности… Новые способы забивать гвозди и кататься на велосипедах. Новые велосипеды… В общем можно придумать кучу аллегорий и метафор. А про что это я? Ах да, про Nginx, HTTP2 и JavaScript. Чем они связаны, спросите вы? А тем, что в последней версии Nginx (1.9.5) добавили много интересных плюшек, а именно:

                • добавили протокол HTTP2 и удалили модуль SPDY (нафиг старое барахло)
                • интегрировали прямо в nginx модуль ngx_http_js_module и создали свой диалект JavaScript

                Го под кат, расскажу детали.
                Читать дальше →
              • 50 лучших инструментов для разработки CSS и JavaScript

                • Translation
                Веб-разработчику постоянно необходимо быть в курсе появления новых библиотек и инструментов. Я нашёл и выбрал несколько лучших инструментов для разработки как CSS, так и JavaScript. Это не просто копипаста – это выборка, основанная как на рекомендациях, так и на личном опыте использования.

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

                Лучшие инструменты для CSS и JavaScript


                1) Fileicone

                Сборник 100%-CSS файловых иконок. Может пригодиться для дизайна страниц.

                image

                2) Marx

                Элегантное обнуление CSS безо всякого JavaScript.

                image
                Читать дальше →
              • CSS-модули

                  Какими CSS обладает особенностями, которые приносят боль на больших проектах?

                  • глобальное пространство имен
                  • разрешение зависимостей
                  • поиск «мертвого» кода
                  • отсутствие констант
                  • неоднозначный результат (каскад)

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

                  Возьмем простой пример: кнопка и ее состояния.
                  Читать дальше →
                • Понятно и просто про веб-компоненты и Polymer

                  • Tutorial


                  Кто я

                  Я — Александр Кашеверов. По образованию — магистр радиофизики. По профессии — веб-разработчик, работаю в компании DataArt с 2011 года, с 2009 увлекаюсь IT и веб-технологиями.

                  О чем статья, коротко

                  Рассмотрим, что такое веб-компоненты и polymer. Немного поразмышляем на тему развития веба. Посмотрим на технические детали, примеры, поддержку браузерами, тестирование. Коротко, понятно, по делу. С картинками.

                  Вступление

                  Веб постоянно развивается. Технологии были придуманы и внедрены, исходя из потребностей, актуальных на момент создания. Десять лет назад невозможно было сделать то, что мы реализуем сейчас, и сложно представить, что будет еще через 10 лет.

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

                  Для уменьшения головной боли хорошо бы, если в контексте веб:

                  • CSS не пересекался.
                  • Области видимости JS не пересекались.
                  • HTML был понятным и читаемым, никаких лишних элементов.

                  Читать дальше →
                • Секция о клиентском программировании на HighLoad++


                    Не знаю, как вы, но я застал время, когда фронтенда еще не было. Большинство макетов программисты могли сверстать самостоятельно, ну что там сложного:
                    Читать дальше →
                  • Чеклист: Как загружать страницы быстрее

                    • Translation
                    Мы постоянно работаем над тем, чтобы IaaS был простым и понятным даже для тех, кто не сталкивался с ИТ-сферой. Для этого мы проводим оптимизацию всех систем и рассказываем о своем опыте в нашем блоге на Хабре.

                    Пара примеров:


                    Сегодня мы поговорим о том, как ускорить загрузку страниц, и взглянем на советы эксперта по Ruby Нейта Беркопеца (Nate Berkopec).

                    Читать дальше →
                  • Смажь колеса времени не для первой премии © Высоцкий. Топ-10 самых необычных часов

                      Доброго дня!

                      Сегодня предлагаю посмотреть на необычные модели часов как серийного производства, так и модели «Сделай сам». Ниже вспоминаем Tix, собираем часы из деталей Lego, «залипаем» на девайс бывшего инженера NASA и параллельно смотрим на дизайнерские циферблаты.


                      Читать дальше →
                    • Не пора ли завести личного Большого Брата? Государство — не всегда мы

                      Студентка МГУ рванула в ИГИЛ, цать чеченских парней, рвущихся в Сирию, успели остановить на границе и т.д. Думаете новый тренд минует тебя, твоих друзей и близких? Не ИГИЛ, так секта «бога Кузи», БАДы от старости, футбольные фанаты, наркотики в школах, институтах и «дискотеках» — современный мир многограннен в своих искушениях. Каким образом бороться с новым злом, как вовремя защитить своих близких и любимых? Ведь ни Гугл, ни Яндекс здесь нам не помошники…

                      image

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

                      Сначала несколько общих «страшных» цифр:
                      — Человечество ежедневно генерит 30 миллиардов сообщений (твиты, личка, почта, комментарии и т.д.);
                      — Из этого океана выкриков являются публичными — порядка 2-х миллиардов;
                      — Рускоязычный поток публичных (открытых для всех) сообщений — порядка 50 миллионов.
                      Читать дальше →
                    • Почему мы занимаемся переводом книги с английского на площадке GitHub

                      Всем привет!

                      Недавно команда rust_book_ru закончила перевод книги «The Rust Programming Language» на русский язык.



                      Когда я только присоединился к проекту перевода, начатого kgv, нам несколько раз говорили: «Вы делаете перевод на GitHub? Странные вы, для краудсорсинг-перевода есть другой сервис — вот ссылка». Мы не стали переходить на другие сервисы и в итоге это решение полностью оправдалось.

                      Я хочу рассказать о том, почему мы всё же разместили книгу на GitHub и почему даже переводчику полезно быть немного программистом.
                      Читать дальше →
                      • +44
                      • 18.2k
                      • 8
                    • 15 тривиальных фактов о правильной работе с протоколом HTTP

                        Внимание! Реклама! Пост оплачен Капитаном Очевидность!

                        Ниже под катом вы найдёте 15 пунктов, описывающих правильную организацию ресурсов, доступных по протоколу HTTP — веб-сайтов, «ручек» бэкенда, API и прочая. «Правильный» здесь означает «соответствующий рекомендациям и спецификациям». Большая часть ниженаписанного почти дословно переведена из официальных стандартов, рекомендаций и best practices от IETF и W3C.



                        Вы не найдёте здесь абсолютно ничего неочевидного. Нет, серьёзно, каждый веб-разработчик теоретически эти 15 пунктов должен освоить где-то в районе junior developer-а и/или второго-третьего курса университета.

                        Однако на практике оказывается, что великое множество веб-разработчиков эти азы таки не усвоило. Читаешь документацию к иным API и рыдаешь. Уверен, что каждый читатель таки найдёт в этом списке что-то новое для себя.
                        Читать дальше →
                      • Интегрируем оплату через Paypal в web-приложение

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

                        Статья ориентирована в основном на тех, кто раньше с этой системой не работал. Знатоки Paypal вряд ли найдут здесь для себя что-то новое. Но, возможно, они укажут на недостатки данного метода или посоветуют, как можно было бы по-другому это реализовать.
                        Читать дальше →
                      • Техническое обеспечение компьютерной криминалистики

                          В этой статье мы воздержимся от освещения юридических аспектов производства судебных компьютерно-технических экспертиз. Однако на одном моменте все-таки придется акцентировать внимание. В соответствии с требованиями процессуального законодательства, при производстве экспертного исследования эксперт обязан обеспечить сохранение объекта исследования в неизменном виде. Поэтому производство компьютерно-технических экспертиз «по здравому смыслу», путем штатного включения исследуемого компьютера, установки на него каких-либо программ и анализа имеющихся данных недопустимо. Ведь при таких действиях содержимое жесткого диска исследуемого компьютера неминуемо изменится. Поэтому для производства экспертиз с соблюдением этого требования используют специальное оборудование и программное обеспечение.
                          Читать дальше →
                          • –9
                          • 6.4k
                          • 5
                        • Хорошо ли вы знаете linear-gradient?

                          • Translation
                          Работа над переводом статьи о проекте singlediv.com показала, что некоторые инструменты CSS имеют более широкое применение, чем я привыкла думать. Но для того чтобы суметь найти это применение, необходимо четко понимать особенности свойства. Ярким примером стал linear-gradient, который Линн Фишер виртуозно использовала в своих работах.

                          Хотите сделать симпатичный градиентный фон на своем сайте? background-image: linear-gradient(red, blue); готово! Да, это немного скучно. Поэтому, если вы хотите чего-то большего, рекомендую вам эту статью с советами по css и MDN страницу. Вы еще здесь? Тогда давайте рассмотрим некоторые моменты, как на самом деле работают линейные градиенты. Для начала, давайте вспомним синтаксис, который можно использовать в функции линейного градиента:
                          Читать дальше →
                          • +21
                          • 22.6k
                          • 5