Pull to refresh
57
0

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

Send message

«Программирование — вторая грамотность». К 92-летию со дня рождения ученого-программиста Андрея Петровича Ершова

Level of difficultyEasy
Reading time10 min
Views9.1K
image

В каждой науке есть великие персоналии – люди, определившие вектор развития на годы вперед. Почти всегда они разносторонне одарены: Бородин был великим композитором и не менее одаренным химиком-органиком, а медицинское образование Чехова позволяло ему беспристрастно, с хирургической точностью, препарировать человеческие души.

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

27 октября 1980 года Андрея Петровича пригласили выступить с заглавным докладом на 3-й Всемирной конференции ИФИП и Юнеско по применению ЭВМ в обучении. И Ершов выступил с совершенно замечательной речью под нетипичным метафорическим названием «Программирование – вторая грамотность». Так что же он имел в виду?
Читать дальше →

Все запретим, но… потом: поставщики литографических сканеров продолжают зарабатывать сотни миллионов долларов в Китае

Reading time4 min
Views17K
image

Тема торговой войны Китая и США продолжает оставаться актуальной вот уже несколько лет. Особенно остро стоит вопрос поставок инструментов для производства электроники и компонентов в Поднебесную. Постепенно вводится все больше и больше ограничений, которые тормозят развитие электронной промышленности в КНР.

В частности, в страну запрещен ввоз литографических машин для производства современных чипов. Кроме того, США анонсировали ввод более жестких ограничений, которые должны привести к блокированию поставок и литографических сканеров для не самых современных, но все еще очень популярных в производстве чипов. Тем не менее, поставщики, включая Lam Research из США и ASML Holdings NV из Нидерландов, пока что не планируют приостанавливать поставки и даже заявили о росте объема отгрузок в Китай. Что вообще происходит?
Читать дальше →

Апрельские одноплатники: 5 новых моделей для разработки корпоративных и DIY-проектов

Reading time4 min
Views24K


Как и в случае мини-ПК, производители одноплатных компьютеров постоянно выпускают новые модели, среди которых встречаются весьма любопытные. В этом посте поговорим о пяти системах, которые можно использовать в самых разных целях, от крупных корпоративных проектов, до DIY- систем, создаваемых с мотивом «потому, что могу». Кстати, среди девайсов, попавших в подборку, есть и платы с RISC-V чипами. В общем, много всего интересного. Подробнее, как всегда — под катом.
Читать дальше →

Странный мир путей файлов в Windows

Reading time6 min
Views76K

Пути файловых систем в Windows страннее, чем можно подумать. В любой производной от Unix системе пути на удивление просты: если нечто начинается с /, то это путь. Но всё совершенно иначе в Windows, которая имеет озадачивающее разнообразие схем составления пути.

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

Стоит заметить, что статья ограничивается только тем типом путей, который видит пользователь приложений Windows (обусловленный Win32 API). Под этим слоем есть ещё больше любопытного, в основном касающегося тех, кто пишет драйверы оборудования и тому подобное.
Читать дальше →

C# как замена VBA в Excel

Level of difficultyMedium
Reading time14 min
Views16K
Я довольно много пишу на C#, и это мне нравится. Время от времени мне хочется, чтобы можно было использовать C# внутри других приложений.

Думаю, одним из таких приложений, в которых хорошо приживётся C#, был бы Excel, этим языком можно было бы заменить VBA. Язык VBA уже немного отстаёт от времени, а Microsoft не планирует его апгрейдить. Вместо него — компания предлагает среду-песочницу для JavaScript под названием Office Scripts.

Я понимаю привлекательность JavaScript для веб-версии Excel, но не в качестве хорошей замены VBA.

Так как этим не собирается заниматься Microsoft, я решил, что могу попробовать сам. В конце концов, если Microsoft так увлечена JavaScript, маловероятно, что она выдавит меня с обширного рынка использования C# в Excel.

Итак, вот что я создал:

QueryStorm IDE, выполняющая запрос LINQ для таблицы Excel

«Это что, IDE языка C#, выполняющая запросы LINQ для таблиц Excel?» Именно. Всё так и есть.

Я назвал это QueryStorm. Моя работа над этим проектом началась ещё в 2014 году. Изначально у него имелась только поддержка SQL, и с тех пор я продолжал над ним работать, постепенно добавляя поддержку скриптинга на C#, пользовательских функций C#/Excel, поддержку NuGet, отладчик и даже магазин приложений!
Читать дальше →

Это не чат, это GigaChat. Русскоязычная ChatGPT от Сбера

Level of difficultyMedium
Reading time14 min
Views121K

Хайп вокруг нейросетей, выровненных при помощи инструкций и человеческой оценки (известных в народе под единым брендом «ChatGPT»), трудно не заметить. Люди разных профессий и возрастов дивятся примерами нейросетевых генераций, используют ChatGPT для создания контента и рассуждают на темы сознания, а также повсеместного отнимания нейросетями рабочих мест. Отдадим должное качеству продукта от OpenAI — так и подмывает использовать эту технологию по любому поводу — «напиши статью», «исправь код», «дай совет по общению с девушками».

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

