Top.Mail.Ru
cartesiandaemon — LiveJournal
? ?
About this Journal
Current Month
 12345
6789101112
13141516171819
20212223242526
2728
Feb. 1st, 2022 @ 10:17 pm Crossposting
Crossposting to LJ has been discontinued. I am posting a lot less anyway, but if anyone is still following me on LJ, the posts will probably not return. LJ-style posts can be found on Dreamwidth as Jack. You may also find me on twitter as cartesiandaemon, or on facebook under my full name.

If you've any other suggestions, please let me know, I should still see comments.
About this Entry
jack
Dec. 4th, 2021 @ 07:37 pm The book of Judith, a summary
Tags:
We actually READ the book of Judith for Hannukah. I will attempt to summarise.

Nebuchadnezzar is the autocratic emperor of Assyria and (realistically) rules a vast swathe of territory and (unrealistically) thinks that he is almost a god. This isn't THE Nebuchadnezzar, not any of the other Nebuchadnezzars either. Stories of the time apparently just slap the Nebuchadnezzar label on rulers who are going to be bad news, reflecting that the people who wrote the stories which we're reading were first, people in Jerusalem conquered by Babylonian Nebuchadnezzar and deported back to Babylon, then their descendants who later returned to Israel. Fictional Nebuchadnezzar has a massive beef with Some Ruler who doesn't really come into the story after the first chapter.

There is detail about Some Ruler's fortified cities (wall width, size of stones, gate size, number of towers), which having recently read https://acoup.blog/2021/10/29/collections-fortification-part-i-the-besiegers-playbook/ was pretty interesting from a historical-strategic perspective. A wall like that shuts off raids from any any army less professional and determined that what the emperor of Assyria can muster.

Narrator: This is what a walled city protects against, and this is what it doesn't.

Read more...Collapse )

This all alludes to the more genuinely historical invasion by the Greek Seleucids repelled by the Maccabees, so it is celebrated in Hannukah, along with the later tradition that one of the things Judith specifically plied Holofernes with was good cheese. You can also comment at https://jack.dreamwidth.org/1138701.html using OpenID. comment count unavailable comments so far.
About this Entry
jack
Nov. 14th, 2021 @ 09:28 pm Friday Five: Clothing
1. Do you have a yearly, or monthly, clothing budget? Do you stick to it?

No, I'm fortunate to have enough slack that I don't need a strict limit. Or unfortunate, that as with many other things, perhaps I need a budget TO get me to spend ENOUGH. I'll always have clean, un-holed clothes. And have slowly developed a few I actually like, like smart but interesting socks, and fresh, well fitting T-shirts and jeans.

But I have very few clothes I especially like, and it would be nice for me to have SOME.

I have been trying to piece together how to buy better looking clothes, without just buying more expensive clothes that fit equally mediocrely. I think basically I need to have clothes that fit well. And maybe replace them when they're fraying a bit, before they're fraying a lot.

I guess my weight changing hasn't helped.

2. Do you buy trendy clothes, or classic pieces that can be worn for years?

I have no idea HOW to buy fashionable clothes. I could barely RECOGNISE fashionable clothes. But I'm not sure my clothes would be described as "fashionable". Or as "pieces". No, that's not quite fair. As someone else said, I do have a "recognisable aesthetic" as it were.

3. Is there a current fashion trend that you hate?

Whatever I personally notice is usually eclipsed when I see a friend trying to buy women's clothes and discover there's some new fundamental part of clothing which they've decided to spent a few years selling clothing without. "Hey, here's trousers, without the end of the legs." "Hey, want a jumper that doesn't keep you warm?" "We've changed our sizes again. Now sizes below this threshold are all labelled as '2' and sizes above this threshold are all labelled as 'XXXXXXXXXXXXXL'. Good luck."

I often am a little grumpy at something silly, but I can't remember any right now

4. Have you had clothing altered to fit you better?

Apparently this is easy and useful (and cheap by the standards of buying clothes), so that would be very good, but I haven't actually managed it before.

5. Is there a piece of clothing, or accessory, that you covet?

There's not a thing. But I do wish I could look, I don't know, well dressed. Like some people seem to manage, or man people manage in the photos photography friends post. You can also comment at https://jack.dreamwidth.org/1138553.html using OpenID. comment count unavailable comments so far.
About this Entry
jack
Oct. 26th, 2021 @ 08:24 pm Half way down the stairs is the box where I fit
Tags: ,
Half way down the stairs is the box where I fit
There isn't any other box QUITE like it
If I'm not in box A, and I'm not in box B
Then when will I find just right the box for me?
The box that I fit
It isn't quite normal
It isn't quite weird
It isn't quite straight
And it isn't quite queered
But all sorts of funny thoughts run around in my head
And I don't fit in your box, I fit in my box instead


I wrote a poem! Adapted from A. A. Milne's "Halfway down the stairs is the stair where I sit"

