Pull to refresh
0
0.1
Send message

Ни одна реализация элементарных функций не соответствует стандарту IEEE 754

Level of difficultyMedium
Reading time9 min
Views11K

Введённый в 1985 году стандарт IEEE-754 для чисел с плавающей запятой был предназначен для решения проблемы разнородности реализаций чисел с плавающей запятой, мешавших портируемости кода, а также для повышения стабильности между платформами.

Он получил широкое применение и многократно пересматривался в течение прошедших лет. Если вы когда-нибудь работали с любыми вещественными числами в своих приложениях, то они, вероятно, отвечали этому стандарту.

Моя работа в течение последнего года заключалась в анализе погрешности различных математических функций, накопления этой погрешности и способов её уменьшения при помощи различных программных паттернов. Одной из исследованных мной тем были базовые математические функции, используемые в функциях активации нейронных сетей, а также способы их аппроксимации для повышения производительности. В процессе работы нам пришлось столкнуться с противодействием со стороны людей, активно стремящихся к корректной реализации математических функций и к соответствию их стандартам, в частности, к соблюдению обеспечения корректности одной наименее значимой единицы измерения (unit in last place, ULP) для элементарных функций.

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

В процессе изучения я обнаружил, что ни одна из популярных математических библиотек, используемых во множестве сфер вычислений, на самом деле не выполняет корректное округление в соответствии с требованиями любой версии IEEE 754 после первой редакции 1985 года.
Читать дальше →

Конец программирования в том виде, в котором мы его знаем

Level of difficultyEasy
Reading time17 min
Views112K

В СМИ много говорят о том, что разработчики ПО скоро потеряют работу из-за ИИ. Я в это не верю.

Это не конец программирования. Это конец программирования в том виде, в котором мы его знаем сегодня.

Читать далее

«Вспомнить всё»: доступный разбор первоисточника модели OSI (ч. 2) — источник, приёмник, типы передачи данных

Reading time7 min
Views1.4K

Модель OSI кажется простой: всего 7 уровней. Однако большинство статей просто пересказывают друг друга, упуская важные детали. В этом цикле статей мы разберём первоисточник — стандарт ISO/IEC 7498-1:1994, чтобы разобраться не только в уровнях, но и во всех тонкостях модели: как работают протоколы, как взаимодействуют уровни и какие принципы лежат в её основе.

Это не дословный перевод. Это, скорее, ретроспектива плюс анализ и интерпретация. Берётся параграф и «выжимается» его суть.

⚔️ Так отмечены места, где мы будем использовать силу Рима: аналогия для быстрого понимания концепций.

Читать далее

Ад — это чересчур уверенные в себе разработчики, пишущие собственную криптографию

Level of difficultyMedium
Reading time7 min
Views34K

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

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

Я заметил такую тенденцию (как в примере с Session): разработчики некорректно утверждают, что не реализуют собственную криптографию, ведь они используют низкоуровневую криптографическую библиотеку.

Эта ошибка свойственна не только сомнительным приложениям, форкающим мессенджеры со сквозным шифрованием, чтобы вырезать прямую секретность (forward secrecy).
Читать дальше →

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

Level of difficultyMedium
Reading time46 min
Views305K

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

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

Читать далее

Как стать VPN провайдером за один вечер

Level of difficultyMedium
Reading time13 min
Views165K

Рассказываю о своём опыте использования Xray (с протоколом VLESS-Reality) - одного из лучших решений для преодоления интернет-цензуры на сегодняшний день. Я потратил много времени на то, чтобы разобраться с ним - теперь вам достаточно одного вечера, чтобы поднять свой сервер на несколько десятков пользователей, c xray на борту!

скрипт ex.sh для простой настройки и установки; есть поддержка Docker

легко добавлять пользователей; клиентские конфиги в форме url-ссылок

правильные конфиги: скрытность + удобство

трафик популярных российских сайтов идёт напрямую, a не через сервер

для xray есть приложения под все популярные ОС - делюсь инструкциями

только https, нет udp; торренты через сервер блокируются по возможности

мой проект на гитхабе: easy-xray

Интересны детали? Добро пожаловать под кат

Личный VPN: юзер ликует, VLESS смеётся, а РКН плачет

Reading time6 min
Views209K

Эта статья — расширенный туториал как оформить сервер и поднять свой VPN на протоколе VLESS с XTLS-Reality за 10 минут, который выделяется на общем плане тем, что трафик шифруется и маскируется под подключение к популярным сайтам (доменам), тем самым станет тёмной лошадкой для ТСПУ.

Читать далее

Меня собирались уволить, но я их переиграл. Как я победил дедлайны, переработки и хаос с помощью этих 6 правил

Level of difficultyEasy
Reading time11 min
Views113K

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

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

На этом моя карьера могла закончиться — но я нашёл выход. 

Читать далее

Чем Grok лучше ChatGPT: изучаем базовые преимущества нейросети Илона Маска

Level of difficultyEasy
Reading time8 min
Views7.1K

Grok правда очень хорош. Вот увидите