Мы с радостью хотим поделиться с сообществом своим опытом по созданию подобной модели, включая технические детали, а также дать возможность попробовать её, в том числе через API. Итак, «Салют, GigaChat! Как приручить дракона?»

Читать далее

Толстые слои легаси: как запускаются современные процессоры Intel

Level of difficultyEasy
Reading time5 min
Views22K

Центральные процессоры (CPU) не могут ничего сделать, пока им не скажут, что делать. Возникает очевидная проблема — как вообще заставить CPU что-то делать? Во многих CPU эта задача решается при помощи вектора сброса — жёстко прописанного в CPU адреса, из которого нужно начинать считывать команды при подаче питания. Адрес, на который указывает вектор сброса, обычно представляет собой какую-нибудь ROM или флэш-память, которую CPU может считать, даже если никакое другое оборудование ещё не сконфигурировано. Это позволяет производителю системы создавать код, который будет исполнен сразу же после включения питания, сконфигурирует всё остальное оборудование и постепенно переведёт систему в состояние, при котором она сможет выполнять пользовательский код.

Конкретная реализация вектора сброса в системах x86 со временем менялась, но, по сути, это всегда были 16 байтов ниже верхушки адресного пространства, то есть 0xffff0 на 20-битном 8086, 0xfffff0 на 24-битном 80286 и 0xfffffff0 на 32-битном 80386. По стандарту в системах x86 ОЗУ начинается с адреса 0, поэтому верхушку адресного пространства можно использовать для размещения вектора сброса с минимальной вероятностью конфликта с ОЗУ.
Читать дальше →

Быстрое нахождениe остатка от деления больших чисел для делителей специального вида

Level of difficultyMedium
Reading time11 min
Views7.6K

В этой статье я расскажу об одном способе вычисления x mod p, для p вида (2 ** n - omega), причём omega значительно меньше 2 ** n. Напишу генератор констант на Python. Приведу пару игрушечных примеров на С++, для которых может быть выполнено исчерпывающее тестирование для всех возможных аргументов. А в качестве серьёзной проверки - вычислю 97! mod (2 ** 256 - 2 ** 32 - 977).

Читать далее

Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов

Level of difficultyMedium
Reading time11 min
Views27K
image


Время неумолимо бежит вперед: выходят новые гаджеты, постепенно заменяя старые, превращая их в тыкву или в лучшем случае, в «тапочек» для звонков. Сейчас смартфоны стали практически одинаковы во всем: дисплей на всю площадь передней панели, почти полное отсутствие аппаратных кнопок, беспроводная зарядка… Это всё, конечно, здорово, но ведь иногда так хочется взять в руки старый, но такой необычный в наше время QWERTY-смартфон и попытаться его использовать как основной, да и цены на них могут приятно удивить: БУ девайс можно купить за несколько сотен рублей (~5-10$). Одна проблема — клиенты приложений на версии Android 1.6-2.0 безбожно устарели и давно не работают. Но иногда желание воскресить старый девайс превыше потребительского качества и тут я пришёл к мысли… а почему бы не написать с нуля свои клиенты популярных приложений? ВК с музыкой, YouTube, трекинг посылок. Так я и сел писать необходимые в повседневной жизни приложения, с нуля, на голом API Android, без каких либо фреймворков (и даже AppCompat). Получилось ли у меня это? Узнаем в статье!
Читать дальше →

Пятничные клеточные автоматы: 10 удивительных правил с нотацией Хенселя

Level of difficultyEasy
Reading time7 min
Views7.6K

Продолжим знакомиться с вариациями клеточных автоматов. Ранее мы рассмотрели базовую «life-like» конфигурацию и добавили к ней поколения.

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

?

Исходников нет, но мы не сдадимся: портируем Android без каких-либо исходников от производителя

Level of difficultyMedium
Reading time10 min
Views25K
Несмотря на то, что ядро Linux предоставляется под лицензией GPL, ушлые китайские производители зачастую не хотят публиковать исходный код ядер своих устройств. И ладно, если бы это касалось смартфонов по 2-3 тысячи рублей, но ведь даже за 8-10 тысяч вас могут обделить с «исходниками», хотя по закону это их прямая обязанность! Однако, даже отсутствие исходного кода ядра, не помешает нам портировать кастомную прошивку и подарить вторую жизнь герою нашей сегодняшней статьи — поддельной реплике Huawei P20 Pro на базе чипсета MT6580! Сегодня мы с вами: узнаем подробнее про новые смартфоны за 7-8 тысяч рублей из онлайн-магазинов, портируем прошивку crDroid простым копированием файлов и посмотрим, как работает такой девайс в 2023. Интересно? Тогда добро пожаловать под кат!

Дорогие представительницы прекрасного пола, я и TimeWeb Cloud, поздравляем вас с 8 марта!

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

Шесть уровней метавселенной математики

Reading time6 min
Views43K

Когда я был маленький, я думал, что математика - это очень формальная наука. Как бы не так! Когда о нас, математиках, говорят как о сухарях — это ложь! (с) 17 мгновений весны.