It came out in a burst, trying to capture the feeling of finding the box where YOU fit, and not feeling like you just don't fit anywhere anymore. In this case, for potentially getting a diagnosis of ADHD (or autism). You can also comment at https://jack.dreamwidth.org/1138424.html using OpenID. comment count unavailable comments so far.
About this Entry
jack
Oct. 2nd, 2021 @ 09:30 am Gideon the Ninth
I reread Gideon the Ninth and half way through Harrow the Ninth. I posted a lot of recap and musings on Facebook:

https://facebook.com/story.php?story_fbid=10104135617416710&id=36912084

Should be public to everyone, but you can always comment here if you don't use Facebook You can also comment at https://jack.dreamwidth.org/1137977.html using OpenID. comment count unavailable comments so far.
About this Entry
jack
Sep. 30th, 2021 @ 04:11 pm Do you want a Time Travel Debugger
Tags: ,
I never got around to talking about what my current work do: http://undo.io There was some previous discussion on the topic on facebook: https://www.facebook.com/jack.vickeridge/posts/10103938681712440

What is a Time Travel Debugger

It records everything that happens in a program's execution, so you can step backwards as well as forwards, or rewind execution and then replay it again more carefully. Or you can "replay" it backward, e.g. going to the end of time, seeing your program crashed with a null pointer and then setting a watchpoint on that pointer and reverse-continuing until you find out where the pointer was set to that value.

There's two main modes of use, using it like a debugger sitting in front of a program, or using a companion recorder (which is actually an executable with much of the same code but packaged differently) to record your program in your overnight test suite, or running to replicate a bug that happens in a very long running process. Then once you've reproduced the bug once, you've almost finished, you can just load up the recording and step forward and back in a debugger until you figure out what went wrong.

That sounds impossible!

Yes, it does sound impossible, but it works.

It records literally everything the program does that interacts with the outside world in any way, e.g. any system call (including any file access, network access, gettime, even getpid, etc, etc), any instructions which write to shared memory, etc. That can get large for some programs (but customers do use it successfully!)

It saves a snapshot at several points during history (by forking the process there), so it can create the state of any point in history by forking another process from that snapshot, and playing it forward using the saved events instead of actually doing any of the things that interact with the outside world.

It does all this by rewriting the compiled program in memory, and maintaining a mapping between the rewritten memory and the original assembly. So you the user see the original source code and original assembly, with whatever level of debug info you originally compiled the program with. But behind the scenes, almost any non-trivial instruction is rewritten to do something else, to either to save the result of the instruction in the event log, or to replay the value from the event log.

That means that you can attach it to any program, compiled any way, just like any debugger can. You don't need to compile it with some magic -- people keep expecting this, and it could have been written that way, but instead, you can just connect it to any program you could attach gdb to.

Caveats

Recording multiple threads is slow, and recording multiple processes doesn't exist yet. We're working on it, but right now can help with some multithreading bugs but can't help with others.

Program execution is slower, between 2x and 10x. We are working to improve that. Replaying through execution can be faster than that (and you can usually go directly to the beginning, end, etc without any replaying).

This is all on linux only.

The interface and implementation is based on the gdb forntend/gdb server protocol. So by default it looks like debugging with gdb but with "reverse-next" as well as "next". And it works with any program which uses gdb backend, e.g. visual code, emacs, although some of those are tested extensively and some aren't.

But no linux debugger has a very good UI, so currently it is mainly used by people who have to debug using something like gdb anyway, but want to be able to solve harder bugs quicker. We are trying hard to make it easy for languages like python and java where the translation has to understand an interpreter as well as the code. This works in the sense that it can be recorded and replayed, but getting a good user experience is a lot harder.

Worth and Price

I always describe it as, the difference between "not having a debugger" and "having a debugger". If you have a debugger, maybe actually 90% of problems you can solve with print statements. But the 10% that you can't fix with print statements could take months to solve without a debugger, or hours with a debugger. It's hard to describe why you need a debugger to someone who hasn't tried using one. But almost no-one would go back to not having one.

A time travel debugger makes trivial the small proportion of issues that still feel impossible even with a debugger. You say, "yes, it fails intermittently but we don't know if we'll ever track it down unless someone wants to study the failure for nine months", but that might be only hours with the right tool.

Unfortunately, this tool takes a large amount of programmer effort to create, and is only viable if it's sold commercially. If you view it as "The 5% of bugs we have that take 9 months to track down, instead get solved in a few hours", you compare the cost to the salary for an extra programmer or two, it's very reasonable. But most people including me hate paying for tools, so it's hard to sell.

It has a great retention rate -- any companies which have subscribed to a contract, have almost always kept it, and programmers who have used it regularly (including me) are very very eager to keep having it available.

Currently there are several introductory offers. There's an educational license which is cheaper or free. There might be an offer of free licences to the right open source project if you're interested. There's a 30 day free trial, and a personal license, in the hopes people will become converts and persuade their employer to adopt it. There is standing offer that if you have an intractable hard to reproduce bug that's you'd like to see just go away, we can arrange some sort of trial to have someone come and help capture and diagnose that bug, and see if that leads to a longer term arrangement.

