Pull to refresh
23
0

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

Send message

brow.sh умел это делать 4 года назад, причем кодировал не только видео, но и всю страницу.

А что не так с файлом .bin? Час назад скачал, закатал Руфусом на флешку, наслаждаюсь тестированием. Пишу из-под флекса как раз.

Лет 20 назад делал эксперименты и писал vxd драйвера. В частности программировал таймер и обрабатывал прерывания. Так вот, меняя делитель, настроить частоту проблемы нет. Для контроля менял состояние выходов LPT порта и проверял при помощи осцилографа. Частоту держало, но периодически (предполагаю при свопе на диск) всё плыло. Реже на такую же проблему наблюдал даже на QNX 4.25, если на десктопном варианте с Фотоном. Хотя система реального времени. На одноплатниках с чистым QNX проблем вроде не было.

Поэтому стоит разделять:

  • возможности самого таймера,

  • летенси обработки прерываний таймера и летенси добавляемый OS,

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

А будет ли работать такой "таймер":

1) открываем файл COM порт на скорости передачи 19200bps в режиме FILE_FLAG_OVERLAPPED

2) записываем в файл девайса порта 2 байта

3) ждем completition Event из структуры OVERLAPPED переданной в WriteFile(..)

При скорости 19200 один бит передается за 0,000052083 секунды, но там байт и еще старт бит и стоп бит, итого 2 байта передается 0,00052083*2=0,00104166 секунды.

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

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

Кстати, у моей жены остался старенький Aser Aspire One 752. Хотите я проведу сравнительные тесты с raspberry? Конечно же постараюсь сделать всё максимально справедливо.

Присоединюсь, серия "Измененные": "Семь дней до Мегиддо", "Три дня Индиго", "Месяц за Рубиконом" очень хороша, читал её на litres.ru, author.today. Сейчас Лукьяненко пишет продолжение "Лето Волонтера". Привлекает в том числе и сугубая обязательность мэтра в выкладывании новых глав - каждые вторник и пятницу в 11.00 - пожалуйте читать. Одновременно перечитываю Макса Глебова ("Звезд не хватит на всех"), Романа Злотникова (серия "Землянин"). Но самый новый, ранее неизвестный, но очень интересный для меня автор - Михаил Тарковский ("Промысловый были", "Что скажет Солнышко?"). Особенно последняя вещь... Очень рекомендую, хоть и не фантастика.

https://habr.com/ru/post/437598/
https://habr.com/ru/post/448312/
https://habr.com/ru/post/433878/
Вот же статьи о том же самом. Да еще и с картинками.

Здравствуйте, тема знакомая - довелось столкнуться с таймингом в .NET. Правда, у меня вводные были чуть "веселее" - старое (надцать лет) и достаточно большое (не перепишешь) приложение на WinForms. Ну и, конечно же, там было всё на UI потоке потому что вперемешку кони, люди, контролы UI и железо. Ну и конечно же на одной машине обычно крутилось много всего поэтому нагрузка на систему должна быть настолько низкой насколько это вообще возможно.

В целом, я прошел плюс-минус такой же список вариантов, сначала была миграция на Multimedia Timers (хоть они и deprecated) но я столкнулся с тем что они на некоторых системах не работают по мистическим причинам. Собственно, "иногда" колбек просто не вызывается, преимущественно ноутбуки - подозрение на power plan, но я глубоко не копал - всё равно наблюдался достаточно большой jitter. Итоговое решение - самописный гибридный таймер с динамической коррекцией "по ходу пьесы" для достижения требуемой точности.

Так вот, для таймера в 1мс while() цикл и является оптимальным решением. Максимум что можно сделать - это вставить SpinWait() чтобы при этом греть воздух с чуть меньшим энтузиазмом. Любая передача кванта времени с большой вероятностью закончится пропусками тактов и с этим ничего не сделать, увы.

Для таймеров чуть подольше (~5мс) уже можно делать Sleep/Yield с вполне приемлемым результатом.

Из ещё интересного - по крайней мере в Win11 NtSetTimerResolution больше не system-wide, если процесс не вызывал этот метод - у него будет квант 16.6мс, при этом NtQueryTimerResolution будет репортить system-wide значение как и раньше.

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

