• Тоска по былому Интернету

    • Translation
    image

    Мне одному кажется, что сегодняшний Интернет скучен и чрезмерно коммерциализирован?

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

    Интернет был более интересным, потому что у него было больше индивидуальности. Скажем, вы были нёрдом, и вам нравились «Звездные войны», «Звездный путь», аниме, видеоигры или ролевые игры, вы набирали все, что вам нравилось, и вы получали индивидуально разработанные сайты на Geocities, некоторые хорошо продуманные, некоторые просто вырвиглазные, но каждый был уникален, каждый со своей индивидуальностью. Каждый сайт — признание в любви к конкретному фэндому. Каждый сайт был с любовью снабжен скриншотами, краткими описаниями эпизодов или игр, а также загружен фанфиками и обзорами.
    Читать дальше →
  • Как написать пассивный доход: Пишем качественного трейд бота на JS (часть 1)

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

    Читать далее
  • Почему стоматология такая дорогая и полечить зубы можно по цене квартиры в регионе?

      image

      Казалось бы, установить имплант — это операция проще некуда, просто взять и вкрутить винт в челюсть. Потом вы начинаете считать структуру затрат и становится понятно, что нужен рентгенолог, хирург, два ассистента — и время этих людей стоит денег, особенно хирурга, который десять лет учился и практиковался, и у него перед вами ответственность, включая возможную уголовную, за ошибки. Нужен операционный бокс, нужны стерильные халаты, дезинфекция, нужно вложиться в оборудование, нужны расходники. Причём всё это должно быть сертифицировано. В аптеке хлоргексидин стоит 11 рублей, а сертифицированный для стоматологии аналог будет стоить на пару порядков дороже. Практический пример — гель с ортофосфорной кислотой, который просто копеечный в производстве. Но когда его четыре года сертифицируют, один шприц с ним начинает стоить от 1000 рублей. Причём его ещё надо найти, потому что некоторые материалы в Россию просто не поставляют, потому что у производителя за пару лет продаж не получится отбить даже сертификацию. На российские импланты адекватные люди не соглашаются, а те, которые будут поддерживаться через 20 лет европейские, — у них эта гарантия входит в цену.

      В общем, медицина — довольно дорогая штука вообще. Средний гражданин России платит, грубо говоря, 40 тысяч рублей в год только за ОМС (в виде отчислений с зарплаты) — и получает за это предельно дешёвый сервис на базе многих вещей, цены на которые удерживаются низкими с помощью федеральной антимонопольной службой и субсидиями. Но как только речь заходит о чём-то хоть немного немассовом — всё становится интереснее.

      Но, думаю, это всё ещё не объясняет, почему полечить зубы может стоить в некоторых случаях миллион, а не сто тысяч. Давайте разберём подробнее.
      Читать дальше →
    • Причины массового обжорства SSD на Macbook с процессорами M1

      Мир сошел с ума. Где только не писали о проблеме повышенного аппетита на ресурс SSD-накопителей у новых моделей Macbook Air и Macbook Pro с процессорами M1. Тема обсуждалась на всех популярных технических форумах. И несмотря на массовость проблемы, все обсуждения сводились к тому, что Apple не считает это проблемой. А значит и проблемы нет. И в какую дичь люди готовы поверить для самоуспокоения вместо того, чтобы взглянуть в лицо фактам и выяснить причины стремительного выработки ресурса несъёмного SSD-накопителя.

      Читать далее
    • Практическое руководство по анонимности в онлайне


        Направленная антенна для удалённого доступа к публичному Wi-Fi

        Обеспечить собственную безопасность (анонимность) в онлайне — тяжкий труд, требующий массивного объёма знаний. Даже лучшие профессионалы не всегда справляются.

        Но это возможно.

        Предупреждение. Для усвоения информации в полном объёме требуется несколько недель.
        Читать дальше →
      • Вы не просите дать вам работу, вы продаёте услугу

        • Translation

        Изображение: businessinsider.com

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

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

        Публикуешь вакансию, появляется 5000 соискателей, выбираешь 100, тратишь 2 недели на телефонный скрининг, 5 человек имеют знания, необходимые для работы.

        Собеседования — это кошмар для обеих сторон.

        Моя девушка устроилась в прошлом году на работу в компанию Visa, а позже узнала, что на её должность отправили резюме пять тысяч человек. Она выделилась на их фоне тем, что прочитала описание работы и указала соответствующий ей опыт. Да, планка настолько низка.

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

          "… Не может чуждой славянину
          Быть чехов доблестных земля.
          "
          П.А. Вяземский


          Небольшое предисловие


          Нашего коллегу Андрея Дмитриева, как-то рассказавшего Хабру свою историю развития от бездомного до Senior Developer'a, недавно позвал поучаствовать в подкасте linkmeup наш другой коллега Loxmatiymamont. В рамках проекта "По'уехавшие" он общается с IT специалистами, которых объединяет одна деталь: когда-то они уехали работать из России в другую страну. Но, дабы не повторять миллион и тысячу подобных проектов, в этом подкасте нет разговоров про мотивацию, рассуждений "зачем и почему", а также поиска высших смыслов. Нет, здесь упор делается на бытовую часть вопроса жизни обычного человека в совершенно новом для него месте, без скучных сравнений а-ля "где огурцы дороже".


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



          — Всем привет!
          Нас
          [linkmeup] раньше любили обвинять в какой-то предвзятости и то, что наш проект периодически продается [выпуски с представителями вендоров — ред]. И вот сегодня у вас будет новый повод это сделать, потому что в гости я позвал своего коллегу – это Андрей Дмитриев, он сейчас работает в Праге. Привет, Андрей!


          — Привет!

          Читать дальше →
        • Embedded Linux в двух словах. Первое

          • Tutorial

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

          Платформой послужит плата BeagleBone Black с процессором производства Техасских Инструментов AM3358 и ядром Arm Cortex-A8, и, чтобы не плодить мигающие светодиодами мануалы, основной задачей устройства будет отправка смайлов в топовый чат, широко известного в узких кругах, сайта,  в соответствии с командами от смайл-пульта. Впрочем, без мигания светодиодами тоже не обошлось.

          Читать далее
        • Личный сервер shadowsocks за 10 минут без затрат

          • Tutorial

          Недавно я набрёл на интересное решение, которое позволяет развернуть личный сервер shadowsocks без каких-либо финансовых затрат. В результате получается некий аналог собственного VPN-сервера, с которым могут работать настольные компьютеры и мобильные устройства. Соединение с сервером shadowsocks защищено и устойчиво к фильтрации DPI.

          Приятной особенностью такого метода развёртывания shadowsocks является то, что он не требует больших технических познаний. И настройка клиентов shadowsocks крайне проста: вся конфигурация происходит сканированием QR-кода или одной URL-строкой.

          Читать далее
        • Как без усталости кодить по восемь с лишним часов

          • Translation


          Всю свою жизнь я писал код неправильно.

          Я думал, что достаточно просто сесть за стол, открыть ноутбук, выбрать задачу из моего списка to-do и кодить, пока не устану.

          Но на самом деле такой стиль работы убивал мой уровень продуктивности спустя 2–4 часа написания кода. Я ощущал себя таким уставшим, что мне не хотелось ничего, кроме как других задач, требующих низких затрат энергии (например, code review).

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

          Что же изменилось?

          Мой подход к работе.

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

          В статье я расскажу, как этого достиг.
          Читать дальше →
        • 6 вещей, которые не стоит делать в ASP.NET контроллерах

          «Ваши .NET контроллеры должны быть тонкими»

          Ох уж эта вечно повторяемая банальность, обросшая тоннами недосказанности.

          Почему они должны быть тонкими? Какой в этом плюс? Как сделать их тонкими, если они сейчас не такие? Как сохранить их тонкими?

          Мне интересно!
        • Свод правил по работе с целыми числами в C/C++

          • Translation

          В основу статьи легли мои собственные выработанные нелегким путем знания о принципах работы и правильном использовании целых чисел в C/C++. Помимо самих правил, я решил привести список распространенных заблуждений и сделать небольшое сравнение системы целочисленных типов в нескольких передовых языках. Все изложение строилось вокруг баланса между краткостью и полноценностью, чтобы не усложнять восприятие и при этом отчетливо передать важные детали.
          Читать дальше →
        • Windows 95 — как она выглядит сегодня?

          • Translation

          Windows 95 была ОС Microsoft «следующего поколения»: переделанный UI, поддержка длинных имён файлов, 32-битные приложения и множество других изменений. Некоторые из компонентов Windows 95 используются и сегодня. Как она выглядит? Давайте протестируем и разберёмся.

          Я не собирался делать обзор Windows 95, потому что на самом деле она появилась не так давно. Но посмотрев видео с названием в духе «Подростки реагируют на Windows 95», я понял, что есть не только подростки, но и целое поколение 20–30-летних взрослых, которые ни разу не пользовались Windows 95 или были слишком малы, чтобы помнить её. К тому же, Windows 95 стала очень важной вехой в истории компьютеров и значительным усовершенствованием по сравнению с Windows 3.1, отдельные части которого мы используем и сегодня.
          Читать дальше →
        • Приёмы неблокирующего программирования: полные барьеры памяти

          • Translation

          В первых двух статьях цикла мы рассмотрели четыре способа упорядочить доступ к памяти: load-acquire и store-release операции в первой части, барьеры чтения и записи в память — во второй. Теперь пришла очередь познакомиться с полными барьерами памяти, их влиянием на производительность, и примерами использования полных барьеров в ядре Linux.


          Рассмотренные ранее примитивы ограничивают возможный порядок исполнения операций с памятью четырьмя различными способами:


          • Load-acquire операции выполняются перед последующими чтениями и записями.
          • Store-release операции выполняются после предыдущих чтений и записей.
          • Барьеры чтения разделяют предыдущие и последующие чтения из памяти.
          • Барьеры записи разделяют предыдущие и последующие записи в память.

          Внимательный читатель заметил, что одна из возможных комбинаций в этом списке отсутствует:

          Чтение выполняется... Запись выполняется...
          … после чтения smp_load_acquire(), smp_rmb() smp_load_acquire(), smp_store_release()
          … после записи ??? smp_store_release(), smp_wmb()
          Оказывается, обеспечить глобальный порядок записей и последующих чтений из памяти гораздо сложнее. Процессоры вынуждены прилагать отдельные усилия для этого. Сохранение такого порядка стоит недёшево и требует явных инструкций. Чтобы понять причину этих особенностей, нам придётся спуститься на уровнь ниже и присмотреться к тому, как процессоры работают с памятью.
          Читать дальше →
          • +10
          • 4.6k
          • 4
        • .NET nanoFramework — платформа для разработки приложений на C# для микроконтроллеров

            nanoframework

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

            .NET nanoFramework является малой версией «большого» .NET Framework предназначенного для настольных систем. Разработка приложений ведется на языке C# в среде разработки Visual Studio. Сама платформа является исполнительной средой .NET кода, это позволяет абстрагироваться от аппаратного обеспечения и дает возможность переносить программный код с одного микроконтроллера на другой, который тоже поддерживает .NET nanoFramework. Программный код на C# для настольных систем, без изменений или с небольшой адаптацией (необходимо помнить про малый объем оперативной памяти) исполнится на микроконтроллере. Благодаря этому, разработчики на .NET с минимальными знаниями в области микроэлектроники смогут разрабатывать различные устройства на .NET nanoFramework.
            Читать дальше →
          • Команды GDB, о которых вы возможно не знали


              Отладка кода — это как охота. Охота на баги.
              — Amit Kalantri

              Что такое GDB


              GNU Debugger — переносимый отладчик проекта GNU, который работает на многих UNIX-подобных системах и умеет производить отладку многих языков программирования, включая Си, C++, Free Pascal, FreeBASIC, Ada, Фортран и Rust. GDB — свободное программное обеспечение, распространяемое по лицензии GPL.
              Источник: GNU Debugger — Википедия


              Проще говоря GDB — отладчик, который работает прямо из консоли.


              В данной статье я опишу команды, о которых раньше не знал, однако, они оказались очень полезными при отладке в GDB.

              Читать дальше →
              • +13
              • 4.1k
              • 2
            • Представляем ovpn-admin — веб-интерфейс для управления пользователями OpenVPN

                Обслуживая большое количество проектов, мы пришли к необходимости простого управления OpenVPN (сертификатами и маршрутами для пользователей), подразумевая под этим веб-интерфейс вместо того, чтобы ходить по серверам/контейнерам и выполнять в них вручную команды. Поскольку существующие для этого решения (вроде Pritunl и OpenVPN AS) — коммерческие, несколько лет назад мы создали (и используем по сей день) свой интерфейс. Рассказываем про Open Source-проект ovpn-admin!

                Читать далее
              • Минимальное PWA

                  Какие характеристики должны быть у web-приложения, чтобы соответствовать критерию "прогрессивное"? Понятно, что, как и обычные web-приложения, прогрессивные строятся на базе "большой тройки" web-технологий - HTML/CSS/JS. Но что именно делает web-приложения прогрессивными?

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

                  Читать далее
                • Вторая жизнь пыльного Андроида

                    Три мысли всё не давали мне жить спокойно:

                    1) есть ноутбук, но для работы нужен второй экран
                    2) давно мечтаю о пульте управления для Photoshop в дополнение к клавиатуре
                    3) на полках пылятся устаревшие гаджеты, которые продавать глупо, а выкидывать жалко

                    Решим одно за счёт другого
                  • Прочти меня: код, который не выбесит соседа



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

                      Я расскажу о подходах, которые мы используем в Яндекс.Такси для написания читаемого кода на C++, Python, JavaScript и других языках.
                      Читать дальше →