Ask questions in the comments. Feel free to download the trial -- if you've used gdb, it's fairly straightfoward to try out, and it's magical to see "step back, step forward".

Or if it sounds like you might be someone who would actually benefit from acquiring a license, I can put you in touch with helpful people -- we used to focus on big clients because there was a lot of shakedown, but now it works more reliably out of the box, it's plausible for a wider spectrum of companies and people. You can also comment at https://jack.dreamwidth.org/1137863.html using OpenID. comment count unavailable comments so far.
About this Entry
jack
Aug. 15th, 2021 @ 09:00 pm Swimming
Tags:
I went swimming again, almost all afternoon at Jesus Green Lido.

I brought my goggles and for almost the first time I've been there the water was clear enough to see a long way. It was quite magical drifting underwater -- the natural light falling down, and dozens of small leaves hanging suspended stationary in front of you like a living box of light, instead of an empty skybox.

I swam ten good strokes underwater which as much as I usually ever manage, and swam down to the deepest point a few times.

And swam a proper mile.18 lengths, 1800 yards, none of this 1600 or 1700 approximation I end up converting yards to meters and back again :)


Sunday I cycled to Upware along the (broken) cycle route 11, first time I've tried to follow a national cycle route. Description on facebook. You can also comment at https://jack.dreamwidth.org/1137333.html using OpenID. comment count unavailable comments so far.
About this Entry
jack
Jul. 21st, 2021 @ 05:35 pm ADHD emotional dysregulation
Tags: ,
As often happens, a friend with experience with ADHD linked me to a quiz inspired by diagnostic questions. One question was "Do you often have difficulty completing tasks because of your own emotions" (or something like that) and I was like YES that's my entire personality. (Exaggerated for effect, that's not my only personality but it is defining a lot of my characteristic experiences.)

Another was "do you tend to give up on tasks that you find hard or confusing" and... yeah, that. Not intellectual things! But "no-one tells you what to do" things

To cut a long quiz short, I had medium levels of forgetfulness and inattention, low levels of impulsivity and forgetfulness, no developmental delays, but maxed out "Emotional Dysregulation" and "Inflexibility". So not classical ADHD but I DO fail to do things: https://www.idrlabs.com/adhd-spectrum/65-45-70-25-100-90-40/result.php

Aside

Obviously those are based on my quiz answers. Lots of the questions I yelled "COMPARED TO WHO?" and I wasn't being contrary -- genuinely the thing I want to know is, given my awareness of my own level of eg coping strategies for being late, is that typical, or high, or low?

I wasn't born knowing how much average people struggle with things! And even if you ask most people can't tell you! So went with best guesses. But assuming the "YES THAT'S ME" questions and the "I guess I do have coping strategies there" q I placed ok results prob mostly right

Continuation

My friend recommended the video "Why is it so hard to do something that should be so easy" by "How to ADHD" BY Jessica McCabe about adhd style emotional dysregulation and "climbing the wall of awful" and strategies that don't work. Short and v watchable: https://www.youtube.com/watch?app=desktop&v=Uo08uS904Rg

I don't want to be premature but that seemed to unlock answers to a lot of questions. I have a lot of friends with similar but different struggles and I seemed to fit in with them but some of my classic experiences didn't fit them and vice versa, so I didn't have a box for me

I like being in literal boxes, and I like being in metaphorical boxes when they're the right shape, but not when they're not. But this seemed right for me. Knowing seemed to help, even in a few days. And gives me an action plan. See how much knowing the things I need to watch fixes them. Possibly diagnosis helps. Possibly medicine helps. You can also comment at https://jack.dreamwidth.org/1136708.html using OpenID. comment count unavailable comments so far.
About this Entry
jack
Jun. 24th, 2021 @ 09:58 pm Cross-posting
Tags:
I know I asked this before, but which of you have a decent way of crossposting posts between Twitter/Facebook/mastodon or dreamwidth? Do you have a way of crossposting friend only posts? I used to try to cross-post links but now I think cross-posting the content is easier (for micro-posts where there doesn't need to be a canonical comment section).

Ifttt is the thing that's supposed to do that but I've ended up confused whenever I try to set it up. I think the ideal design would be some input feed that everything else is crossposted from, and the crossposting relying on webforms so that it doesn't only work for services that have an existing API and willingness to let people use it. But i don't need s perfect solution, just anything that works for now You can also comment at https://jack.dreamwidth.org/1135815.html using OpenID. comment count unavailable comments so far.
About this Entry
jack
May. 24th, 2021 @ 08:57 pm Eurovision
Belated Eurovision reactions :)

Cyprus won on sequins.

Albania had good lyrics, all about having ruined her life and would God forgive her, shedding "tears of rust", in Albanian. But didn't easily come across if you didn't speak the language.

Israel was probably fighting uphill

Belgium hooverphonic. I loved their dark suit aesthetic. If I was choosing on looks alone they might be my favourite

More on FB: https://facebook.com/story.php?story_fbid=10104037873366570&id=36912084 You can also comment at https://jack.dreamwidth.org/1135275.html using OpenID. comment count unavailable comments so far.
About this Entry
jack