Всем кто столкнулся с бессоницей я был дал 3 совета.
1. Не смотреть советы экспертов на Youtube.
2. Прочитать тематическую книгу Дипарака Чопры - "Полноценный сон"
3. Послушать/почитать книгу Экхарта Толе - "Сила настоящего".

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

Я сижу на XP, и должен сказать, что вы преукрашиваете. 95—98% сайтов работают без проблем. Либо я принципиально какими-то не теми сайтами интересуюсь.


Не так давно истёк срок действия одного сертификата корневного центра сертификации: но это проблема сертификата, а не самой XP. Достаточно было установить в хранилище доверенных сертификаторов сертификат нового Root CA, на котором сейчас всё зиждется из того, что раньше базировалось на старом.


С Хромом есть проблема в том, что он полагается на системную SSL-релизацию, а она не умеет работать с некоторыми алгоритмами. Но в таких случаях я переключаюсь на FireFox — у него своя внутренняя независимая реализация SSL/HTTPS.


По поводу невозможности обновить браузеры: это действительно боль. Есть мнение, что во многих случаях ограничение на минимальную версию ОС чисто искуственное, «политически мотивированное», нежели техническое. Кстати говоря, слышал, что есть некая китайская сборка Chromium, которая отлично работает на XP.


Не могу достоверно сказать на счёт браузеров, но могу рассказать интересную историю насчёт Process Explorer от Марка Руссиновича. Начиная с какой-то версии Process Explorer перестал корректно работать на Windows XP.


Я нашёл на форумах поддержки SysInternals тему на этот счёт, где представители компании говорили, что они ну никак не могут обеспечить работоспособность новых версий под Windows XP.


Тогда я вычислил ту версию, начиная с которой оно интерфейс программы под Windows XP поломался, и стал реверс-инжинирить и отлаживать её, чтобы понять, что же такого принципиально нового они там начали использовать, что нельзя получать под Windows XP малой кровью? Может быть новомодный (гореть ему в аду) интерфейс aka Ribbin (резиновая лента)? Но нет, судя по скриншотам, никакой резиновой ленты там нет.


В итоге, разгадка оказалась банальной, неожиданной и разочаровывающей.


Начиная с какого-то момента в comctl32.dll была добавлена новая функциональность и в некоторых структуры были добавлены новые поля. Соответственно, в заголовочные файлы, где объявлены функции/макросы/структуры, имеющие отношение к comctl, были внесены изменения: добавлены новые поля, но всё это было заключены #if...#endif макросы, так, чтобы старый код, не знающий о новых фишках, мог нормально компилироваться.


Часто используемой практикой у Microsoft является то, что структуры, в которые планируется добавление новых полей, имеют первым полем поле cbSize, чтобы сообщить API-функциям, в которые будет передаваться указатель на структуру, о том, какой «версией» структры пользуется вызывающая сторона: сколько полей она правильно инициализировала и сколько полей вызываемая API-функция имеет право модифицировать, чтобы не испортить соседние не относящиеся к структуре данные.


При этом реализация comctl32.dll, какой бы новой она ни была, всегда умеет корректно работать со «старыми версиями» структур, у которых было меньше полей, потому что в ином случае все старые программы под новой версией Windows переставали бы работать.


Так вот, начиная с какого-то момента при компилировании Process Explorer они стали пользоваться новым комплектом заголовочны файлах, и установили константы/флагми условной компиляции так, чтобы сообщить компилятору «да, мы хотим использовать вот эту новую версию структуры с новыми полями».


По факту же никакие новые фишки, даруемые новой версией библиотеки comctl32.dll они не использовали. Никакие новые поля, добавленные в структуру в новой версии, они тоже не использовали.


Они вообще никак не были завязаны на новые возможности новой версии comctl32.dll. Но они задали макрос _WIN32_WINNT таким, что в структуре появились новые поля, а от этого изменилось выражение sizeof(SOMECOMCTLRELATEDSTRUCT).


И когда программа скомпилированная с такими ключами условной компиляции попадала под Windows XP, она передавала в comctl-шные функции структуру, у которой первое поле cbSize оказывалось ниожиданно большим для XP-шной версии библиотеки, и эти API-функции отказывались работать с такой «новой» формой структуры.


