Обновить
49
Константин Львов@klvov

программист, программист СУБД, веб-разработчик

8
Подписчики
Отправить сообщение

это оно, когда надо было достать данные из ячейки, WinAPI-шное GetWindowTextA дергало?.. ойё

Я тут посмотрел на один ваш исходник, подумал что он мне что-то такое напоминает и попросил у Дипсика помощи:

Имеется текст на языке программирования tree, вот он

$mol_search_demo $mol_example_small
	title \Search field with suggest 
	sub /
		<= Search $mol_search
			query => query
			suggests <= suggests /
	tags /
		\search
		\suggest
		\autocomplete
		\string
		\fulltext
		\filter
	aspects /
		\Widget/Control
		\Type/String

Это описание некоторой древовидной иерархической структуры.
Переведи описание этой же структуры на LISP-подобный диалект.

Дипсик выдал примерно то, что я и предполагал:

($mol_search_demo $mol_example_small
  (title "Search field with suggest")
  (sub
    (<= Search $mol_search
      (query => query)
      (suggests <= suggests /)))
  (tags
    "search"
    "suggest"
    "autocomplete"
    "string"
    "fulltext"
    "filter")
  (aspects
    "Widget/Control"
    "Type/String"))

Ну а LISP за все эти годы так до мэйнстрима и не добрался, видимо слишком сложно для нормального программиста сразу AST-деревьями думать...

Я ставил (на M1 Pro), оно работает шустро, к памяти относится экономнее, юзабилити более стандартное, но все портит неполная поддержка железа (типа привык уже подключать монитор через USB-C, а тут не работает, и надо по-старинке через HDMI), и еще неясно, как на ней виртуальные машины будут работать - qemu скорее всего запустится, а что-то более нативное - не факт. Ну и аналога rosetta там, как я понял, нет, то есть запускать можно только бинарники, собранные для линуксов под aarch64.

Но если такие возможности не требуются, то Asahi Linux вполне может подойти.

Ага, фундаментальная статья Лемпорта этот принцип упоминает тоже: https://lamport.azurewebsites.net/pubs/time-clocks.pdf

Думаю, авторы SICP скорее всего с этой работой были знакомы.

Математик Воеводский (филдсовский лауреат) в каком-то интервью сказал, что грядет большая битва науки и религии, которая закончится их объединением. Так что как знать...

Новости, которые мы заслужили

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

на биометрию все завяжут, будет авторизация по принципу "покажи фэйс, теперь покажи отпечаток пальца, теперь проговори голосом "раз-два-три-четые-пять, я иду тебя искать", а для полного доступа набери еще пин-код из четырех цифр". Этого хватит, наверное, лет еще на 50-100 (имхо)

Это да, хоть DBA-шником работать не привелось, но одно время хотел (и даже экзамены сдавал), и эти знания очень даже помогают в любой области, где есть БД (плюс-минус везде). Там просто диагностика с этого начинается - сколько таблиц? сколько в каждой из них строк? а столбцов? какие первичные и внешние ключи? какие индексы и констрэйнты? Этого обычно хватает для первичного понимания что и как, а дальше уже там можно смотреть какая кардинальность по колонкам, и всякое прочее )

а потом оказывается (реальный случай), что Remmina, которая в Noble, обновила версию libfreerdp-плагина, и теперь он не работает с вашим шлюзом удаленных рабочих столов. И на подобные нюансы то и дело натыкаешься.

ну как, потом всё равно в поток влазить, по сути то же самое, чем обочечники занимаются

Нда, интересно. Хабр двух таких высокоуровневых инженеров одного забанил, другому систематически всю карму тут сливают, зато вот статьи "Из бариста в программиста" - это вот то, что мы теперь любим. Штош... успехов, и низкий поклон за ваш самоотверженный труд.

и еще не очень понятно, почему сначала одни люди пишут модификатор доступа private, а потом другие люди на то же место через рефлексию пишут setAccessible (true). Наверное, в этой вечной борьбе брони и снаряда есть какой-то смысл, но я уже не уверен, что хочу понимать, в чем он состоит.

удачно спроектированный DSL приносит даже не миллион, а миллиард пользы, но навскидку как пример именно супер-удачного DSL мне приходит на ум только SQL.
Оно конечно их тысячи (от awk до verilog), но все же используются в узких нишах, хотя DSL-ам так и положено.

И еще не всегда бывает сразу понятно, надо ли городить свой DSL, или не надо. У меня вот как-то была задача, под которую я-таки нагородил свой малюсенький, но настоящий DSL-чик, с рекурсивным спуском, логическими операторами, скобками произвольной вложенности, и, когда я это сделал и довел до работающего состояния, мне пришла мысль, что может быть, лучше надо было просто подключить сюда Groovy. Подключил, что заняло меньше чем полдня, и оказалось, что так оно все гораздо удобнее в использовании.

Все так, происходила перезагрузка ) это команда процессору начать исполнение с адреса 0. Причем там можно было написать RANDOMIZE USR 16384 и оно пошло бы исполнять то, что написано прямо в экранном буфере, начиная с левого верхнего угла. Причем USR <address> можно было дать на вход не только RANDOMIZE, еще несколько было вариантов, которые приводили к тому же результату. Почему это надо было запроектировать именно так, я до сих пор и не понял, ну, сумрачный британский гений сэр Синклер так изобрел.

Не только лишь все распарсят, что происходит, если выполнить команды, зашифрованные в никнейме автора, на каком-то то ли комьютере, то ли калькуляторе Древних Людей

RANDOMIZE USR 0

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

  • скачать Visual Studio community (несколько гигов, даже если нужно только C++)

  • получить на нее бесплатную лицензию (тоже раньше было просто, а сейчас не так просто)

  • Windows SDK вроде уже обычно включается в дистрибутив VS, но то и дело оказывается, что там чего-то не хватает, и надо где-то докачивать полную версию SDK

  • потом оказывается, что в SDK под Windows 11 забыли включить какой-то заголовочный файл, который был в SDK для Windows 10, и его надо отдельно скачать и добавить вручную

  • все настроить, добиться того, чтобы оно скомпилировалось в .obj и слинковалось в .exe, чтобы запустить этот exe и увидеть, что в новой версии Windows то API, которую программа использует, либо уже убрали как устаревшее, либо переделали так, что пользоваться еще можно, но при этом программа ведет себя глючно (в моем случае приложение WinSwitch получает от Windows список окон, в котором невидимые окна она понимает как видимые, при этом количество этих глючных окон растет после каждого RDP-подключения и исчезают они только после процедуры Logoff-Logon)

Так что да, с вашим посылом остается только согласиться.

это да, иногда (в трезвом состоянии сознания) приходилось писать примерно такие регулярки

%s/^.*\\\(\(\w\|\s\|\.\)\+(.*)\.eif$\).*$/\1/g

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

ну, первые 25 лет сложно, потом привыкаешь

Имхо, дело в том, что каждый из них это художник со своим видением. Линусу в этом патче что-то не нравится, и он отписывает автору "суди, дружок, не выше сапога".

1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность