В предыдущей статье раскрывались некоторые базовые понятия теории типов. В этот раз мы рассмотрим обобщённые типы (generics) – необходимость появления такой абстракции, ключевые особенности и различные сценарии использования в программировании.
Читать первую часть обзораНа днях узнал, что вышла русскоязычная версия третьего оригинального издания книги «Искусство схемотехники» (статья на Хабре). Новость заинтриговала. Так как достаточно давно увлекаюсь этой книгой и не понаслышке знаю, что отечественные читатели ее очень ждали. Точнее даже, заждались. Авторы оригинальной книги еще в 2015 году сделали рекламу своему произведению, разместив в свободном доступе, на сайте, посвященному книге, предисловие к третьему изданию. Но это не только реклама, но и достаточно детальное описание книги, а также декларация концепций и идей в ней заложенных. Надеюсь, мой скромный любительский перевод не будет воспринят издательством «Бином» в штыки: целей что-либо нарушать у меня нет. Если что, ко мне можно обратиться на почту. Я всегда рад конструктивному диалогу и считаю, что давно сложились условия, когда отечественная версия оригинальной книги просто обязана превзойти оригинал. Кроме того, реклама от самих авторов-корифеев еще никому не вредила.
Я заказал себе «первый том» от «Бинома». Скоро должна книжечка прийти. Я ее внимательно изучу, и по результатам будет рецензия. Надеюсь, книга оправдает мои ожидания. Даже интересно сравнить свои навыки в переводе с профессионалами. А пока, предлагаю приступить к чтению предисловия.
Читать далееА не пора ли нам ещё раз обсудить, что раньше было лучше, а нынче всё не так, всё не то и вообще молодёжь какая-то не та?
Сегодня, правда, мы ограничим тему образованием. Внутри, как и всегда, пространные рассуждения, вольное изложение исторических фактов и никакой конкретики!
А может лучше сразу в комментарии?Миром правит детерминизм или случайность? Будущее предопределено или многовариантно? Можно ли в точности предсказать будущее состояние системы по начальным условиям, или её динамика в принципе непредсказуема? Всё происходит согласно необходимости и провидению, или наша судьба создаётся на ходу? Может ли Бог быть генератором случайных чисел? Или он всё-таки не играет в кости? Только не говорите, что вы никогда не задумывались над этими вопросами и не хотели бы узнать, как оно есть на самом деле. Даже проблема свободы воли на их фоне вторична, поскольку целиком зависит от проблемы причинности и детерминизма.
Разумеется, ответы следует искать в квантовой механике, ведь в основе всех физических явлений лежат законы движения и взаимодействия элементарных частиц. На сегодняшний день это самая фундаментальная и самая экспериментально подтверждённая теория из всех, которые у нас есть. У неё сложный математический аппарат, но он работает безотказно и даёт предсказания, сбывающиеся с точностью до тысячных знаков после запятой. Тем не менее, именно квантовая механика даёт понять, что будущее принципиально непредсказуемо, и никакая сила не может заранее предопределить ход событий. Как же так? Нет ли здесь противоречия? Может, учёные сами не знают, детерминированы физические процессы или случайны? Нет, на этот счёт наука даёт чёткий и недвусмысленный ответ. Всё, что вы прочитаете в данной статье – только конкретика, никакой философской неоднозначности.
Читать далееВ 2020 году я опубликовал здесь статью, в которой описал свой советский растровый микроскоп МРЭМ-200 1987 года выпуска. Мне было приятно, что статья вызвала большой интерес и помогла мне познакомиться с людьми со схожими увлечениями.
Хочу рассказать о дальнейшей судьбе микроскопа и его усовершенствованиях. В статье хочу рассказать о внедрении системы прямого ввода изображения с микроскопа в компьютер и его последующей обработкой программными средствами.
За прошедшие годы микроскоп подвергся нескольким модернизациям, об одной из которых хочется рассказать. В 80-е годы изображения с мониторов микроскопа фиксировались для дальнейшего изучения и сохранения с помощью пленочного фотоаппарата. Для этого в комплекте с микроскопом шла специальная тубусная приставка, фиксирующаяся на мониторе. В третьем тысячелетии мне хотелось, конечно, уже иметь компьютерный захват картинки, как в современных растровых микроскопах. В начале я пошел по самому простому пути: стал использовать цифровой фотоаппарат Canon вместо пленочного фотоаппарата. Поскольку построение изображения в максимальном разрешении длится 41 секунду, мне пришлось перепрошить фотоаппарат на такую длительную выдержку. Работа с микроскопом сразу стала комфортней, но я понимал, что есть еще к чему стремиться.
В декабре 2022 года в Телеграмме я познакомился с еще одним владельцем микроскопа МРЭМ-200. В этой статье я буду, называть этого человека, по его просьбе, «Владелец МРЭМ-200 из Москвы, пожелавший остаться анонимным». Он решил проблему прямого компьютерного захвата, использовав видео с youtube (https://www.youtube.com/watch?v=ruuxn2u3yao) известного американского популяризатора науки Бена Краснова (Ben Krasnow). «Владелец МРЭМ-200 из Москвы, пожелавший остаться анонимным» творчески переработал информацию Бена Краснова, адаптировал софт под технические особенности своего микроскопа и любезно поделился со мной этим софтом. У меня появилась программа, которая замечательно строила и сохраняла изображение на экране компьютера синхронно с изображением на родных мониторах микроскопа. Между компьютером и микроскопом добавился отдельный модуль согласования, в котором помещался АЦП с выходом USB и операционные усилители с регулировкой коэффициента усиления:
Читать далееBackend Driven UI — относительно новая парадигма создания приложений. Она позволяет сделать продукт индивидуально полезным для каждого пользователя. На личном опыте я убедился, что это очень важно в современном процессе мобильной (и не только) разработки.
В данной статье я постараюсь подсветить ключевые аспекты концепции, оценить её пользу как для процесса разработки, так и для бизнеса. Ближе к концу приведу реальные примеры применения BDUI в рамках наших проектов. Сразу оговорюсь, что фокус внимания будет на in-house потребностях построения корпоративных приложений.
ВпередPrivateGPT — это проект, который расширяет возможности работы LLM-моделей, позволяя добавлять неограниченное количество личных данных.
31 октября 2023 AMD Radeon предоставила поддержку PyTorch для любительских видеокарт. Полный список видеокарт и ОС можно посмотреть здесь. Описанная инструкция протестирована на AMD Radeon RX 7900 XTX.
Для запуска нам понадобится Ubuntu с установленными: git, make, docker и ROCm.
Читать далееПредставляю вниманию уважаемого сообщества вторую статью из серии «Территория Большого взрыва». От современного устройства Вселенной, описанного в первой части, перейдём к эволюции представлений человечества о её устройстве от древности до теории Большого взрыва. Взглянем на эту теорию в её классическом виде и обозначим её основные проблемы и противоречия
Читать далееВ мире компьютерных наук мало что может сравниться с созданием собственной операционной системы. В этой статье мы погрузимся в увлекательный мир разработки операционных систем, создав 16-битную ОС с помощью языка ассемблера NASM под архитектуру процессоров Intel x86-64. Мы рассмотрим каждый этап разработки, начиная с основ и заканчивая реализацией ключевых компонентов.
Заменит Windows?Корпорация Google умеет удивлять. На днях она представила специализированную версию своего браузера Chrome для бизнеса. Это платный обозреватель, который содержит элементы ИИ, предназначенные для борьбы с киберугрозами. Подробности — под катом.
Читать далееОднажды мне попалась на глаза статья про сотрудника, который реализовал в Excel книге полноценную игру с интерфейсом, противниками и другими механиками. Продолжив изучать эту тему, я увидел целый мир, в котором люди, используя не предназначенные для этого продукты, реализуют различные игровые механики. Эта мысль попала мне в голову, и после этого мне всегда хотелось самому реализовать нечто подобное.
Что из этого получилось