Можно было бы возразить: мало ли по какой другой причине им потребовалось задать значение _WIN32_WINNT таким большим? Они эти сделали для совершенно других целей, не связанных с comctl32.dll, а работа с контролами пострадата просто засчёт того, что доп. поля были в #if...#endif-зависимости от значения _WIN32_WINNT.


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


Я написал Руссиновичу письмо с результатми своего исследованиея и предложением о том, что всё проблема решается банальной заменой:


xxx.cbSize = sizeof(XXXXXX); на xxx.cbSize = XXXX_V6_SIZE;


Руссинович ответил, что всё так, но они, тем не менее, не будут ничего менять, потому что они просто принципиально не хотят чтобы эта поддержка Windows XP у них была.


То есть то, что начиная с какой-то версии Process Explorer перестал корректно работать под XP — это не потому, что в него добавили какую-то функциональность, которой нет под XP. Это просто бюрократический препон.

Задержка клавиатуры менее 1мс — это Вы погорячились. Один только опрос устройств USB-контроллером может занимать до 1 мс — он выполняется с частотой 1 кГц. Если кнопки подключены к контроллеру клавиатуры по матричной схеме — заметное время займёт также сканирование матрицы кнопок, потому что её нельзя сканировать с очень высокой частотой, потому что в этом случае, в силу больших физических размеров матрицы, она будет излучать много помех в эфир, и не пройдёт сертификацию по ЭМС. А при передаче по радиоканалу коротких пакетов существенную часть времени занимает преамбула для синхронизации приёмника с передатчиком по фазе. Её можно уменьшить, но это увеличивает требуемую вычислительную мощность в приёмнике.

Спасибо за очень интересные ответы.

Я пью Nestogen в основном с отечественным протеином R-line Light Whey.

Причины – нет сахара + в качестве наполнителя там полидекстроза – весьма полезный пребиотик (судя по той информации что я нашел) и без побочек в виде метеоризма – полидекстроза усваивается микробиотой очень медленно. Ну и он просто вкусный (вкусы ириска и пломбир).

Дополнительно к протеину и Nestogen добавляю ягоды – черная смородина, клубника, малина... Клетчатку из мелко перемолотого льна "Здоровка" (очень рекомендую – в отличие от других отрубей перемолотые лен никак не влияет на консистенцию готового напитка). Немножко отрубей. Немного ягодного мороженого для прохлады.

Если знаю, что долго не смогу поесть, то могу добавить мультизлаковые хлопья для варки, прямо сырыми – их всё равно мелко перемолет. Всё это взбиваю в мощном блендере.

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

Я правильно Вас понимаю, что пробиотик лучше выпить до еды, чтобы он быстрее "эвакуировался" из желудка, а потом уже протеины и пребиотики и обычную еду?

Показаний против хеликобактер нет, но раньше был гастрит, решил что для профилактики немного L. reuteri будут не лишними :-)

Спасибо за ответ!

Хммм… последние лет так 15 ничтоже сумняшеся подключал нагорячую полуписевую клаву, когда мать начинала выделывать странное. Да и старые AT, вроде бы, в BIOS как раз подключались на горячую, только винда сопротивлялась… нет?
Под руками сейчас нету (и долго не будет), не проверить.

Кстати, да, сам тут недавно столкнулся с нелепой проблемой: DOS под VMWare не умеет обмениваться текстовым clipboard с хостом. VMWare tools под DOS не были созданы, а VNC — передаёт картинку. В результате, сидя в текстовой консоли доса, оказывается невозможно скопировать текст из этой консоли. Хорошо, что добрые люди написали vmtsr. Хоть какой-то хлеб…
Я пользовался практически всеми версиями Виндовс — ни одну не пропустил (а начинал еще с ДОС — тоже разных версий, Юникс и др.) В каждой новой версии Виндовс появлялись новые функции, свершенствовался пользовательский интерфейс и улучшалась юзабельность. В чем-то новые версии вызывали неприятие у людей, но пользователи постепенно к ним привыкали, и потом также ругали след. версии Виндовс, расхваливая предыдущую.
Начинал еще с Виндовс 1.0, кот. влезала на одну дискету; она была еще сырая и часто зависала.
В Вин2.0 появились поддержка расширенной памяти и возможность запускать ДОС-программы в отдельных окнах (при этом каждому окну давалось 640КБ памяти).
В Вин3.0 появился более совершенный графический интерфейс и цветовое оформление.
В Вин3.11 (10 дискет, и частенько одна из них оказывалась сбойной) появилась полноценная возможность работы с сетью, общие папки, обмен файлами.
ВинНТ 3.1/3.5/3.51 — файловая система НТФС, поддержка 32-разрядных платформ и множества микропроцессорных архитектур; также появилась серверная версия.
В Вин95 — поддержка 32-разрядных программ, еще более совершенный интерфейс, и она стала значительно более удобна в использовании; а в доп. пакете Микрософт Плюс! появился браузер — Интернет Эксплорер 1.0.
В Вин95 ОСР2 появились ФАТ32, значительно улучшилась работа с мультимедиа и появился встроенный браузер Интернет Эксплорер 3.0.
ВинНТ 4.0 предназначена для бизнеса, версии серверная и для рабочих станций.
В Вин98 — поддержка больших жестких дисков (ФАТ32), встроенный браузер Интернет Эксплорер 4.0 и возможность автообновления с серверов Микрософт.
Windows 2000 — существенная веха в развитии Виндовс
В ВинМЕ — системный реестр и первые возможности восстановления системных файлов после сбоя.
ВинХР — классика, самый долгожитель среди ОС; отказ от ДОС (только эмуляция); значительно усовершенствованный графический интерфейс и удобство использования; расслоение на версии для разного использования (домашняя, профессиональная, встроенная, медиацентр и др.); полноценная многозадачность (СервисПак3); поиск файлов с индексацией и т.д.
ВинВиста — интерфейс Аэро, шифрование диска Битлокер, система восстановления системы после сбоев (в т.ч. создание контрольных точек восстановления), модульность ОС, и мн.др.
Вин7 — тоже классика (как и ВинХР) со многими существенными улучшениями интерфейса и функциональности; усовершенствованное автовосстановление системы; в общем, развитие всего того, что появилось в Висте.
Вин8/8.1 — графический интерфейс Метро, удобство использования с сенсорными экранами; появился Магазин приложений; Проводник и др. приложения с ленточной панелью инструментов, и т.д.
Вин10 — еще лучше и удобнее: усовершенствованное меню Пуск, возможность использования неск. рабочих столов, голосовой помощник Кортана (не работает в русских версиях), и мн.др.
Вин11 — новая версия ОС; новый пользовательский интерфейс (в т.ч. меню Пуск) как-то мне не очень понравился (может, просто дело привычки), хотя отдельные новые элементы интерфейса имеют смысл; также Вин11 обязательно требует наличия ТРМ.

Как раз много где написано, что язык один из самых простых в мире.

Ну вы что вводите людей в заблуждение-то? Вы сами на японском читать/писать можете? Если да, то сколько лет у вас заняло обучение?

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

Для понимания моего языкового бэкграунда: у меня английский C2 (подтверждено Кембриджским экзаменом), я свободно понимаю любые аудиокниги на испанском и немецком. Японский был моим четвертым иностранным.

Если бы у меня было меньше оптимизма и больше понимания, во что я ввязываюсь, я никогда бы не начал изучать японский. Поэтому, когда вижу, что кто-то пишет о его легкости, у меня начинаются вьетнамские флэшбэки :-)

Интересное чтиво. Сам, замечу, был аллергиком. Пыльца амброзии мучила. Для лечения, а лучше сказать для нормализации иммунитета, воспользовался аппаратом ДЭНАС с выносным точечным электродом. Аппарат генерирует нейроподобные импульсы. Работал по точкам акупунктуры на пальцах. Лечение заняло месяц. Сейчас август перестал быть месяцем чихания, соплей и слез.

Бла-бла-бла, обновляйтесь...

Ничего нового, собственно. Будем работать ещё медленнее, а памяти жрать ещё больше.

Разрабочикам прекрасного ArtWeaver вот ничего нисколько не мешает. К слову, очень хороший редактор. Советую.

Даже бесплатный (безусловно бесплатный!) во многом "делает" весь спектр задач, для каких юзвери просят Фотошоп, а выглядит как "дореформенный" Photoshop 7 ME (до появления Adobe Creative Suite).

https://www.artweaver.de/en/features

UFO landed and left these words here
1
23 ...

Information

Rating
Does not participate
Registered
Activity