Побудуємо віртуальну машину?
Я помітив, що в основному в аматорських колах розробників та упорядників оточує менша містика. Я здогадуюсь через їхню складність, їх "непрозорість", яку вони собі уявляють. З мов аналогічно занадто містифіковано складання.
Я думав, що зможу вирішити цю ситуацію, представивши поетапно простий процесор із простим, точно зменшеним набором команд [VCPU] структура. Крім того, від етапів проектування до впровадження, а також a, a VCPU-належати до дуже просто зібрати, також від його проектування до його реалізації, за кілька кроків.
Сам VCPU дуже простий (близько 300 рядків коду), він міг би виконати лише десять інструкцій. Опанування цим, я думаю, не представляє особливих труднощів для тих, хто цікавиться такими речами. Вся "віртуалізація" насправді була б не більше ніж твердження CASE. Асемблер також надзвичайно спрощений, хоча він був би дещо складнішим, ніж VCPU, але це також ледь 3-400 рядків коду, 10-12 функцій, які показували б фази, через які проходить вхід, джерело, до його нарешті можна запустити у двійковий файл.
Якщо вам цікаво, я із задоволенням напишу гарнір, пояснювальний текст та опублікую його разом із джерелом, оскільки сам VCPU та його асемблер готові роками.
Для тих, хто розуміє:
VCPU - це робочий регістр (це ACCU і має лише 8 біт).
Пам'ять, пов'язана з VCPU, до 256 байт. Його метод адресації є лінійним.
Операнди арифметичних інструкцій: вміст ACCU та адреса пам'яті. Результат завжди зберігається в ACCU.
Тюринг VCPU (у межах (розмір пам'яті)) завершено.
Використання: VCPU зчитує зібраний "двійковий файл" у пам'ять, а потім поміщає елемент керування за певною адресою [організаційна]. Програма працює, весь статус процесора та вміст пам'яті записуються послідовно відформатованими у вихідний файл (.html). Цей файл можна проаналізувати.
[Правда, існує також інтерактивна реалізація, з покроковим виконанням програми, можливістю зворотного кроку тощо. але для навчальних цілей більше підходить версія .html]
тому?
Думки, коментарі, пропозиції, зустрічні думки, запитання?
Я вітаю всі коментарі, якщо вони варті змісту, я їх використаю.
Спасибі заздалегідь.
Програмований робот для дітей
У вас є досвід роботи з доступними програмованими роботами для дітей?
Я думаю про програмованого робота для 8-річної дитини. Наприклад, мені подобається таке лего:
https://www.lego.com/hu-hu/product/boost-creative-toolbox-17101
Однак я думаю, що проста гра для програмування на планшеті чи ПК має більше можливостей.
Як ти гадаєш?
Ручний робот може бути кращим шлюзом до програмування, ніж додаток?
Можливо, у вас є конкретний робот, який виправдав свої обіцянки?
[вирішено] Логарифмічний (двійковий) пошук інтервалів
Напевно, вони вже винайшли іспанський віск, який є варіантом бінарного пошуку, коли ми не шукаємо точного значення, а лише в якому «прогалині» знаходиться саме те значення, яке ми шукаємо. Тобто, напр. який (найбільший) елемент масиву більший або дорівнює шуканому елементу.
Наприклад,.
[0] => 0
[1] => 0,02792
[2] => 0,05246
[3] => 0,09098
[4] => 0,126
[5] => 0,2
І тут я хотів би розмістити, скажімо, 0,1, що було б правильним рішенням для 3.
Я спробував скласти алгоритм сам, але якось це ще не приємно - я, звичайно, не вперше його придумав. Яка офіційна назва цього завдання?
Наразі моє власне рішення:
Редагувати: тепер я бачу, що в кінці https://wiki.prog.hu/wiki/Logaritmikus_keresés_(algoritmus) в останньому абзаці йдеться саме про це.
Благодійне шахрайство Tesco UK - тестування AB та "розділи і володарюй"
Tesco робить це не першим, хоча практика невідома в Англії. Загалом, дотепер працювали ресторани, були ті, хто вперше розцінив це як плату за послугу, але це було те, що "пожертву" було розміщено прямо в середині рахунку.
Основна ідея полягає в тому, щоб округлити £ 6,54 до £ 7, оскільки некомерційна організація сумує на 46p краще, ніж покупець, який цього ніколи не розумів. Або просто благодійність у розмірі 1 фунта, якщо рахунок перевищує 10 фунтів.
Імовірно, я б використовував тестування на АБ, але не для сміливості, а для повного обману. 3 групи споживачів:
В: самостійне оформлення замовлення: автоматична копійка їх запитує, чи хочуть вони заплатити ні копійки на благодійність. Якщо у нас немає SJW з фіолетовим волоссям, вони можуть почуватись досить безпечно, щоб відповісти на "Ні".
Б: самоперевірка: автоматична оплата їх не просить, просто відрахуйте з рахунку суму на благодійність. Вони навіть не усвідомлюють, що придбання чайових коштувало 17-18 фунтів замість 16,34 фунтів замість 16,34 фунтів
C: виписка людей: вони, імовірно, дадуть нагороду касиру, якщо він збере. Звичайно, дуже ймовірно, що волокно пера було навчене «шукати». Але касир не просить, не дотримується внутрішнього розпорядку, а лише рауті на його рахунок. Ми навіть не розуміємо чому.
З’являється газетна стаття. Ті, хто отримав розіграш "А" в лотереї Tesco, побачать тих, хто отримав розіграш "В" або "С" в коментарях (поділіться та правила). Можливо, жоден з них не засвідчив би, що жертва "В" насправді була просто сволочтю за сценарієм, який він отримав.
Навіть якщо сценарій "B" існує, це, природно, помилка.
Мені буде цікаво про подальші дії: я бачу невеликий шанс, що Tesco отримає тисячу значущих айв у цій країні. Але barki може з цим зробити що завгодно, він публікує оновлення тут.
Дай рибу на небо, щоб в Угорщині існували загальні та загальновиробничі норми. Причина, з якою напевно правильно обробляються. Правильно.
Шифрування майже з простими числами?
На вихідних я мав цікаву розмову з ІТ-фахівцем, який стверджував, що деякі алгоритми задовольняться майже основними результатами при пошуку великих простих чисел, заявляючи, що вони можуть працювати більш ефективно.
Для мене поняття "майже напевно прем'єр" досить страшне, але я не уявляю, щоб використовувати таке в двоклавішному шифруванні. У випадку з малими ключами не було б значного прибутку, великі ключі використовуються там, де важлива безпека, тому вони там не будуть ризикувати.
Що ви знаєте про це? Чи справді існують такі економію ресурсів алгоритми простого пошуку, і чи вони насправді використовуються? Якщо так, то де? Мир?
Хтось зрозумів API ebay чи Amazon тут?
Дивіться запитання на цю тему: Хтось тут розуміє API ebay або amazon?
Якщо у вас є практичний досвід роботи, будь ласка, допоможіть: є спосіб завантажити мої покупки поштучно з магазину?
Імовірність остаточних пар Ліги чемпіонів 8ad
Ось посилання:
де є таблиця ймовірностей вирішальних спарень BL 8ad у грудні. Тож до розіграшу дуелі, якою була ймовірність того, що команда X отримає Y в якості суперника. Тепер ми знаємо, хто його отримав.
Спочатку я закодував найпростішу версію в першій статті (де одна з різних лотерей 2002 року мала таку ж ймовірність, як і будь-яка інша, підраховувала кожен поєдинок, а потім роздавала його в 2002 році). Тоді таблиця ймовірностей виглядає так:
Це, звичайно, погано, оскільки ми не беремо до уваги стратегію розіграшу УЄФА (де вони спочатку розіграють 2-е місце, потім шукають суперника 1-го місця з інших команд, потім знову витягують 2-е місце тощо). . Код для цього знаходиться тут у base64:
Цей код містить випадкові числа, тому ми завжди отримуємо різний результат, неможливо точно сказати ймовірності. Тоді мені спало на думку, що ми також могли усунути випадкові числа, підрахувавши всі можливі результати жеребкування УЄФА (80720640 вийшов мені в результаті) і підрахувавши, яка дуель в ній відбулася. Ось код base64:
Але тут я отримав ту саму таблицю, що і в першому випадку (коли 2002 рік був іншим жеребкуванням)! Де проблема з ходом думок? Фактичні значення ймовірності неможливо визначити без генерації випадкових чисел?
p.s.: для тих, кого немає вдома у футболі, існує так багато добавок, що
- кожна команда на 1 місці зустрінеться з 2 місцем
- ті, хто був в 1 групі, не можуть зібратися у фіналі 8ad (https://www.uefa.com/uefachampionsleague/standings)
- команди з однієї країни не можуть брати участь
Ось відео про те, як проходив поточний розіграш: https://www.youtube.com/watch?v=iSR4PaAiHn4
Мережева передача мови - споглядання
Давайте зробимо саме це: є дві машини, включаючи мережеве підключення, і вам слід якось передати звук.
Завдання поверхнево просте. Аналоговий сигнал дискретизується, стискається, зашифровується на вимогу, передається по мережі, дешифрується з іншого боку, декомпресується, дані передаються на аудіосервер і потім відтворюються з тією ж частотою дискретизації. О, звичайно.:)
Щоб це працювало, волосся на стороні, що надсилає та приймає, потребують точно однакової частоти вибірки. Якщо це неправда, і приймач поглинає звук повільніше, ніж передавач, надсилає, буфер переповнюється. Якщо, з іншого боку, ми проковтуємо зразки швидше, ніж вони надходять, недоповнення буфера закінчується. Однак 44,1 кГц на стороні, що надсилає та приймає, становить лише номінально стільки, скільки.
Дивлячись на програми поверхнево, я переконався, що у випадку переповнення буфера кількість даних, які потрібно буферизувати, збільшується, тобто довжина буфера, а отже, і латентність. Ми б щось із цим вирішили? Ми, напевно, потягли мертвого коня на сусідню вулицю: відправник продовжує надсилати повільніше, ніж сторона, яка отримує дані. З більшим буфером звук буде тріскатися рідше, але якщо він зупиниться, він довше буде мовчати. З іншого боку, збільшена затримка повністю зменшить алгоритми придушення луни.
Але я знайшов функцію з багатообіцяючою назвою:
pa_stream_update_sample_rate ()
Змініть частоту дискретизації потоку під час відтворення.
Я думав, що насиченість буфера слід контролювати на приймаючій стороні, і відхилення від оптимального значення може бути використано як задане значення для контролера типу інтегратора. Очевидно, що потрібні обмежувачі, але це легко здійснити. Частота дискретизації повинна бути точно налаштована, щоб у середньому частота дискретизації на стороні передавача та приймача була точно такою ж, як частота дискретизації.
Звичайно, це передбачає точну настройку швидкості відтворення та частоти звукового звуку, але у випадку звуку мови я не думаю, що це буде турбувати.
Я думаю про цю функцію, яка вона перероджується у передискретизацію в глибині душі, тому що я не думаю, що звукові карти можуть отримувати будь-яку частоту дискретизації з роздільною здатністю 1 Гц.
Яка ваша думка? Це спрацює?
Спочатку я планую написати тестову програму, яка відтворює, скажімо, синусоїдальний сигнал 1 кГц, поки я змінюю частоту дискретизації. Я ще не починав, і не знаю, коли встигну на це, тож терпіть.:)