MarkovJunior — это вероятностный язык программирования, в котором программы являются сочетаниями правил перезаписи, а инференс выполняется при помощи распространения ограничений. MarkovJunior назван в честь математика Андрея Андреевича Маркова, придумавшего и исследовавшего то, что сейчас называется алгоритмами Маркова.
Читать полностью »
Рубрика «ненормальное программирование» - 3
Стохастический язык программирования на основе алгоритмов Маркова
2023-03-17 в 5:41, admin, рубрики: марковские цепи, математика, ненормальное программирование, правила замены, Программирование, стохастические алгоритмыКак изменять строки в dotnet
2023-02-25 в 11:44, admin, рубрики: .net, C#, csharp, dotnet, invoke, span, изменение строк, ненормальное программирование, строкиСтроки в dotnet являются предназначенной только для чтения последовательностью Char
-ов. Об этом явно написано в документации MicrosoftЧитать полностью »
Две культуры программирования: почему обе из них важны?
2023-01-11 в 7:57, admin, рубрики: Блог компании Яндекс, культура программирования, культура разработки, ненормальное программирование, Программирование, Промышленное программирование
Изначально я человек первой культуры и очень долгое время считал вторую несерьёзной. Пару-тройку лет назад я окончательно понял, что ошибался. Многие «старички» ошибаются в ту же сторону, а в последние годы ещё большее число людей ошибаются в обратную. Знакомство с соседней культурой и понимание, почему дела в ней делаются так, как там принято, превратит вас в лучшего разработчика.
Читать полностью »
Как создать свою СУБД с нуля и не сойти с ума. Практическое пособие начинающему некроманту. Часть первая
2023-01-06 в 3:47, admin, рубрики: database development, diy или сделай сам, parser, relational database, sql, sqlite, sqlite3, transpilation, wal, базы данных, ненормальное программирование, СУБД, хранилища данныхНаступил Апокалипсис.
Примеры кошмарного софта вокруг нас
2023-01-02 в 9:00, admin, рубрики: feature creep, ruvds_статьи, Word 2000, Блог компании RUVDS.com, деньги, интерфейсы, капитализм, ненормальное программирование, ненормальный софт, ожирение софта, Программирование, Софт, усложнение программ, Чат-ботыВ далёкие 90-е мы с нетерпением ждали релизов любимых программ с новыми фичами. Но с выходом MS Office 2000 (на скриншоте) стало ясно — что-то пошло не так. Оказалось, новые функции не только помогают, но и мешают…
И сейчас главная задача — отключить обновления во всех программах. Дошло до того, что приходится копаться в многолетних архивах того же uTorrent, чтобы найти версию без рекламы, которая работала нормально, пока не пришли бодрые менеджеры и не испортили программу на годы вперёд… То же самое по остальным инструментам, которые обрастают фичами и реально деградируют.
Читать полностью »
Превью профессии «говорящий с нейросетями»
2022-12-04 в 14:26, admin, рубрики: C, c++, data engineering, будущее, будущее наступило, нейросеть, ненормальное программирование, Программирование, С++Все уже слышали, что openAI выпустили в свет свою новую нейросеть-асистента, так что я решил попробовать на что она способна и описать свой опыт взаимодействия с этим.. Этой... Сущностью.
Разговор будет вестись как с человеком в вежливой форме, так как оказалось, что нейросеть очень хорошо запоминает = )
Начнём с чего-то простого, попросим сгенерировать на языке CMake простую программу
Пишем на С++ вектор, умеющий расширяться без копирования элементов
2022-11-26 в 14:44, admin, рубрики: c++, linux, memory management, mmap, vector, ненормальное программирование, системное программированиеВ языке С есть функции malloc
, free
и realloc
Читать полностью »
Пишем try-catch в C не привлекая внимания санитаров
2022-11-24 в 11:48, admin, рубрики: C, try catch, ненормальное программированиеВсё началось с безобидного пролистывания GCC расширений для C. Мой глаз зацепился за вложенные функции. Оказывается, в C можно определять функции внутри функций:
int main() {
void foo(int a) {
printf("%dn", a);
}
for(int i = 0; i < 10; i ++)
foo(i);
return 0;
}
Более того, во вложенных функциях можно менять переменные из внешней функции и переходить по меткам из неё, но для этого необходимо, чтобы переменные были объявлены до вложенной функции, а метки явно указаны через __label__
Читать полностью »
Пишем свой ROM BIOS
2022-11-24 в 8:01, admin, рубрики: BASIC, BOOT ROM, ROM, timeweb_статьи, ассемблер, Блог компании Timeweb Cloud, ненормальное программирование, старое железоСо стародавних времён хотел попробовать создать собственный ROM BIOS, который будет записан в отдельную микросхему и будет выполнять какие-то полезные действия. Например, ROM BIOS установлен в видеокартах (по крайне мере старых), контроллерах дисков и много где ещё — это фактически расширения обычного BIOS. Понимаю, что это всё старьё и тягаться с возможностями современного UEFI бессмысленно, но мне очень хотелось создать свой собственный образ, который находится физически в отдельной микросхеме и работает при старте системы. Поэтому пришлось даже для этих целей найти старый комп.
Когда я только решил влезть в этот вопрос, столкнулся с тем, что достаточно мало толковой информации, которая была бы хорошо и чётко изложена. Возможно, я плохо искал, примеров того, как писать свою программу в бутсектор жёсткого диска было много, а вот толкового мануала по созданию BIOS Extension — кот наплакал.
В этой статье мы с вами разберём создание своего ROM BIOS, дальше я расскажу про тонкости и нюансы, напишу низкоуровневый «Hello world», сделаю настоящий интерпретатор BASIC ROM, который стартует при включении компьютера, как в первых IBM PC.Читать полностью »
Пишущая машинка из телетайпа и Arduino
2022-11-02 в 5:59, admin, рубрики: arduino, consul 254, diy или сделай сам, ненормальное программирование, Разработка под Arduino, реверс-инжиниринг, реле, старое железоConsul 254 похож на принтер, но это не принтер. Ещё у него есть клавиатура, но при этом печатающая часть никак не связана со вводом, поэтому так просто получить что-то на бумаге не выйдет. Эту проблему мы и будем сегодня решать с помощью Ардуино и цветных проводочков. Конечно всё уже украдено до нас, и такую вещь уже описывали в журнале Моделист-Конструктор в 1989 году. Правда при этом использовался компьютер "Специалист", а не Ардуино.