а остальные офицеры открывают для себя красные фонари
Feb. 19th, 2026 10:06 pmи вот офицер открывает для себя оптику
Feb. 19th, 2026 10:01 pm"Прекрасные его разные микроскопы, о которых я до того времени и понятия не имел, приводили меня в восхищение. Я не мог устать целый час смотреть в них на все маленькие показываемые им мне вещицы, а особливо на чрезвычайно малых животных, которых я видел тут в одной капельке воды, бегающих и ворочающихся тут в бесчисленном множестве и гоняющихся друг за другом. А не успел я сими насытить свое любопытное зрение, как хрустальные призмы и другие оптические инструменты и делаемые ими эксперименты приводили меня в новые восторги и в удивление; но восхищение, в какое приведен я был его камерою-обскурою, Оптический прибор для получения изображения предметов на плоскости. Известен еще арабским ученым конца первого тысячелетия нашей эры. не в состоянии я уж никак описать. Я истинно вне себя был от радости и удовольствия, когда увидел, как хорошо и каким неподражаемым искусством умеет сама натура рисовать на бумаге наипрекраснейшие картины, и, что всего удивительнее для меня было, наиживейшими красками."
"Однако, сколь я ни беден был тогда деньгами, не мог расстаться с одним маленьким ящичком, составляющим камеру-обскуру, посредством которого можно было с великою удобностью срисовывать все натуральные виды домов, улиц, местоположений и всяких других предметов. Я купил его у сего человека, но за употребленные за то два червонца с лихвою заплачен был неописанным и многим удовольствием, какое в состоянии был производить мне сей ящик. Я всегда не мог довольно налюбоваться тем, как хорошо на шероховатом стекле изображались и рисовались сами собою все предметы, на которые наведешь выдвижною трубкою сего ящика, и не преминул тотчас, пользуясь сим инструментом, срисовать вид той улицы, которая видна была у меня из окон. Сия прошпективическая картина цела у меня еще и поныне, и я храню ее, как некакой памятник тогдашнего времени. Впрочем, ящичек сей произвел мне не одно сие удовольствие, но еще и другое, а именно: он подал мне повод к новой выдумке, а именно, чтоб заставить и самый мой прошпективический ящик отправлять в случае пожелания должность камеры-обскуры; ибо как скоро я узнал, от чего и каким образом камера-обскура устроена и как все ее действия происходят, то нетрудно мне было добраться и до того, как производить самое то ж мог бы и самый мой ящик, с учинением только некоторой с ним перемены."
продолжение про прошпективический ящик
Feb. 19th, 2026 06:11 pm"а как и сооружение и самого ящика не выходило у меня из ума, то принялся я за делание оного. Обстоятельство, что большой и такого сорта ящик, какой видел я в Торуне, неудобен был для возки его с собою в походах, поелику он один в состоянии был занимать очень много места в кибитке, было причиною тому, что я принужден был сделаться в первый раз отроду и поневоле инвестором[Французское — выдумщик, изобретатель.] и выдумывать особливый род устроения сего ящика, а именно, чтоб расположить и сделать его так, чтоб он мог совсем разбираться и складываться и, будучи разобран, мог занимать в сундуке очень малое место. Признаюсь, что как я никогда еще в выдумках сего рода не упражнялся, то сначала дело сие меня очень озабочивало; но чего не может преодолеть нетерпеливое желание и любопытство? Через немногие дни удалось мне выдумать и смастерить такой, что и поныне еще дивлюсь, как я мог тогда такой сделать, ибо мне на сей раз принуждено было быть и столяром, и шлесарем, Слесарем.] и клеильщиком, и лакировальщиком, потому что все бока и стенки оного сделал я из толстой политурной бумаги. А дабы они не могли коробиться, а притом складывались, то края все укрепил тоненькими деревянными брусочками; для соединения же всех боков наделано было множество крючков, петелек и пробойчиков. Наконец всю наружность оного раскрасил я разными красками, и улепив по оным маленькими, вырезанными из картинок купидончиками, птичками и цветками, и наконец покрыл лаком. Словом, я сделал ящичек не только самый походный и уютный, но и не постыдный для показания всякому. Все офицеры не могли надивиться моей выдумке и искусству и схаживались ко мне толпами смотреть картинки и любоваться ими. А как и сии не только были сами по себе довольно изрядные и изображали виды всех лучших мест и улиц в городе Венеции и многих других знатнейших европейских городов, но и были разрисованы мною под натуру, — то не могли они довольно их насмотреться, а мне довольно приписать похвал за мою выдумку и искусство."
I recommend this
Feb. 19th, 2026 09:23 amhttps://andrewducker.dreamwidth.org/4666173.html
Especially #3 and #5. #5 basically leaves nothing from the popular theory of an "average human". Which are extremely rare occasions, due to the multidimensionality.
As to #3, that was just wow. Chandrasekhar (pronounced as "Chandrashaker") limit, I had to go to Wikipedia, read about it, get educated (and had to edit a couple of wiki articles... as usual).
Now imagine, a young Tamil guy, after graduating a university in India, on the boat on his way to Britain, makes a discovery (Chandrasekhar limit), and then manages to convince the physicists. Those were also the days when Hilbert's dream of "everything in math being calculable" was just crushed by Gödel's first theorem (and Gödel was more or less of the same age as Chandrashekhar.)
накарябал на питоне
Feb. 16th, 2026 02:28 pm
import os, time
from pathlib import Path
DIR="cache"
CACHEPATH = Path(DIR)
TTL=12*3600 # 12 hours
if not os.path.exists(DIR):
os.mkdir(DIR)
def path(key: str) -> Path:
return CACHEPATH / key.replace("/", "∕").replace(".", "。")
def clear(key: str):
p = path(key)
if p.exists():
p.unlink()
def clearAll():
for p in list(CACHEPATH.iterdir()): p.unlink()
def isFresh(key: str) -> bool:
p = path(key)
if p.exists():
return time.time() < p.stat().st_mtime + TTL
else:
return False
def get(key: str) -> str:
if isFresh(key): return path(key).read_text(encoding='utf-8')
def put(key: str, value: str):
path(key).write_text(value)
def getOrCall(key: str, fun):
value = get(key)
if value == None:
value = fun(key)
put(key, value)
return value
if __name__ == "__main__":
# test the cache
TTL = 1
print("TESTING cache.py")
clearAll()
clear("non existent file")
testvalue = "--test contents\nof file 'test1'--"
put("test1", testvalue)
fromfile = get("test1")
assert fromfile == testvalue, f"Oops, bad input: {fromfile}"
clear("test1")
assert not os.path.exists("test1"), "the file 'test' had to be deleted"
put("test2", "this file gets expired soon")
fromfile2a = get("test2")
assert fromfile2a == "this file gets expired soon", "Oops, bad file test2"
time.sleep(2)
fromfile2b = get("test2")
assert fromfile2b == None, "Oops, test2 still available?!"
value1 = getOrCall("test3", lambda key: f"[[{key}-1]]")
assert value1 == "[[test3-1]]", "first call of test3, got {value1}"
value2 = getOrCall("test3", lambda key: f"[[{key}-88]]")
assert value2 == "[[test3-1]]", f"second call of test3, got {value2}"
time.sleep(2)
value3 = getOrCall("test3", lambda key: f"[[{key}-3]]")
assert value3 == "[[test3-3]]", "third call of test3, got {value3}"
put("url/", "somedata")
fromfile4 = get("url/")
assert fromfile4 == "somedata", "problem with url/"
url=".http://dreamwidth.org/juan-gandhi/something"
put(url, "slashes in key")
fromUrl = get(url)
assert fromUrl == "slashes in key", f"failed reading from {url}"
print("DONE TESTING cache.py")
1757 год, западные диковинки
Feb. 15th, 2026 05:40 pmsrc
(no subject)
Feb. 11th, 2026 08:38 am... послушав его переключаюсь на новости и обалдеваю от контраста: в то-же самое время когда речь идёт о переносе датацентров в космос и на Луну, о замене людей роботами, и прочих фантастических планах всего за какие-то несколько лет!, кто-то продолжает воевать ради средневековых религиозных убеждений, чтобы просто удержаться на троне любой ценой, или надевать пояса смертника...
Update on legal cases: one new victory! :) One new restriction :(
Feb. 10th, 2026 03:03 pmWe're very sorry to have to do this, and especially on such short notice. The reason for it: on Friday, South Carolina governor Henry McMaster signed the South Carolina Age-Appropriate Design Code Act into law, with an effective date of immediately. The law is so incredibly poorly written it took us several days to even figure out what the hell South Carolina wants us to do and whether or not we're covered by it. We're still not entirely 100% sure about the former, but in regards to the latter, we're pretty sure the fact we use Google Analytics on some site pages (for OS/platform/browser capability analysis) means we will be covered by the law. Thankfully, the law does not mandate a specific form of age verification, unlike many of the other state laws we're fighting, so we're likewise pretty sure that just stopping people under 18 from creating an account will be enough to comply without performing intrusive and privacy-invasive third-party age verification. We think. Maybe. (It's a really, really badly written law. I don't know whether they intended to write it in a way that means officers of the company can potentially be sentenced to jail time for violating it, but that's certainly one possible way to read it.)
Netchoice filed their lawsuit against SC over the law as I was working on making this change and writing this news post -- so recently it's not even showing up in RECAP yet for me to link y'all to! -- but here's the complaint as filed in the lawsuit, Netchoice v Wilson. Please note that I didn't even have to write the declaration yet (although I will be): we are cited in the complaint itself with a link to our August news post as evidence of why these laws burden small websites and create legal uncertainty that causes a chilling effect on speech. \o/
In fact, that's the victory: in December, the judge ruled in favor of Netchoice in Netchoice v Murrill, the lawsuit over Louisiana's age-verification law Act 456, finding (once again) that requiring age verification to access social media is unconstitutional. Judge deGravelles' ruling was not simply a preliminary injunction: this was a final, dispositive ruling stating clearly and unambiguously "Louisiana Revised Statutes §§51:1751–1754 violate the First Amendment of the U.S. Constitution, as incorporated by the Fourteenth Amendment of the U.S. Constitution", as well as awarding Netchoice their costs and attorney's fees for bringing the lawsuit. We didn't provide a declaration in that one, because Act 456, may it rot in hell, had a total registered user threshold we don't meet. That didn't stop Netchoice's lawyers from pointing out that we were forced to block service to Mississippi and restrict registration in Tennessee (pointing, again, to that news post), and Judge deGravelles found our example so compelling that we are cited twice in his ruling, thus marking the first time we've helped to get one of these laws enjoined or overturned just by existing. I think that's a new career high point for me.
I need to find an afternoon to sit down and write an update for
In cases like SC, where the law takes immediate effect, or like TN and MS, where the district court declines to issue a temporary injunction or the district court issues a temporary injunction and the appellate court overturns it, we may need to take some steps to limit our potential liability: when that happens, we'll tell you what we're doing as fast as we possibly can. (Sometimes it takes a little while for us to figure out the exact implications of a newly passed law or run the risk assessment on a law that the courts declined to enjoin. Netchoice's lawyers are excellent, but they're Netchoice's lawyers, not ours: we have to figure out our obligations ourselves. I am so very thankful that even though we are poor in money, we are very rich in friends, and we have a wide range of people we can go to for help.)
In cases where Netchoice filed the lawsuit before the law's effective date, there's a pending motion for a preliminary injunction, the court hasn't ruled on the motion yet, and we're specifically named in the motion for preliminary injunction as a Netchoice member the law would apply to, we generally evaluate that the risk is low enough we can wait and see what the judge decides. (Right now, for instance, that's Netchoice v Jones, formerly Netchoice v Miyares, mentioned in our December news post: the judge has not yet ruled on the motion for preliminary injunction.) If the judge grants the injunction, we won't need to do anything, because the state will be prevented from enforcing the law. If the judge doesn't grant the injunction, we'll figure out what we need to do then, and we'll let you know as soon as we know.
I know it's frustrating for people to not know what's going to happen! Believe me, it's just as frustrating for us: you would not believe how much of my time is taken up by tracking all of this. I keep trying to find time to update
I look forward to the day we can lift the restrictions on Mississippi, Tennessee, and now South Carolina, and I apologize again to our users (and to the people who temporarily aren't able to become our users) from those states.
Календарь на март
Feb. 10th, 2026 12:16 pmкак-то меняются мои взгляды...
Feb. 10th, 2026 10:28 amВот А.Эткинд написал вдруг, что Слепаков - самый умный из бардов.
Я-то Эткинда ещё с тех пор, как я жил в России, считал за очень умного человека. А зря, ох зря. Наверно, пора отфренживаться. А жаль, очень жаль.