Приглашаю вас в путешествие по 6 уровням вселенной математики - от полностью формального до философско-поэтического, и заодно мы ответим на вопрос, является ли теорема Геделя теоремой или мета-теоремой.

Читать далее

Record structs в C#: эффективные и безопасные типы данных

Reading time3 min
Views16K

C# 9 представил новую функцию, называемую Запись (record), которая обеспечивает неизменяемость и семантику сравнения на основе значений для классов. Записи упрощают создание типов данных и обеспечивают лучшую безопасность при работе с ними. Однако до C# 10 они были доступны только для классов, теперь же у нас есть record struct, позволяющие применить те же преимущества Записей и к структурам.

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

Читать далее

Модульность с большой буквы «М»: возможности и характеристики 16-дюймового ноутбука Framework. И кое-что еще

Reading time5 min
Views8.7K


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

Но идея осталась, и уже другие компании стали реализовывать собственные варианты устройств — от смартфонов до ноутбуков. Некоторые проекты закрывались еще быстрее, чем Ara. Другие же добирались но MVP и даже отгрузок клиентам. Одним из таких проектов стал модульный ноутбук Framework, о котором мы писали, и не раз. В скором времени появятся в продаже новые модели, о которых стоит рассказать подробнее — там много всего интересного.
Читать дальше →

PCIe для электронщиков: знакомство с дифференциальными парами

Level of difficultyMedium
Reading time10 min
Views30K

PCIe, он же PCI-Express, представляет собой очень мощный интерфейс, и в этой статье я опишу основные принципы его использования в собственных проектах. Поначалу PCIe может немного пугать, но он всё же достаточно прост для экспериментов и вполне пригоден для применения в рамках хобби. В определённый момент вы можете решить использовать микросхему PCIe в собственных проектах или, например, задействовать подключение PCIe на Raspberry Pi Compute Module, так что лучше быть к этому готовым.
Читать дальше →

Аппаратные закладки под микроскопом. Обнаружение

Level of difficultyMedium
Reading time5 min
Views37K

Дисклеймер. Много лет в сообществе технических специалистов идёт дискуссия о возможности внедрения троянов в популярные коммерческие микросхемы. К сожалению, в этот чисто технический вопрос вмешиваются политические аргументы: мол, давайте переходить на российские процессоры, потому что в западных чипах закладки! Такой типичный FUD (см. контрпропаганду на Хабре). Кстати, американские коллеги используют такие же аргументы, но против китайских микрочипов. Похоже, политики любят использовать «пугалки» для принятия выгодных решений, ведь искусство политики древнее самого человечества.

Хотим ещё раз подчеркнуть: мы исследуем эту тему исключительно в общемировом контексте как важную область микроэлектроники и информационной безопасности. А как используют данные факты ангажированные представители индустрии и политики — пусть останется на их совести.
Читать дальше →

Как правильно отправить пациента в Stand-by и включить обратно

Level of difficultyEasy
Reading time14 min
Views10K
Расскажу, что именно и как мы делаем, когда «вырубаем» вас в операционной.


Странные комки внутри ингалятора Мортона — это натуральная губка, пропитанная диэтиловым эфиром

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

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

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

Неполнота и относительность — как Эйнштейн, Гейзенберг, Шрёдингер и Гёдель сокрушили Запад и построили мост на Восток

Reading time36 min
Views8.1K

Европа позднего средневековья была довольно замкнутым культурным пространством. От политеизма, культурного взаимообмена и философской свободы времён греческой и римской античности не осталось и следа. Широко исповедовались только три авраамические религии — повсеместно распространенное христианство, иудаизм в еврейских общинах и ислам в арабской Испании. Философия была строго догматизирована и чётко следовала религиозным канонам. За любые несоответствующие догматам Церкви мысли могло последовать строгое наказание — предание анафеме или даже что похуже. Например, известный нидерландский философ Барух (Бенедикт) Спиноза за свои пантеистические взгляды был изгнан из еврейской общины и подвергнут остракизму, а итальянский мыслитель Джордано Бруно за свою теорию о множественности миров был просто напросто сожжен на костре инквизиции.

Однако с началом европейских колониальных завоеваний, а также наступлением эпохи Просвещения европейская культура начала шаг за шагом открываться новому. Доселе невиданный всплеск случился после вторжения европейских империй в Индию, Китай и Японию — европейцам открылось богатство ведической, буддийской, даосистской и конфуцианской культур. Несмотря на агрессивную миссионерскую деятельность христианских проповедников и распространения культуры Запада в колониях, в изрядно уставшей от христианского догматизма метрополии в моду стала входить культура Востока.

Читать далее

Алгоритмы быстрого умножения чисел: от столбика до Шенхаге-Штрассена

Level of difficultyMedium
Reading time26 min
Views49K

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

И уж конечно, никогда при написании a * b мы не задумываемся о том, как реализовано умножение чисел a и b в нашем языке. Какие вообще есть алгоритмы умножения? Это какая-то нетривиальная задача?

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

Скорее к формулам!

Как я оптимизировал стандартную русскую раскладку

Reading time18 min
Views29K

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

Читать далее

Information

Rating
Does not participate
Registered
Activity