Grok, разработанный компанией Илона Маска xAI, – это относительно новый игрок на рынке чат-ботов. Несмотря на это, довольно быстро стало понятно, что это не просто еще один генеративный ИИ, а принципиально новый инструмент с особым подходом к обработке, анализу данных и креативу. Большое значение для его популяризации сыграло появление стартового тарифа, который позволяет использовать Grok бесплатно. Но делает его таким уникальным отнюдь не это.

Узнать, что умеет Grok

Сколько получают тестировщики в 2024 году на самом деле

Level of difficultyEasy
Reading time8 min
Views53K

Нет, это не очередной обзор зарплат по вакансиям.

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

Читать далее

Какой % желающих сможет работать в IT: Итог 500 бесплатных профориентаций Mentorpiece

Reading time11 min
Views11K

Результаты — на изображении. Из тех, кто подумывает начать IT‑карьеру, в результате действительно смогут сделать это 16%.

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

Читать далее

Модель OSI

Level of difficultyEasy
Reading time6 min
Views8.1K

В этой статье вы узнаете об основных понятиях модели Open Systems Interconnections (OSI) в простой и доступной форме.

Многие, вероятно, знают основы того, что такое интернет и как он работает. Есть клиент и сервер, и они «общаются» друг с другом с помощью чего-то, называемого HTTP или HTTPS?

В этой статье вы узнаете как компьютеры общаются друг с другом по сети.

Читать далее

Почему DeepSeek способен конкурировать с OpenAI и как повторить их опыт

Reading time3 min
Views10K

За последние два года - за время невероятной популярности Generative AI - появилось много перспективных компаний, создающих новые прорывные модели. Последний пример - это китайский стартап DeepSeek, благодаря которому у нас есть открытые аналоги OpenAI GPT-4o и o1. С теми же (что проверено бенчмарками) возможностями в плане выполнения текстовых инструкций, задач на математику, логику и кодинг.

Читать далее

От $GOVNO до нейросетей: Как я чуть не подсел на трейдинг и что из этого вышло

Level of difficultyMedium
Reading time5 min
Views26K

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

Больше всего денег за единицу времени я заработал на токене $GOVNO и знаю, что есть "одураченные случайностью" и просто повезло, что вложился в успешный проект, но я буквально прыгал от переполняющей энергии!

Возможно это лудомания, так что я на всякий случай...

Читать далее

Как работают криптовалюты

Level of difficultyEasy
Reading time42 min
Views15K

В этой статье разбираются принципы работы криптовалют на примере биткоина и эфира. Здесь объясняется, что такое блокчейн и почему он устроен именно как цепочка связанных блоков; что такое майнинг и зачем он потребляет столько вычислительных ресурсов; что представляет собой денежная транзакция и почему транзакции в блокчейнах такие медленные и дорогие; как работают системы «второго уровня» в сетях блокчейн-протоколов, и как они позволяют сделать транзакции быстрыми и дешёвыми; что такое смарт-контракт; как работают стейблкоины (такие как USDT); есть ли способ сделать свои денежные операции по-настоящему анонимными, и можно ли с помощью криптовалют выйти из-под контроля всесильных финансовых регуляторов.

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

Читать далее

Как учить язык быстро и самостоятельно

Level of difficultyEasy
Reading time10 min
Views39K

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

Когда я выучил еще три в дополнение к своему родному, то думал, что теперь все знаю о том, как учить языки. Когда выучил еще один и начал два других, некоторые вещи пришлось пересмотреть. Думаю, это зависит от количества, и полиглоты, владеющие 10–15 языками, скорее всего, будут иметь уже другое мнение насчет учебы. Так что сейчас я делюсь наработками, которые у меня есть на данном этапе. Если же вы знаете меньше пяти языков, подумайте хорошо, если вы хотите оспорить моё мнение.

Узнать больше

Самопрезентация важнее знаний на собесе

Level of difficultyEasy
Reading time13 min
Views30K

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

прорваться вместе

Операционная система в 1 000 строк кода (часть 3)

Level of difficultyMedium
Reading time28 min
Views7.8K

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

▍ Навигация по вышедшим частям


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

Преподавание английского — самый большой скам 21 века

Level of difficultyEasy
Reading time11 min
Views105K

И это пока никто не понял.

Я 17 лет учил английский язык. Вкладывался гораздо больше, чем другие. Я был лучшим в классе и вузе (по английскому). Я кучу раз брался за приложения. Покупал курсы во взрослой жизни. Даже работал на английском. Нанимал нейтивов преподов.

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

И с этого началось, что я сам заговорил на английском свободно через 6 месяцев.

Читать далее

Правила и рекомендации по комментированию в коде

Reading time8 min
Views14K

Всем привет! Сегодня хочу представить статью о правилах комментирования в коде. Я не хочу сказать, что рекомендации, представленные в данной статье, являются аксиомами. Нет, всегда найдутся две стороны: на одной стороне будут те, кто согласен с представленными рекомендациями, на другой — те, кто не согласен. Разнообразие мнений — это нормально и прекрасно.

Моё мнение, отражённое в данной статье, основывается на книге «Чистый код» Роберта Мартина.

Читать далее
1
23 ...

Information

Rating
6,489-th
Registered
Activity