Как стать автором
Поиск
Написать публикацию
Обновить
39
0

Пользователь

Отправить сообщение

нечто страшное, например, в случае сегментированной модели памяти (мало ли где на микроконтроллерах человек снова нарвётся на это наследие 8086-го).

Мне постоянно кажется, что многие люди путают или не видят разницы между сегментами 8086 и сегментами 80286 или тем более 80386.

А точнее сказать, между сегментами реального режима и сегментами защищённого режима.

Сегменты защищённого режима это, это по-моему глубокому убеждению, технология с самым underrated потенциалом развития, которую толком по уму никто не использовал из-за желания обратной совместимости с одной стороны и отсутствия ЯВУ, который мог бы эксплуатировать идею сегментов максимально естественным образом. Доминировавшие на тот момент Си и Си++ были явно не теми языками из-за своей адресной арифметики.

По сути появление сегментов защищённого режима можно сравнить с появлением идеи использовать файлы и файловые системы вместо просто записи данных куда-то в непрерывное линейное пространство диска (сделаем вид, что CHS-адресации никогда не существовало).

И увы, человечество предпочло свернуть не туда, и теперь мы имеем атаки переполнения буфера, remote code execution и костыли в виде ASLR и DEP для борьбы с ним. Хотя могли бы иметь защиту от доступа за границу объекта/массива/буфера на аппаратном уровне. Ну и проблему с фрагментацией АП процесса, которая становится теперь головной болью прикладной программы, а не ОС.

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

Думаю, имелась в виду графическая и информационная минималистичность. Сейчас ведь модны дизайны, в которых визуальные рамки делать не кошерно, максимум два разных блока будут подкрашены в разные цвета, например — RGB(126, 126, 130) и RGB(128, 128, 128).

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

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

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

Не буду смеяться, а пожму руку.

Ну как же написать статью на тему электроники, транзисторов, пинов, уровней напряжения, и не вставить сюда упоминание Python-а... Вселенная же схлопнется...

Автомат с наклейкой «кофе» точно нам его не выдаст, так как кофе мы уже получили

Неверная логика. Он может выдать кофе, потому что в действительности является комбо-автоматом.

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

В чем состоит этои лучший случай, где одна проба устраняет все неопределенности?

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

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

Оказывается, в C можно определять функции внутри функций

Ну, оказывается, не в Си, а в одном из расширений для Си в составе gcc. В чистом стандартном Си ничего подобного нет. Если уж расширить выборку до всех на свете расширений языка Си, то в Microsoft-овском компиляторе Си есть расширение в виде ключевых слов _try/_except, которые дают готовый механизм обработки исключений, основанный на SEH.

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

Именно так, к примеру, сделано в исходниках VB/VBA, а значит этот механизм является частью VBA в составе Офисов, частью VB IDE и VB-рантайм-библиотеки.

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

Между тем, есть и обратные примеры: в какой-то момент мне стало интересно, почему, начиная с определённой версии, Process Explorer Руссиновича перестал адекватно работать на Windows XP. Это была именно та версия, в которой пофиксили баг с заморозкой/разморозкой потовков. Пришлось взять дизассемблер/отладчик и пореверсить программу, чтобы выявить, какие же такие новые функции новых ОС ей теперь стали нужны для правильной работы. Оказалось, что — никакие. Ограничение было чисто искусственным и нелепым. Я написал Руссиновичу свои соображения, как проблема несовместимости может быть исправлена одной строчкой, на что она даде ответил что-то вроде «да, может, но мы не будем это чинить просто потому, что не будем и всё».
Возможно, об этом можно написать на Хабр небольшую статью.

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

Чушь какая-то. Попробуйте своими методами тогда привить ребёнку нелюбовь к коныетам и любовь к получению ремня.

Вкладки отвратительный инструмент, если только вы не привыкли работать так, что у аас 3—5 вкладок максимум открыто.

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

В своё время таскбар в Windows страдал тем же. Но группировка окон в таскбаре, отображающая в таскбаре группу, по нажатию на которой открывалось меню, замечательно решало проблему. Потому что в меню широкие но невысокие названия окон располагались в столбик, и на одном экране можно было уместить 50 условных надписей «Мой компьютер», а не 6 штук, как это будет в случае со вкладками.

Оффтопик:
Человек в статье подвергает гонению слова «релевантно» и «астролябия», а следом пишет «абстрагируемся» и «коэффициент».

Нет уж, пишите «отвлечёмся» и «числовой показатель» тогда.

А что, все массивы у нас имеют тип, эквивалентный условному size_t?

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

Домен в зоне ru, зарегистрирован у российского регистратора. Домен обслуживает DNS-сервер, находящийся в Европе. Сам проект хостится на сервере, расположенном в России. А я, как администратор, нахожусь в Казахстане. Не сбежал от могилизации, а всю жизнь здесь был.

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

Перенести всё на западные площадки? Но тогда в час Ч ресурс будет отрезан от главной части русскоязычной аудитории — от россиян. Перенести всё на российские площадки? Тогда я, как админ, окажусь отрезанным от своего ресурса, и весь внероссийский круг людей заодно.

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

Самому что ли переезжать в Россию...

Выглядит, как какой-то сюр для меня. Я бы поверил, если бы речь шла о бинарнике, представляющем собой AI, не отличимый от человека. Какую-нибудь супер-СУБД с гениальным планировщиком запросов и оптимизатором.

Но какой такой логикой можно НАСТОЛЬКО раздуть бинарник бэкенда соцсети?

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

Ядра ОС, опять таки, решают намного более сложные и разнообразные проблемы, а бинарники занимают не так много.

А у вас же просто по большей части CRUD с контролем доступа для не такого уж большого набора типов сущностей? Ну хорошо, балансировка нагрузки, составление вектора интересов и персонификация ленты. Ну как бы я не напрягал фантазию, я не могу предтставить, чем можно забить гигабайты секции кода. Может быть только если инлайнить абсолютно всё, то что-то подобное можно достигнуть.

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

Все правильно, Си же не проблемно-ориентированный язык. Его же придумали не для написания ОС, его придумывали чтобы сидеть и аутировать, программируя ради программирования.

Информация

В рейтинге
4 948-й
Откуда
Петропавловск, Северо-Казахстанская обл., Казахстан
Зарегистрирован
Активность

Специализация

Software Developer, Embedded Software Engineer
Pure C
Assembler
X86 asm
Win32 API
Visual Basic
MySQL
Git
OOP
Electronics Development
Reverse development