text:
1.

Very cool indeed, thank you for posting it.

For people uncertain of where to go from the home page, may I recommend the Quick Tour? I was unfamiliar with (the Haskell? meaning of) sigils like :: or ++, so I couldn’t quite parse the twinPrimes example on the homepage; but the explained examples in the Quick Tour (including twinPrimes) are easier to follow.

1. 4

I’ve been able to solve most of this pain with regular old git and SourceTree’s “split view staging” where the staged/unstaged parts of the same file can be inspected separately. Changes that I’m still working on are unstaged, and when I think I’ve hit a minor milestone that doesn’t warrant a commit I drag them up to the “staged” area. This sets a checkpoint and if I make a mess, I can view only my subsequent changes in the “unstaged” area and revert them in isolation.

1. 3

Yeah, I do much the same thing, using hg commit --secret to create commits that serve as checkpoints. (“secret” means Mercurial won’t push them when I run hg push.)

When I want to compare my current work in progress to some entirely other version of the file (also common), I create a copy in the working directory using hg cat -r 123 myfile.txt > 123.myfile.txt. Als always, Git has an (a) clumsier command that (b) does the same thing (emphasis on both parts): git show 1a2b3c:./myfile.txt > 1a2b3c.myfile.txt. (Using a hash here because Git doesn’t have local revision numbers.)

Still, all these workarounds depend us on remembering to stage/commit or commit our edits at logical points. It’s a pity I don’t use Atom; but I’m really grateful to the author for their realisation, and I hope the tool will spread to other editors.

1. 3

That’s an interesting use of git staging. You can also do this in regular old git with git add, then git diff to show unstaged changes.

1. 2

I also rely on git. Sometimes just git commit -am asdfjkjl and later rebase/squash it all.

1. 21

In Neovim/Vim this is not hard at all:

							*:ea* *:earlier*
:earlier {count}	Go to older text state {count} times.
:earlier {N}s		Go to older text state about {N} seconds before.
:earlier {N}m		Go to older text state about {N} minutes before.
:earlier {N}h		Go to older text state about {N} hours before.
:earlier {N}d		Go to older text state about {N} days before.

:earlier {N}f		Go to older text state {N} file writes before.
When changes were made since the last write
":earlier 1f" will revert the text to the state when
it was written.  Otherwise it will go to the write
before that.
When at the state of the first file write, or when
the file was not written, ":earlier 1f" will go to
before the first change.

There is also a :later command.

1. 9

Yes, Vim’s :earlier/:later commands are nice; and so is Vim’s undo tree (especially with a graphical interface). But in both cases, you still have to flip back and forth between the historical version and your working code. Splitting the buffer doesn’t help, because :earlier affects all splits where that file (buffer) is open.

The author’s Yestercode is a further improvement: it lets you pull up earlier states of your file next to the window where you’re editing it, so looking something up does not break the edit flow.

1. 2

This basically undo’s, so you won’t be able to use forward again when (accidentally) changing history. But yes, it is a nice feature, I use it as well!

1. 4

Vim has branching undo though, so you can go back (forward?) to the original version, just not with :later.

1. 4

An interesting attempt to analyse the data by someone who has completely grabbed the wrong end of the stick.

The age of citations is quite interesting. It definitely doesn’t reflect the velocity of cases through the system, but it might say something about memory of the aggregate legal profession.

1. 2

the wrong end of the stick

What would be the correct end then?

1. 8

The end of the stick that doesn’t mistake ‘doing research-like actions’ for ‘doing research’, nor ‘graphs and statistics’ for ‘an understanding of the system’.

To quote xkcd: “Liberal-arts majors may be annoying sometimes, but there’s nothing more obnoxious than a physicist first encountering a new subject.” In this case, for physicist read ‘data scientist’. [edit 17:25 CET: use ‘data scientist’ instead of another phrase –SBB]

The dataset is incomplete in a very non-random way: it only includes transitive citations of Supreme Court decisions. Nowhere does the author betray any signs of realising that this affects the statistics, and therefore the conclusions they so confidently draw about, say, average duration of a judicial procedure.

I don’t have the time for a full fisking, so I’ll only address the most important idiocy:

The writer says “somewhere between 33% and 50% of all cases are completely trivial and could be easily automated away”. They base that only, I kid you not, only on seeing that somewhere between 33% and 50% of the judgements they gathered cite only one previous case or judgement.

No, the author doesn’t discuss how to recognise those supposedly trivial cases; nor whether the right to appeal can even be fulfilled by an automated system; and nowhere do they wonder whether ‘the judgement cites only one case’ is, in fact, a reliable sign that a case was trivial.

You have to understand the system you’re talking about! Even if you’re a data scientist! Especially if you’re a data scientist!

2. 1

I’d also like to hear more about the correct end of the stick from @Student .

I’m not a data engineer at all, could you describe what you consider a better approach?

1. 6

For starters, citations don’t mean what you think they mean. Cases are cited because they are a source of law under discussion.

You need to actually work with a domain expert to understand what the data mean.

1. 1

Dual nature, surely? Commits are stored as snapshots; they can act as snapshots (“please checkout version 123 of file X”); and they can act as diffs (“please rebase [the changes I made in] commit 123 onto commit 125”).

There’s more terms in Git that have a dual nature. For example ‘branch B’ can mean both all four of “the branch pointer B”, “the commit that B currently points at”, “that commit and all its ancestors”, or “all commits that are only ancestors of B, and are not also ancestors of another branch pointer.”

1. 33

Great story, but why do so many people think it’s a good idea to write entire articles on Twitter? It’s even worse than publishing them on Medium, and that says a lot!

1. 16

Because that’s where the readers are. (Same reason Willie Sutton robbed banks.)

I hate Twitter so, so much, and that’s one of the reasons. Even with the new supersize 280-char limit, it’s still such a choked, impoverished writing medium. Constraints can be good, but when they’re a choice, not when you’re forced into the constraint because it’s baked into the only platform that meets your needs.

1. 12

Writing is also pretty easy too for them. Each thought can be composed piecemeal and worked into a larger thread. It’s compatible with shorter attention spans for /writing/.

Maintaining a blog is ceremony/effort if you’re not actively committed to it. The next lowest effort/easiest distribution is Medium, and we all know what we think of that.

Constraints can be good, but when they’re a choice, not when you’re forced into the constraint because it’s baked into the only platform that meets your needs.

Many constraints were because of forced limitations. That was the post of many of them.

1. 3

Yeah, you’re right about forced constraints. I guess it’s that any one constraint is good for some things but bad for others. Twitter has been a great boon to standup comedians and haiku poets, I’m sure.

WordPress.com is pretty low-effort; it has issues but not so much as Medium. If it or something like it were more popular, people could write their tweet-threads there. Unless, as you say, they’re ADD enough that they’d get blank-page fright and never write anything.

(I’m trying hard not to start bemoaning the demise of LiveJournal again. It coulda been a contendah…)

1. 12

Another thing that might be interesting is that people can reply to the indivual atomic units of thought easily too. It’s really more like structured/permament IRC than it is a blog.

And yes, from the people who DO write mega tweet storms tell me, blank page fright is huge.

1. 9

WordPress.com is pretty low-effort; it has issues but not so much as Medium. If it or something like it were more popular, people could write their tweet-threads there. Unless, as you say, they’re ADD enough that they’d get blank-page fright and never write anything.

I don’t know; I suspect it’s more of a barrier-of-entry thing. Twitter is kind of ephemeral and “write and forget”, whereas writing on your personal WordPress site takes more effort, as it’s less ephemeral.

The same with comments on e.g. Lobsters: I usually just write them, read over them a little bit, and post. Whereas on my website I tend to take a lot longer to write more or less the same stuff. If something’s on my website, I want to make sure it’s reasonably accurate, comprehensive, and written as well as I can. Usually this entire process takes up quite a lot of time for me. For some Lobster comment or Twitter remark, it’s a bit different.

It’s really difficult to put my feelings on this in words; so I hope this makes sense 😅 But publishing something on my (or any) website just comes with a lot higher barrier of entry for me, and I’m probably not so special that I’m the only one.

@calvin mentioned “blank page fright”; which is more or less the same thing in a way, just expressed different, I think(?)

At any rate, Twitter is hardly my favourite platform for these kind of things, but if the choice is between “it would never be published at all” and “it’s published on a platform I don’t like”, then the second option is clearly the better one.

2. 4

Because that’s where the readers are.

Might be a great story, but I’m not reading it in 20 parts on Twitter.

1. 4

And many people will not click a link.

1. 2

Plus clearly many, many people are. Writers go where readers are, and though you may not like reading things in this way on Twitter, there are enough people who do to make a market for this sort of material.

2. 1

The choked, impoverished writing medium is what makes it so much fun!

3. 11

For some people this is the answer.

It’s easier to just write a set of tweets. When you publish a wall of text you gotta format it, you feel like proof-reading, etc.

A tweetstorm is like…. whatever, just get it out there. Hell, type it in drafts and it’ll post the tweetstorm for you.

This is like instagram stories: A way to reduce the barrier to sharing content. And some stuff is low effort, but some stuff is just high quality. It’s also, like other said, a way to share to people who are following you.

1. 2

you gotta format it, you feel like proof-reading, etc.

I think there might be a reason why people do this.

Ironically, this ‘article’ is more of a ‘wall of text’ than most blog posts, in that it’s just a collection of ‘text bricks’ stacked on top of each other, with no real structure. As a result, it’s practically unreadable.

1. -1

Thanks for pointing this tweet out, but I don’t buy that for a minute. If you have so much ADHD that you can’t do it any other way, you could still tweet your story and then copy-paste the sentences into a blog post. No one could be that debilitated by ADHD that he wouldn’t be able to do this basic thing.

Also, a blog post is written once and read many times (ideally). It’s disrespectful to your readers to force this horrible format on them. If I were in this situation, I’d ask a friend to help me format a “tweetstorm” into a nice blog article. Even long texts wouldn’t take that much time.

1. 11

Uh, hey maybe don’t make comments that people with ADHD could do something when the evidence and statements of actual people with ADHD say they can’t. One of the key experiences of ADHD is executive dysfunction, meaning mental challenges around planning, problem-solving, organization, and time management. People with executive dysfunction (which isn’t solely experienced by people with ADHD) describe it in a number of ways that can be illuminating:

Mental differences like this aren’t something you push through. Maybe sometimes you can (people with disabilities often describe experiencing fluidity in the severity of their challenges), but maybe sometimes you can’t. The experience of others demanding that they push through, or judging them for failing to push through, is one of the main challenges faced by disabled people. If you spend time listening to disability advocates, you’ll hear them talk about how they’re not disabled because something is wrong with them, they’re disabled because of limitations in the systems we all operate within, and the expectations and demands of our collective culture.

So please, don’t toss out comments about how disabled people ought to function. They’re doing their best, and the expectations you’re putting out there are a core part of the challenges they face.

1. 1

Did you even read my comment before pasting your pasta here? Even disabled people ought to be able to ask for help, and in this case, I see no reason why someone with ADHD and executive dysfunction shouldn’t be able to ask someone for help in this regard.

1. 6

I’m also flattered you think my post is a copypasta.

Seems unlikely you’ll be convinced, but to hammer it home: saying “disabled people ought to be able” or even “disabled people ought,” is the problem. If you do not have executive dysfunction, you do not know what it’s like to live with, and should defer to people who do live with it when they talk about what is reasonably doable for them.

1. 3

I’m also flattered you think my post is a copypasta.

Not taking sides here, but just wanna say, that is the best kind of rhetoric.

2. 6

Let me describe how I post on Lobsters. First, I think about what I want to post. Then, usually I don’t post it.

If I do decide to post, then I commit myself to keeping a browser tab open for about half an hour while I write my post. I try to get my evidence lined up, opening additional tabs with each consideratum so that I won’t forget what I’m writing about.

Paragraphs are usually written out of order. Entire sentences are written, rewritten, discarded, and written again. Phrases become semantically satiated and read wrong in my mind. I worry that I have used too many words. I worry that I haven’t used enough.

I constantly feel disconnected from myself and also from my audience. I don’t understand how to relate to people, or how to ensure that my meanings are preserved. In fact, I am used to being horribly and hilariously misinterpreted.

The help that I would ask from you is for you to reread the parent post and reconsider your stance. There is no universal way in which humans are supposed to interact with computers.

Alternatively, take a programmer’s point of view: A module is not merely a collection of code snippets, and it is disingenuous to suggest that folks can simply collate code snippets into meaningful modules.

2. 7

Also, a blog post is written once and read many times (ideally). It’s disrespectful to your readers to force this horrible format on them. If I were in this situation, I’d ask a friend to help me format a “tweetstorm” into a nice blog article. Even long texts wouldn’t take that much time.

But you’re not in this situation.

1. 4

You may not realise it, but this is what your post looks like from the outside:

• You’re mistaking your personal dislike for a universal dislike.
• You’re laying your personal preferences on other people as responsibilities.
• You’re presuming you know what other people can or can’t do, or how they should or shouldn’t spend their energy and friend-favours.

That is not how you reason your way to correct conclusions, and it is not how you win friends and influence people.

3. 8

No constraints, no glory!

But really the real reason is that I put weeks of research and editing into my blog posts, in some case months… while I can hammer a tweetstorm out in five minutes.

1. 4

As much as I hate Twitter ‘articles’, I think they’re actually better than Medium articles, which is… impressive.

1. 1

Agreed. This would be a pretty lengthy blog post, and this format is just awful. Really good war story though.

1. 1

For the first task with “undeleting” files using Git you can go even shorter:

git ls-files -d -z | xargs -0 git checkout --

1. 4

I would offer hg revert "set:deleted()", but then there’s no pipeline left…

1. 3

That’s a shell-golf hole in one!

1. 5

Yes, I work the same way, it helps me manage my ADHD.

Things that help me solve problems without needing to go online:

• As you say, keep offline copies of as many online documentation and other references as possible.
• I have a wget alias mirror to download a website for local viewing.
• Sometimes offline copies of webpages stay blank for 10 seconds because (a) they try to get Javascript from Google Analytics or some webfont server or Facebook or whatever, which (b) won’t succeed because you’re offline, but (c) it takes 10 seconds before the request times out. Solution: add entries to your /etc/hosts like 0.0.0.0 google-analytics.com www.google-analytics.com, so the request will fail quickly with ‘no route to host’. Bonus: this speeds up online surfing, too.
• Keep local copies, or even clones, of the source code of the libraries I interact with most. This allows you to solve questions the docs don’t answer.
• for interpreted languages like Python, the source is already present, so I bookmark the/a directory containing the source code.
• For command-line tools:
• Debianlikes default to not installing package documentation, but you can. The docs package for xxx is usually called xxx-doc, so run apt-get install xxx xxx-doc instead of only installing xxx.
• get comfortable with locate (find file anywhere in filesystem), find (find file under current folder), grep/rg (find files containing text, and less (displays files, including man manual pages).
• to make it easy to search inside man pages (usually rendered with less): keep a copy of this less cheat sheet

Things that help me look things up as little as possible: emprace the exobrain.

• I keep a ~/snippets directory for reusable snippets, rather than looking each one up in its own source.
• I keep a ~/sietselog file for reusable answers, rather than troubleshooting each time. When I have to solve something, I write the question there; when I’ve found the solution, I add the answer there; when I remember solving this problem before, I search that file.
• Any command invocation I find hard to remember (or even just annoying to repeat) gets a wrapper script in my ~/bin. Often the mere fact that I named the wrapper myself makes it easier to use and remember. Also, projects have to worry about unique and searchable names; but me, I have no qualms about about naming my Silicon wrapper code2png.
• Python-specific:
• import pdb; pdb.pm() starts a post-mortem debugger. When you get an error in an interactive session (such as a Jupyter notebook), this will jump to the scene of the error, let you inspect local variables, and let you walk up and down the stack. Ofter quicker than searching for others who got the same error message. pdb command reference. NB: ipdb and pudb are even better debuggers.
1. 2

The article doesn’t go into much depth, but it does focus on practical applications of computing, i.e. using IT to solve non-IT problems; I found that refreshing.

I had some trouble finding background links, but here’s one: the academic paper An Expert System for Raising Pigs.

1. 1

My compliments on your writing! I can’t judge it from a newcomer’s perspective, alas: I’ve been obsessively working through Ivan Bratko’s “Prolog Programming for Artificial Intelligence”, so I’ve had a lot of recent Prolog exposure, so I suspect my learning zone is perfectly situated to receive the post you wrote. But even if receptiveness is one thing, teaching is quite another, and I can say: (a) that PPfAI is a book that practically teaches itself, and (b) that your blog post gave me the same delicious “the author is installing new knowledge in my brain” feeling. Which I presumably owe to damn hard writing on your part. Enjoyable, and learnsome, and I look forward to the rest of it.

1. 1

Whoa, I just realised I can user-define this (albeit with less elegant syntax) in the Mercurial formatting language by adding this to my .hgrc:

[templatelalias]
# Example usage: hg log -r . -T 'text{maybe("bookmark", " >>", bookmarks, "<<")} more text'
maybe(mylabel, prefix, main, suffix) = '\
{ifeq(main, "", "", label(mylabel, prefix))}\
{label(mylabel, main)}\
{ifeq(main, "", "", label(mylabel, suffix))}'

1. 5

My handwriting is absolutely the product of years of hand-written math note-taking since college. Notice the blackboard-bold and calligraphic fonts, which are also very common. Some of my own thoughts / habits:

• I can’t for the life of me write ζ or ξ. Many professors share this deficiency, making chalkboard lectures on complex analysis quite difficult to follow. Recently, I have been using the Japanese る and そ in their place, and no one even notices!

• For the purposes of communicating with others, I am overzealous with parentheses. I’d rather have them and not need them than need them but not have them. I also use whitespace quite frequently to group different parts of a longer expression.

• I never use the prime (’) symbol. Some authors use x’ (read “x prime”) to indicate a quantity which is conceptually similar to x, but I prefer to use numbers (x_0, x_1, x_2, …) or well-known letter groupings like (x,y,z) or (p,q) or (f,g) or (α, β) or (\phi, \varphi). I avoid using prime for differentiation as well, preferring the notation ∇_x f or D_x [ f ].

• Redundancy is good, and helps catch mistakes. Ideally, it should be possible to understand the gist of my proofs even if all the mathematical expressions are deleted.

• “Put a hook on the x to distinguish it from a times sign.” – not really needed

• “Put a loop on the q, to avoid confusion with 9”. – also unnecessary, since mathematicians use exclusively the digits 0, 1, 2 !

• The number two shouldn’t be written with a curl, otherwise it’s easily confused with δ or α. As long as the letter Z is crossed, there should be no ambiguity.

1. 5

Redundancy is good, and helps catch mistakes. Ideally, it should be possible to understand the gist of my proofs even if all the mathematical expressions are deleted.

Coming from a different background (implementing cryptography), I agree with this but for another reason: Readers of papers may not even have enough mathematical background to discern the notation because they come up from (possibly hobbyist) programming, rather than down from math. Therefore, having redundancy not only helps you catch mistakes, but also helps familiarize people with notation they’ve never seen before.

1. 4

Yes, absolutely! I”ve once spent two days debugging a point multiplication on an elliptic curve because x / 2 on an integer did not mean a division by two (bit shift) but rather the multiplication of the group inverse of 2. This was a really frustrating error although the solution to it proved to be quite gratifying.

2. 3

Could you post a direct link to the image? My browser is unable to render the Imgur web page.

1. 2
1. 2

thanks

1. 1

Doesn’t groovy formatting work the same way? I remember something along those lines when using Filebot title formatting.

1. 1

Apparently?!! It seems Groovy placeholders are formed from an expression inside braces; and the expression can look like {title} but also like {"$title"} or {"this is the$title"}; and if the value title is undefined the entire placeholder {...} evaluates to the empty string. Which in the last example means the prefix “this is the “ also gets suppressed.

I’m not sure the Groovy devs themselves are aware that you can use this to get prefix-only-if-value-is-defined behaviour … the docs don’t mention it! But Okam from 2012 figured it out, and wrote it in the only post they ever made on the Filebot forum. I can’t say we’re lucky to have Google, but we’re lucky to have search engines.

1. 1

Does it play nice with evolve?

It’s just dying messily with…

hg prompt 'test'
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/mercurial/extensions.py", line 251, in _runuisetup
uisetup(ui)
File "/usr/lib/python3/dist-packages/hgext3rd/evolve/exthelper.py", line 149, in finaluisetup
c(ui)
File "/usr/lib/python3/dist-packages/hgext3rd/evolve/__init__.py", line 1278, in _setuphelp
help.helptable.sort()
TypeError: '<' not supported between instances of 'str' and 'bytes'
*** failed to set up extension evolve: '<' not supported between instances of 'str' and 'bytes'
** Unknown exception encountered with possibly-broken third-party extension prompt
** which supports versions unknown of Mercurial.
** If that fixes the bug please report it to the extension author.
** Python 3.6.9 (default, Oct  8 2020, 12:12:24) [GCC 8.4.0]
** Mercurial Distributed SCM (version 5.5.2)
** Extensions loaded: graphlog, strip, mq, extdiff, rebase, convert, purge, eol, churn, hgk, record, prompt
Traceback (most recent call last):
File "/usr/bin/hg", line 43, in <module>
dispatch.run()
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 113, in run
status = dispatch(req)
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 303, in dispatch
ret = _runcatch(req) or 0
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 479, in _runcatch
return _callcatch(ui, _runcatchfunc)
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 488, in _callcatch
return scmutil.callcatch(ui, func)
File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 152, in callcatch
return func()
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 469, in _runcatchfunc
return _dispatch(req)
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1233, in _dispatch
lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 917, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1244, in _runcommand
return cmdfunc()
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1230, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1867, in check
return func(*args, **kwargs)
File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1867, in check
return func(*args, **kwargs)
File "/usr/lib/python3/dist-packages/hgext/mq.py", line 4226, in mqcommand
return orig(ui, repo, *args, **kwargs)
File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1867, in check
return func(*args, **kwargs)
File "/home/johnc/builds/hg-prompt/prompt.py", line 410, in prompt
fs = re.sub(tag_start + tag + tag_end, repl, fs)
File "/usr/lib/python3.6/re.py", line 191, in sub
return _compile(pattern, flags).sub(repl, string, count)
TypeError: cannot use a string pattern on a bytes-like object

1. 2

If you run Mercurial with Python 2, you won’t get this error. The error arises because (a) ‘…’ meant/means a bytes array in Python 2, (b) ‘…’ means an array of unicode code points in Python 3, and (c) hg-prompt dates from Mercurial’s Python 2 days. If the subject interests you, I can recommend this blog post that reflects on Mercurial’s 2-to-3 transition.

The Python 3 fix would involve turning nearly every '...' string into a b'...' string (easy-ish). If you want to fix it for yourself,, that’s all. If you want to submit the patch upstream, you’d probably need to set up a testing harness to make sure it works in both 2 and 3 (not so easy). I see a two recent commits ([1], [2]) on this subject, so the interest is probably there.

Hg-prompt plays nicely with evolve in the sense that it doesn’t crash, and treats hidden revs the same as non-hidden. It does not yet have keywords for topic-related info. I’ve got a draft patch for that, but I haven’t submitted it upstream yet. It defines keywords {topic} (the active topic), {revtopic|idx} (the changeset’s topic|stack number s0, s1, … even if another topic is active) and {stackidx} (stack id s0, s1, …, for the active topic’s stack).

1. 1

1. 1

Yep, that’s https://hg.stevelosh.com/hg-prompt/ nowadays, since Bitbucket dropped Mercurial support.

1. 26

I’m sure I’ll be shouted down at the press club for this stance, but I think the solution to this sort of thing is just going to have to be an adjustment in how society treats naked photos. The amount of totalitarian infrastructure required to keep creepy fuckers from running this sort of software on images of their friends, colleagues, and celebrities is unconscionable.

1. 7

I understand where you’re coming from, but I don’t see it happening. Also there’s a difference between nudity and sex, and this is very much about sexualisation, not just nudity. See this subreddit for an idea of where this is going.

1. 6

going to have to be an adjustment in how society treats naked photos

I agree there - but this isn’t “naked photos” as such, really. It’s non-consensual naked photos of people created from entirely non-naked photos and I don’t know how you get across to people that this isn’t ok regardless of how society treats nudity.

1. 14

It’s non-consensual naked photos

It’s not naked photos though. It’s painting on top of fully clothed photos. Photoshop has long existed. This technology only decreases the cost.

1. 5

Australia’s Sex Discrimination Act 1984 defines sexual harassment as (emphasis mine):

“… a person sexually harasses another person (the person harassed ) if: (a) the person makes an unwelcome sexual advance, or an unwelcome request for sexual favours, to the person harassed; or (b) engages in other unwelcome conduct of a sexual nature in relation to the person harassed; in circumstances in which a reasonable person, having regard to all the circumstances, would have anticipated the possibility that the person harassed would be offended, humiliated or intimidated.”

I’d say telling an unwilling somebody “I photoshopped nude photographs of you” meets clause (b) in itself – you don’t even have to make the pictures. If you do make the photoshop/deepfake/painting/crude drawing, that’s not going to help your case.

Also, the photographs don’t have seem real to constitute harrassment. Photoshopping your fellow (male) crew member’s face onto a pornographic image and then printing that on a mug will get you sacked after 15 years as a Royal National Lifeboat Institute volunteer.

Or you could fall back on philosophy: Is it true? Is it kind? Is it necessary? (Sorry, can’t find out with certainty who said this.)

Or other ethics: “who does it help? who does it harm? Is the benefit necessary? Is the harm necessary? Are the harm and the benefit in proportion?”

1. 3

Australia’s sex discrimination act has no bearing on my ethical outlook of the world.

Is it true? Is it kind? Is it necessary?

If it happened then it’s true, by definition.

If it didn’t happen then you shouldn’t complain about it.

Or other ethics

You have to pick one. You can’t just pick whatever ethical position is convenient for you right now to defeat a particular argument you are up against.

1. 2

Is it true? Is it kind? Is it necessary?

If it happened then it’s true, by definition. If it didn’t happen then you shouldn’t complain about it.

Interesting that you didn’t engage with the other questions. You seem to be selectively arguing here to things that you can defend against.

Or other ethics

You have to pick one. You can’t just pick whatever ethical position is convenient for you right now to defeat a particular argument you are up against.

I thought you were a libertarian? They were just asking a series of questions framed by different ethical views to you, most likely they were interested in your response. As are we all.

Right now, the impression I get from your responses in this thread is something along the lines of:

as a libertarian i dont want your society if i can’t deepfake my neighbor’s nudes and masturbate to it and maybe sell it idk while keeping the legal high ground

Would you care to change that impression?

As an individualist, we are all individuals, so therefore you must think there is no such thing as consent, because that requires cooperation, which cannot exist under an individual model. This is in line with your arguments in this thread. You ignore the consent and violation aspect, and prefer to create edge-cases that suit your point of view that, as an individual, you should be allowed to do what you want with no regard for other people.

Where does this philosophy end? If I repeatedly flick your nose, is that ok? After all, we are both individuals and I am free to do what I want. What would you do in retaliation if I used my right as an individual to ignore you? Hit me? Escalate the violence?

If I spread your posts in this thread around to the rest of the internet, traced down your alias by using your posts and the account tree, and showed your family and friends your response (Which is not something I am going to do, this is a hypothetical), would that be ok for me to do? Under your individualist philosophy? How would you choose to retaliate, as an individual? How can you retaliate against that?

It seems to me, the individualist philosophy seems to end in an escalating war of individuals, rather than any coherent societal philosophy.

If you bother to reply to this, which I cannot actually see you doing, I would like you to respond to each of my arguments. Not just a cherry-picked selection like you have above. Thank you.

1. 2

Interesting that you didn’t engage with the other questions. You seem to be selectively arguing here to things that you can defend against.

Which question did I not engage with? The part about somebody being sacked falls under the same grouping as the australian law argument and I would respond with the same argument: that people’s action and/or a country’s legal system do not and should not define what is moral.

Would you care to change that impression?

Sure. My stance is that any restriction on people’s freedom is inherently immoral.

Is it immoral for a person to imagine her neighbour naked?

As an individualist, we are all individuals, so therefore you must think there is no such thing as consent, because that requires cooperation, which cannot exist under an individual model.

non-sequitur. Individuals often benefit, mutually so, by cooperation.

The rest of your post follows from this foundation, and thus would not need to be responded to furthur.

2. 4

Creating a naked image of a normal person without their consent is a violation of boundaries and consent

1. 3

Even if it is on one’s own computer? In one’s own mind eye?

I don’t wish to live on a world with such a view.

1. 2

What if you were to create an image of a naked humanoid robot with facial similarity to a normal person?

2. 4

I’m not trying to say it’s OK, I’m trying to say it’s not going away. We need societal changes to reduce the harms of it.

1. 2

xml2 and 2xml. Converts XML to a flat file-path like structure, with the other application doing the reverse.

This is the key application that allowed me to unlock a CLI-like pipeline for working with EagleCAD’s xml markup from the shell.

Docs are incredibly sparse though. The best resources I’ve founed aside for personally playing around with it follow:

1. 1

Oh, this is wonderful. Much appreciated!

1. 16

Gron! It transforms JSON into greppable lines like path.to.items[3] = value, and if you like you can edit the result and use gron to transform the edited stuff back to JSON. This brings JSON structures into the line-oriented sed/grep/awk universe – I’m looking at you, Jupyter notebooks. I’ve only had gron for a few months, and it’s already my 13th-most-used command.

Example output (gron can read from stdin, files, and even URLs):

▶ gron testdata/two.json
json = {};
json.contact = {};
json.contact.email = "mail@tomnomnom.com";
json.github = "https://github.com/tomnomnom/";
json.likes = [];
json.likes[0] = "code";
json.likes[1] = "cheese";
json.likes[2] = "meat";
json.name = "Tom";

1. 2

Thanks for mentioning this! I had no idea this existed, but is definitely in line with how my brain works vs jq. Even though I use jq almost daily, I can never remember some of the syntax.

1. 4

I created an alias for jq, called jqpath, that leverages fzf to give searchable output similar to gron, but that emits it in jq’s expected format: https://twitter.com/tednaleid/status/1302477635914739713

1. 1

Oh wow, I just noticed @mrcruz’s recommendation of xml2, elsewhere on this page, which does something similar for HTML and XML. Although for HTML I had hoped it would include element classes and IDs in the path — .../div/div/... is not useless, but .../div.comment#c_tez5vc/div.details/... would have provided more orientation points. Still, this is going in my toolbox; and I thought you might like it, too.

Part of the output of curl https://lobste.rs/s/eprvjp/what_are_your_favorite_non_standard_cli | html2:

/html/body/div/div/ol/li/ol/li/div/div/div=
/html/body/div/div/ol/li/ol/li/div/div/div/a/@href=/u/loc
/html/body/div/div/ol/li/ol/li/div/div/div/a/img/@srcset=/avatars/loc-16.png 1x, /avatars/loc-32.png 2x
/html/body/div/div/ol/li/ol/li/div/div/div/a/img/@class=avatar
/html/body/div/div/ol/li/ol/li/div/div/div/a/img/@alt=loc avatar
/html/body/div/div/ol/li/ol/li/div/div/div/a/img/@src=/avatars/loc-16.png
/html/body/div/div/ol/li/ol/li/div/div/div/a/img/@width=16
/html/body/div/div/ol/li/ol/li/div/div/div/a/img/@height=16
/html/body/div/div/ol/li/ol/li/div/div/div=
/html/body/div/div/ol/li/ol/li/div/div/div/a/@href=/u/loc
/html/body/div/div/ol/li/ol/li/div/div/div/a/@class
/html/body/div/div/ol/li/ol/li/div/div/div/a=loc
/html/body/div/div/ol/li/ol/li/div/div/div=
/html/body/div/div/ol/li/ol/li/div/div/div/span/@title=2020-10-22 17:16:17 -0500
/html/body/div/div/ol/li/ol/li/div/div/div/span=2 days ago
/html/body/div/div/ol/li/ol/li/div/div/div= |
/html/body/div/div/ol/li/ol/li/div/div/div/a/@href=/s/eprvjp/what_are_your_favorite_non_standard_cli#c_tez5vc
/html/body/div/div/ol/li/ol/li/div/div/div=
/html/body/div/div/ol/li/ol/li/div/div/div/span/@class=flagger flagger_stub
/html/body/div/div/ol/li/ol/li/div/div/div=
/html/body/div/div/ol/li/ol/li/div/div/div/span/@class=reason
/html/body/div/div/ol/li/ol/li/div/div/div/span=
/html/body/div/div/ol/li/ol/li/div/div/div=
/html/body/div/div/ol/li/ol/li/div/div=
/html/body/div/div/ol/li/ol/li/div/div/div/@class=comment_text
/html/body/div/div/ol/li/ol/li/div/div/div=
/html/body/div/div/ol/li/ol/li/div/div/div/p=Thanks for mentioning this! I had no idea this existed, but is definitely in line with how my brain works vs
/html/body/div/div/ol/li/ol/li/div/div/div/p/code=jq
/html/body/div/div/ol/li/ol/li/div/div/div/p=. Even though I use
/html/body/div/div/ol/li/ol/li/div/div/div/p/code=jq
/html/body/div/div/ol/li/ol/li/div/div/div/p= almost daily, I can never remember some of the syntax.
/html/body/div/div/ol/li/ol/li/div/div/div=

`
1. 1

I bounced over to Wikipedia, and no, it doesn’t make change ringing any easier to understand.

1. 1

Amen. It’s a very jargon-heavy fields; some of the jargon describes a place (whichever bell is in it), and some describes a bell (whichever place it is in); some jargon describes what a single bell does, some of it describes how an entire row changes; and some of it describes a pattern across multiple rows; and some of it describes repetitions/transitions of that pattern.

I think it’s actually hard to understand in a similar way that it is hard to understand how computers work: being simultaneously aware of what is happening at multiple levels of abstraction is difficult, and it’s doubly difficult when you don’t know *any* of the levels yet..

Perhaps it gets easier once your brain has practiced so much that it can recognise patterns at each of those levels? I wouldn’t know, I haven’t got that far.


text:
# Order and Ranking questions for RRB Group D

0
863

## Order and Ranking questions for RRB Group D

###### Download Top-10 RRB Group-D Order and Ranking questions  PDF. RRB Group – D Order and Ranking questions based on asked questions in previous exam papers very important for the Railway Group-D exam.

Question 1: In a row of trucks, Ashok is at 17th position from the left end. Bharat is 19 places to the right from Ashok and is at the exact centre of the row. How many trucks are there to the right of Ashok truck?

a) 53

b) 54

c) 52

d) 19

Question 2: Five girls took part in a race. Rajni finished before Mahika but behind Garima. Ashmita finished before Sanchali but behind Mahika. Who came second in the race?

a) Sanchali

b) Mahika

c) Rajni

d) Garima

Question 3: X’s rank was 12 from the top. If the total number of students in the class was 16, then X’s rank from the bottom of the class is:

a) 5

b) 6

c) 4

d) 7

Question 4: 22 boys are standing in front of Kunal in a queue. 12 boys are standing to the back of Rohit in the same queue. If total number of boys is 30 then the number of boys standing in between Kunal and Rohit is

a) 3

b) 4

c) 6

d) 5

Question 5: 32 boys are standing in front of X in a queue. Y is standing in the 19th position from the back in the same queue.If total number of boys is 45 then the number of boys standing in between X and Y is

a) 3

b) 5

c) 6

d) 4

Question 6: Ram is fifth rank from both sides (Left & Right), the no. of students in the class is

a) 10

b) 9

c) 12

d) None

Question 7: Five persons (R, S, T, U and V) are in a queue facing a reservation counter. Immediately behind S is U. T is standing between R and V. In between R and U, no one is there. Then, where is S standing in the queue ?

a) Last but one

b) First

c) Second

d) Last

Question 8: Five boys J, K, L, M and T are standing in a queue one after the other (not necessarily in the same order). There is only one boy between K and J. There is only one boy between K and L. There are four boys behind J. T is three places ahead of L. How many boys are ahead of M ?

a) 3

b) 0

c) 2

d) 1

Question 9: There are 25 students in a queue. Ravi is standing 12th from the back. What is his position from the front?

a) 11th

b) 12th

c) 13th

d) 14th

Question 10: Harsha is standing in a queue, tenth from behind. There are 40 students in the queue including Harsha. What is Harsha’s position from the front?

a) 28th

b) 29th

c) 30th

d) 31st

Ashok’s position from left end = 17th

Bharat’s place from left end = 17+19 = 36th

Also, Bharat’s place from right end = 36th

=> Total number of trucks = $(36+36)-1 = 72-1 = 71$

$\therefore$ Number of trucks to the right of Ashok truck = $71-17=54$

=> Ans – (B)

given total student=16

from TOP X rank=12

4 student below rank than X

so X rank from bottom is 4+1=5

22 boys are standing in front of Kunal in a Queue 12 boys are standing to the back of Rohit
Total boys = 30.
So, rank of Kunal in the queue is 22+1 = 23
Rank of Rohit in the queue is 30 – 12 = 18
Hence, the number of boys between Rohit and Kunal in the queue is 23 – 18 – 1 = 4

There are 32 boys ahead of X and 26 ahead of Y. Since Y is also ahead of X, there are 31 other boys ahead of X. ie there are 5 boys between X and Y.

Ram is the fifth rank from both sides means there are 4 people to the left as well as to the right of Ram.

Thus, the number of people including Ram is = 4 + 4 + 1=9.

U is standing immediately behind S and there is no one between R and U

=> ‘S U R’ are standing in that order.

Also, T is standing between R & V.

=> The position of the five persons from left to right is :

S U R T V

=> S is at first position.

using the statement

There are four boys behind J

T is three places ahead of L

There is only one boy between K and J and There is only one boy between K and L

completing the queue

There are 3 boys ahead of M

format: plain


text:
# Elliptic curve definition

Number Theory Level 4

Consider the curves given by the following three equations.

(1) $$y^2 = -\dfrac 1{16}x^2 + 1$$

(2) $$y^2 = x^3-3x+2$$

(3) $$y^2 = x^3-3x$$

Which of these curves are elliptic curves?

×


text:
I'm trying to isolate ST, i.e. ST = ...

PR = (1-((1-(1-(WR/100))^ST)^((TR*365*50)-(ST-1))))*100

Can anyone help me?

That monster looks to me like a financial formula, ST being the number of periods; yes?
As far as I can tell, cannot be solved directly for ST; numeric method required.

Anyhoooo: I suggest you simplify it as much as possible, a bit this way:
p=PR, w=WR/100, t=TR*365*50, s=ST

Originally Posted by joelray712
I'm trying to isolate ST, i.e. ST = ...

$$PR = \left(1-\left[ \left(1-\left[1-\left( \dfrac{WR}{100} \right) \right]^{ST} \right)^{TR\cdot 365\cdot 50-ST+1} \right] \right)*100$$

Can anyone help me?
I reformatted this to make it easier to read. There is no easy way to isolate $ST$. You are likely to wind up with the Lambert W function in the solution. Let's give single letters to every double-letter variable. $ST = x, WR = y, TR = z, PR = w$. Then you have:

$$w = \left(1-\left[ \left(1-\left[1-\left( \dfrac{y}{100} \right) \right]^{x} \right)^{18250z-x+1} \right] \right)*100$$

Perhaps a computer algebra system would be able to chew through this and solve for $x$, but there is no easy way to do that. The problem is that you have $x$ in two separate exponents.

Very astute of you; yes, it's a financial formula. PR = probability of x consecutive losing trades, WR = win-rate, TR = number of trades per day and ST = streak of consecutive losing trades.

Thank you SlipEternal for the cleaned-up formula and assessment of the unfeasibility of isolating ST. The problem of ST existing in two separate exponents was what was holding me up.

Originally Posted by joelray712
PR = (1-((1-(1-(WR/100))^ST)^((TR*365*50)-(ST-1))))*100
which is really:
PR/100 = 1-((1-(1-(WR/100))^ST)^((TR*365*50)-(ST-1)))
right?
PR = probability of x consecutive losing trades,
WR = win-rate,
TR = number of trades per day
ST = streak of consecutive losing trades.
Are these "reasonable" values:
PR = 25 (25% probability)
WR = 65 (win 65% of time)
TR = dunno...perhaps >0 and <100?
ST = calculated using above

Can you supply a clear actual example, and ST's calculated value?
I think can be solved not directly but from a very simple looper program.....

ALSO: can you explain "TR*365*50"....makes no sense to me as a power...

Ideally, the probability (PR) should be around 0.1%, since it is the probability of losing a certain number of trades in a row which would lead to a trading-account drawdown of a certain percentage (in my case 20%).

Win-rate (WR) at 65% is good.

Trades per day (TR) is usually around 0.5 or so, since the setups that I trade don't occur every day -- and also since there are only 5 trading days per week.

The streak (ST) is calculated using the amount of risk per trade to find the number of losing trades that would lead to a maximum account drawdown of 20%. Depending on the strategy, the streak number is usually around 10-15.

TR*365*50 is intended to return the total possible number of trades in 50 years.

Thank you kindly for all your help!

So, using WR = 65, TR = .5 and ST = 12, then PR = ~3.033

PR = (1-((1-(1-(65/100))^12)^((.5*365*50)-(12-1))))*100 = ~3.033

...which means PRobability = approx. 3.033

Relating that to your .1% then means 3.033/100 = .03% (approx.) : yes?

What seems STRANGE to me is : ^((TR*365*50)-(ST-1))))
WHY have -(ST - 1) in there: seems meaningless; here's why:

PR = (1-((1-(1-(65/100))^12)^((.5*365*50)-(12-1))))*100 = 3.030328833
remove the (ST - 1):
PR = (1-((1-(1-(65/100))^12)^((.5*365*50)))*100 = 3.030364876
....a difference of .000036043

Sooooo: remove the darn thing!!
Get my drift?

I hope SlipEternal checks this out...in case I goofed!!

Hi DenisB,

My apologies for my delayed response; I've been traveling around in Europe and the Middle East. Currently on a break in the Iceland airport.

I tested out your hypothesis about simply removing -(ST - 1), and it does seem to make only a minimal difference, insignificant for my purposes.

I'm still trying to isolate ST. I've got this far but am having a mental block.

PR = (1-((1-(1-(WR/100))^ST)^(TR*365*50))*100
PR/100 = 1-((1-(1-(WR/100))^ST)^(TR*365*50)
-(PR/100 - 1) = (1-(1-(WR/100))^ST)^(TR*365*50)
(TR*365*50) = ln(-(PR/100 - 1))/ln((1-(1-(WR/100))^ST))
(TR*365*50)*ln((1-(1-(WR/100))^ST) = ln(-(PR/100 - 1))

Do you know how to isolate ST?

Any help is much appreciated!


text:
# Wave Modifier¶

The Wave modifier adds a ripple-like motion to an object’s geometry.

This modifier is available for meshes, lattices, curves, surfaces and texts.

 Circular wave front.¶ Linear wave front.¶ Motion enabled for X, Normals enabled for Y.¶

## Options¶

The Wave modifier.

### Motion¶

Axis X/Y

The wave effect deforms vertices/control points in the Z direction, originating from the given starting point and propagating along the object with circular wave fronts (if both X and Y are enabled), or with rectilinear wave fronts (if only one axis is enabled), then parallel to the axis corresponding to the X or Y button activated.

Cyclic

Repeats the waves cyclically, rather than a single pulse.

Normals

For meshes only. Displaces the mesh along the surface normals (instead of the object’s Z axis).

X/Y/Z

Restrict displacement along normals to the selected local axes.

### Time¶

Settings to control the animation.

Offset

Time offset in frames. The frame at which the wave begins (if Speed is positive), or ends (if Speed is negative). Use a negative frame number to prime and pre-start the waves.

Life

Duration of animation in frames. When set to zero, loops the animation forever.

Damping

An additional number of frames in which the wave slowly damps from the Height value to zero after Life is reached. The dampening occurs for all the ripples and begins in the first frame after the Life is over. Ripples disappear over Damping frames.

### Position¶

Position X/Y

Coordinates of the center of the waves, in the object’s local space.

Falloff

Controls how fast the waves fade out as they travel away from the coordinates above (or those of the Start Position Object).

Start Position Object

Use another object as the reference for the starting position of the wave. Note that you then can animate this object’s position, to change the wave’s origin across time.

### Delimiter & Noise¶

You can finely control which vertices are affected by the wave, and to what extent, using a vertex group and/or a texture.

See common masking options for a complete reference.

### Arguments¶

The arguments of the wave function.

Speed

The speed per frame, of the ripple.

Height

The height or amplitude of the ripple.

Width

Half of the width between the tops of two subsequent ripples (if Cyclic is enabled). This has an indirect effect on the ripple amplitude. If the pulses are too near to each other, the wave may not reach the zero Z position, so in this case Blender actually lowers the whole wave so that the minimum is zero and, consequently, the maximum is lower than the expected amplitude. See Technical Details and Hints below.

Narrowness

The actual width of each pulse: the higher the value the narrower the pulse. The actual width of the area in which the single pulse is apparent is given by 4 / Narrowness. That is, if Narrowness is 1 the pulse is 4 units wide, and if Narrowness is 4 the pulse is 1 unit wide.

Wichtig

All the values described above are in local object space, i.e. they must be multiplied with the corresponding Scale values of the object to get the real dimensions.

## Technical Details and Hints¶

The relationship of the above values is described here:

Wave front characteristics.

To obtain a nice wave effect similar to sea waves and close to a sinusoidal wave, make the distance between following ripples and the ripple width equal. That is, the Narrowness value must be equal to 2 / Width. E.g. for Width to be 1, set Narrow to 2.


text:
# zbMATH — the first resource for mathematics

Some remarkable properties of $$H$$-graphs. (English) Zbl 0898.53007
Let $$H=H(u): \mathbb{R}\to \mathbb{R}$$ be a given function with $$H'(u)\geq 0$$ and $$H(-\infty)\neq H(\infty)$$. The authors consider solutions $$u=u(x,y)$$: $$B_R(0) \to\mathbb{R}$$ of the differential equation $\text{div} \bigl[(u_x,u_y)/ \sqrt{1+u^2_x+u^2_y} \bigr]= 2H(u) \tag{*}$ and derive an estimate of the gradient of $$u$$ at the origin. Notably, the bound on the norm of the gradient at the origin depends only on the radius $$R>0$$ of the disk $$B_R(0)$$ and on $$u(0)$$. (*) means that the surface given by the graph of $$u(x,y)$$ has the upward oriented mean curvature $$H(u)$$.
The proofs are based on a comparison of $$u$$ with a certain solution of (*) in a so-called moon domain. As a consequence of this estimate, a form of Harnack’s inequality is obtained in which no positivity hypothesis appears.

##### MSC:
 53A10 Minimal surfaces in differential geometry, surfaces with prescribed mean curvature 35J60 Nonlinear elliptic equations 35B45 A priori estimates in context of PDEs
##### Keywords:
$$H$$-graph; gradient estimate; Harnack inequality
Full Text:


text:
# Custom font in Overleaf with pdfLaTeX compiler

I am creating a chapter report template in LaTeX that will be used by others, mostly in Overleaf. There are requirements for fonts, etc. that are in a Word template that I am coding into a LaTeX template.

There are a few questions on StackExchange here about how to use a custom font in Overleaf. Many suggest using the XeLaTeX compiler which is too slow. I want to use pdfLaTeX.

Overleaf has instructions here and here on how to use a custom font with pdfLaTeX, and and answer to LuaLaTeX + fontspec: Font not found also has some tips, but I am still stuck.

Code

\documentclass{report}
\usepackage{lipsum}

% from Overleaf example at https://www.overleaf.com/project/61800a1dd7200c9a50af629b
\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\newcommand\customfont[1]{{\usefont{T1}{fonts/calibri}{m}{n} #1 }}

\title{template}
\author{none}
\date{November 2021}

\begin{document}

\maketitle

\chapter{Introduction}
\Huge\customfont{Custom Font Text!}

\section{Section}
\lipsum[1]

\subsection{Subsection}

\end{document}

Project Setup

Current Output

Expected Output

1. I don't understand the missing number error. I am new to LaTeX and not sure what number is expected and where.
2. The text reads "n/24.88n/ ..."-- I expected it to read "Custom Font Text!" and be in Calibri font, not the default font.
3. Following text remained "Huge", and I expected it to return to the default

End Goal

I am trying to set the chapter and section headers to Calibri font, in Report document class, with pdfLaTeX compiler. I expect to use something like this in my preamble:

\usepackage{titlesec}
\titleformat{\chapter}{\customfont\fontsize{12}{14}\bfseries}{\thechapter}{1em}{}

Open to suggestions on a better way to do this. Thank you

• You can't just use TTF font files with pdfLaTeX directly. You need to convert them into a format that LaTeX understands. You can, however, use TTF font files with XeLaTeX and with LuaLaTeX. I would suggest that you browse through the relevant packages on CTAN and chose a font you like, if you really want to stick to pdfLaTeX. Nov 1, 2021 at 16:18
• @JasperHabicht thank you, that is a much better idea. I ended up using Carlito. If you write this up as an answer, I will accept it
– a11
Nov 1, 2021 at 16:26
• David Carlisle did this already (and they added some more information about Calibri). You may just accept their answer. Nov 1, 2021 at 16:27
• note if you go \Huge{abc} one two three all the text will be Huge to the end of the document, the syntax is {\Huge abc} one two three Nov 1, 2021 at 16:34

Note also that calibri isn't licenced for use off windows (unless you have bought it) you can use the chrome OS font clone carlito which uses the same font metrics as calibri and has already been set up for use with pdflatex with the carlito package.


text:
“The Riddler” book is out now! It’s chock-full of the best puzzles from this column (and, fret not, their answers) and some riddles that have never been seen before. I hope you enjoy it, and thank you for riddling with us these past three years.

Welcome to The Riddler. Every week, I offer up problems related to the things we hold dear around here: math, logic and probability. There are two types: Riddler Express for those of you who want something bite-size and Riddler Classic for those of you in the slow-puzzle movement. Submit a correct answer for either,30 and you may get a shoutout in next week’s column. If you need a hint or have a favorite puzzle collecting dust in your attic, find me on Twitter.

## Riddler Express

From Philip Ruo, a puzzle of pondering playing perfection:

The NFL season is in full swing, and only one undefeated team remains — the 6-0 Los Angeles Rams. In theory, though, given the current NFL scheduling scheme — or at least what Wikipedia says it is — what is the largest number of teams that could finish a regular season 16-0?

## Riddler Classic

From Ricky Jacobson and Ben Holtz, geological disaster looms beneath:

You live on the volcanic archipelago of Riddleria. The Riddlerian Islands are a 30-minute boat ride off the shores of the nearby mainland. Your archipelago is connected via a network of bridges, forming one unified community. In an effort to conserve resources, the ancient Riddlerians who built this network opted not to build bridges between any two islands that were already connected to the community otherwise. Hence, there is exactly one path from any one island to any other island.

One day, you feel the ground start to rumble — the islands’ volcanoes are stirring. You’re not sure whether any volcano is going to blow, but you and the rest of the Riddlerians flee the archipelago in rowboats bound for the mainland just to be safe. But as you leave, you look back and wonder what will become of your home.

Each island contains exactly one volcano. You know that if a volcano erupts, the subterranean pressure change will be so great that the volcano will collapse in on itself, causing its island — and any connected bridges — to crumble into the ocean. Remarkably, other islands will be spared unless their own volcanoes erupt. But if enough bridges go down, your once-unified archipelagic community could split into several smaller, disjointed communities.

If there were N islands in the archipelago originally and each volcano erupts independently with probability p, how many disjointed communities can you expect to find when you return? What value of p maximizes this number?

## Solution to last week’s Riddler Express

Congratulations to Sarry Al-Turk of Toronto, winner of last week’s Riddler Express!

Last week, you learned about a girl who loves to sing “The Unbirthday Song” to people — as one does. But she can only do that, of course, if it’s not the person’s actual birthday. If she kept singing it to random people until it happened to be someone’s birthday, how long would her singing streak go before it became more likely than not that she would encounter someone whose birthday it is?

Care for those vocal cords, child: It’s 252 people.

The probability that it’s not an individual person’s birthday is 364/365. The probability that you sing to N people in a row without it having been anyone’s birthday is $$(364/365)^N$$ — since the birthdays are independent events, we can multiply that fraction over and over to match the number of people. We want to find the number N such that that probability is larger than 0.5.

We could just stick that straight into a computer solver, but it’s Friday, so let’s have some fun and do a little algebra.31 First, we can take the logarithm of both sides, to get N out of the exponent, and then we can rearrange things a little bit:

\begin{equation*}(364/365)^N > 0.5\end{equation*}

\begin{equation*}N\log(364/365) > \log(0.5)\end{equation*}

\begin{equation*}N > \log(0.5)/\log(364/365)\end{equation*}

That numerator, log(0.5), equals about -0.3, and that denominator, log(364/365), equals about -0.001. That fraction equals about 253. So the singing streak is expected to go 252 people before it became more likely than not that a birthday boy or girl would be encountered.

And a very merry unbirthday to you, dear reader — unless, of course, it is the big day.

## Solution to last week’s Riddler Classic

Congratulations to Clemens Fiedler of Krems, Austria, winner of last week’s Riddler Classic!

Last week, a farmer wanted to tether a goat — as one does. Specifically, the farmer wanted to tether the goat to the fence that surrounded his circular field such that the goat could graze on exactly half the field, by area. The field had a radius R. How long should the goat’s tether be?

The tether should be a bit longer than the radius — specifically, it should have a length of about 1.159R.

Solver Russell No-last-name-given showed us what this looks like, pictured below. The field is green with radius R; the goat’s would-be grazing area is gray, with radius r.

The picture is all fine and good, but what about that math? It looks a little nasty. And it is a little nasty, I’m afraid. But, hey, it’s nearly Halloween, so let’s surrender to the nastiness and fear.

The area on the field available to the goat is the intersection between two circles. And there just happens to be a whole body of knowledge about such circle-circle intersections. One way to think about it is to consider the two different shapes that the goat’s tether allows it to graze in. The first is the big “pizza slice”, defined in the image above by the two diagonal green radii and the bottom arc of the gray circle, and the second are the narrower areas between the pizza slice and the fence.

Hector Pefo broke this math down a little bit more for us in his diagram (this time, the goat is on the southern end of the field):

And finally, Laurent Lessard showed us a way to get to this same solution with calculus.

Either way, I hope you enjoy it, goat. Nom nom nom.

## Want more riddles?

Well, aren’t you lucky? There’s a whole book full of the best of them and some never seen before, called “The Riddler,” and it’s in stores now!

## Want to submit a riddle?

Email me at [email protected]

## So You Want To Tether Your Goat. Now What?

“The Riddler” book is out now! It’s chock-full of the best puzzles from this column (and, fret not, their answers) and some that have never been seen before. I hope you enjoy it, and thank you for riddling with us these past three years.

Welcome to The Riddler. Every week, I offer up problems related to the things we hold dear around here: math, logic and probability. There are two types: Riddler Express for those of you who want something bite-size and Riddler Classic for those of you in the slow-puzzle movement. Submit a correct answer for either,4 and you may get a shoutout in next week’s column. If you need a hint or have a favorite puzzle collecting dust in your attic, find me on Twitter.

## Riddler Express

From Luke Robinson, a serenading stumper:

My daughter really likes to hear me sing “The Unbirthday Song” from “Alice in Wonderland” to her. She also likes to sing it to other people. Obviously, the odds of my being able to sing it to her on any random day5 are 364 in 365, because I cannot sing it on her birthday. The question is, though, how many random people would she expect to be able to sing it to on any given day before it became more likely than not that she would encounter someone whose birthday it is? In other words, what is the expected length of her singing streak?

## Riddler Classic

From Moritz Hesse, some grazing geometry:

A farmer owns a circular field with radius R. If he ties up his goat to the fence that runs along the edge of the field, how long does the goat’s tether need to be so that the goat can graze on exactly half of the field, by area?

(The great thing about this puzzle, Moritz notes, is that if you get sick of math, you can find the answer through trial and error with your own circular field and your favorite goat, horse, cow, kangaroo, sheep, unicorn, centaur or sphinx.)

## Solution to last week’s Riddler Express

Congratulations to Stefan Heidekrüger of Munich, winner of last week’s Riddler Express!

Last week’s Express brought a fill-in-the-blank challenge: What’s the next number in this series?

9, 10, 19, 24, 31, 40, 51, 64, 79, 90, ?

It’s A9.

A9?! What the … ?

The trick to filling in this blank was recognizing that these numbers aren’t in our usual base-10, or decimal, number system. Rather they are in the base-16, or hexadecimal, system. Hexadecimal is often used by computer programmers. And since we only have 10 digits that go with our usual base-10 system, base-16 uses the letters A through F to represent the values 10 through 15.

OK, back to our series. The pattern is $$(N+2)^2$$, where $$N$$ is the number’s position in the sequence. So the first number is $$3^2$$, or 9. The second number is $$4^2$$, or 16, which is represented as 10 in hexadecimal. The third number is $$5^2$$, or 25, which is 19 in hexadecimal. And so on. Our missing number is $$13^2$$, or 169 — or A9 in hexadecimal.

## Solution to last week’s Riddler Classic

Congratulations to Eric Roshan-Eisner of San Francisco, winner of last week’s Riddler Classic!

Last week you were brought in to solve a serious problem at the Riddler Intelligence Agency, or RIA. Namely, the RIA had been infiltrated by spies, and your job was to root them out. There were N agents total, and K of them were spies. You knew the values of N and K but not, at first, the identities of the spies. You could send any number of agents on a remote island retreat as many times as you wanted. If all of the spies were on the retreat, they would assemble for a secret spy meeting; if any of the spies were not on the retreat, the meeting would not take place. The only thing you learned from each retreat was whether or not this meeting happened.

It cost $1,000 per person to send agents on these retreats. What was the least you could spend while still identifying all of the spies? Assume you knew that N = 1,024 agents and K = 17 spies. This week’s winner, Eric Roshan-Eisner, explained that it will take at least 122 retreats to identify all the spies: The total number of possible spy configurations within those 1,024 people is N choose K, or about $$4\cdot 10^{36}$$. That number is very big — but it doesn’t mean we need that many retreats to suss out our spies. Think of each retreat as a moment to learn one bit of information about the arrangement of spies (that is, whether or not the spy meeting occurred). I’m using “bit” there intentionally — the key to solving this puzzle is to translate that $$4\cdot 10^{36}$$ number into binary, a number that needs 122 “bits” — one digit in a binary number — to be expressed. Every retreat you organize returns to you exactly one piece of yes-or-no, 0-or-1 information — that is, whether or not the spy meeting happened. That’s your bit. Therefore, the minimum number of retreats necessary to differentiate between all four undecillion possibilities is 122. The exact strategy you should use to do this, Eric wrote, is left as an exercise to the reader. Others picked up the baton there. Tim Black, a grad student at the University of Chicago (Go Maroons!), found a strategy to identify the spies in 131 retreats, and also proved that it is impossible to do so in fewer than 122. Thomas Swayze also found a 131-retreat strategy, which cost about$93 million. Thomas wrote that his strategy to find the spies was to use a form of binary search to single them out one by one: Start with some subset, S, of the agents that we know contains at least one spy. Then pick a subset, T, of S, and keep the agents in T at home while sending the entire rest of the agency on the retreat. If there’s a meeting, we know that T contains no spy — so leave all the agents in T out of all future retreats. If there is no meeting, there is some spy in T. Either way, we now have a smaller set that we know has a spy. Once we’ve outed one spy, we send him on all future retreats and repeat the process to find all the remaining spies, one by one. The tricky part is deciding how big to make the set T. It depends on the number of agents left, the number of spies we’ve caught, and the size of the set S. Thomas was kind enough to share the Python code he used.

Finally, Laurent Lessard described a strategy that used more retreats (191) but cost less (about \$66 million).

But hey, if identifying spies were easy — or cheap — everybody would do it.

## Want to submit a riddle?

Email me at [email protected]


text:
How would really old people think or act?

A lot of fictional works contain people who are well over 100 years old, some 200, some 1000s of years old. The Emperor Of Mankind for example is over 10,000 years old. Colin from Highlander is over 2000 years old.

Realistically, how would these people think and act? How would they act or think differently from ordinary young people, assuming that their physical bodies do not age (e.g remain the body of a 30-year-old)?

My guess is firstly that they would know lots of facts, but not necessarily in depth as they may not have had the time or resources to conduct research into these areas. They might have a very well developed philosophy, taking some axioms as far as you can go by pure logical reasoning. Their decisions might be more logical and they might be faster to make decisions, so that they might be more perfect Bayesians. However, given that their brains are still only human (or slightly superhuman), they would still just be boundedly rational agents. Would they be rid of all addictions and bad habits, including bad mental habits? Would they have conquered procrastination? Would they reach the limit of expertise, or somehow go beyond it?

More importantly, how would they speak, act, and make decisions? Would they sound like otherworldly beings, or just like an ordinary friendly guy who seems trustworthy and knowledgeable? Would having so many years of experience and learning give them some unique insights not available to normal humans?

EDIT: You can take Colin MacLeod from Highlander as an example. Regular human given the gift of immortality who lives through normal human history as a regular human being (not a slave but not a king either, perhaps ordinary citizen).

• The question is a little broad. Not to bad, but it really depends a lot on the experiences that the individual went through in their long life. Were they pretty well off for a lot of it? Have they been living hand to mouth for 1000 years? Have they had family, or were they drifting from place to place never putting down roots... I think if you edit this to narrow it down just a little you'll get some better answers. – AndyD273 May 12 '15 at 14:31
• It depends very much upon their physical state of being too. I am middle aged but I got extremely sick last year and was in extremely poor physical shape for much of the year. That affected my psychology very much. As I physically improved my mode of thinking altered again. So very old vigorously healthy old people will think very differently from very sickly or weak old people. – Jim2B May 12 '15 at 15:05
• They would be really protective of their lawns. – KSmarts May 12 '15 at 15:22
• Actually, another pretty big question is are they the only one? Like with Highlander you have a very small number who can't get along and who have to live in secret while everyone around them gets old and dies. That would be pretty lonely. Versus a way that a majority of people are very long lived and so you could build long term relationships that span centuries. That would really alter how a person thinks and reacts to everything. – AndyD273 May 12 '15 at 16:23
• If a person is functionally immortal, I'd think the tendency to procrastinate would go WAY up. After all, you literally have FOREVER to get to it... "Never put off until tomorrow what you can put off indefinitely." – Isaac Kotlicky May 12 '15 at 23:43

It's difficult to say without having any first-hand knowledge of such a phenomenon, though I would imagine that a good model for a person living to the age of 600 would be to take the central differences between a child of 6 and a grown person of age 60. Why 60? Because this is a safe age to extrapolate behavior, after which, behavior might begin to suffer from the onset of old age. Since they will have the body of a 30-year-old, I assume that diseases such as alzheimer will not have an effect.

So what are the central differences between a 6-year-old and a 60-year-old? This in of itself is a difficult question to answer because it mostly depends on the individual, however I think we can agree that generally, you see the following traits in 6-year-olds that you wouldn't see in 60-year-olds:

• Immaturity
• Egocentric world view
• Innocence
• Irrationality
• Impatience

And so logically the type of traits you'd typically see in 60-year-olds (and again, not always) would be Maturity, Accepting world view, Knowledgeable, Rationality, Patience. Therefore presumably a 600-year-old is just a more extreme version of this.

Extreme maturity - They likely wouldn't appreciate humor as we appreciate humor, and even then, they would likely find little funny, save for very sophisticated and subtle humor which might easily go over our heads. For the most part, they'd be like stereotypical tight-lipped librarians that want nothing to do with the silly things you do.

Extreme accepting world view - Little is likely to surprise them, since they've seen everything before. The ideas that they've had over the years has solidified into granite and therefore they realize that they aren't going to change ideas. And it's not without a certain irony that this also means that they've made up their minds regarding their approach to such contrasting ideas. You aren't likely going to be able to trick one into arguing with you, but if you could and assuming you were listening, it is far more likely they'd tell you something to put your own ideas into question. Their general approach to differing world views is likely going to be apathy.

Extreme knowledge - There will be little that they do not know. Although they may not have knowledge on par with an expert in the field, they will certainly have enough base knowledge to ask a question that may stumble an expert in most fields. The type of knowledge known for the fields that interest them is unfathomable, though suffice to say that they will likely learn neighboring fields at the level of expert simply because the two fields have some common ground. In other words, a 600-year-old biologist would likely be able to tell you anything you'd want to know in the areas of chemistry or zoology, at the extreme of being considered an expert in both fields, as well as quote the first chapter of Dante's Inferno by heart just because it is a hobby of his.

Extreme rationality - A 600-year-old man would be able to argue circles around you, thinking several steps ahead. This is not necessarily because he is smarter than you, but simply because he's had a lot of time to practice. Suffice to say that after you explain the rules of chess to such a man, he'd likely not lose a single match and by the third game, he'd have figured out how to beat you in 10 moves or less playing off your own strategy. This isn't to say that such a person couldn't be wrong, but his beliefs would be deeply rooted in fact that you couldn't prove him wrong without first showing that one of these facts is fundamentally wrong as well.

Extreme patience - You would not likely see a 600-year-old man show a temper. Combined with extreme rationality and you'd feel like you were talking with a living version of Spock. In fact it would be difficult to evoke a strong sense of emotion of any kind. These types of emotions would be likely limited to only friends and loved ones and only in specific occasions.

Could a 600-year-old man be immature, egocentric, innocent, irrational, impatient? Yes, absolutely. This is merely a generalization, though you likely wouldn't see 600-year-old individuals if they did show these traits, because like children, they would "grow out of it" more likely than not.

• Reminds me a little of the Peter F Hamilton books where people go into rejuve every 50 years or so. A first life guy who's about 50 is dating a 300 year old woman (just out of rejuve, looks 20) who tells him "Listen dear, this isn't a big deal, you'll understand when you're older." – AndyD273 May 12 '15 at 16:14
• But if he knew that ACTING emotionally would obtain good results, then wouldn't he act emotionally even if he didn't feel any emotions? For example smiling and laughing along with your jokes even if he didn't find them funny, if it could be used to his advantage? – a926587934658973465 May 12 '15 at 22:40
• @a926587934658973465 As might anyone I suppose. There is a certain mask most people put on in public which makes them smile when someone tells a joke or be courteous towards others. Some might even use emotions to manipulate others into doing what they want (psychopaths). This is something you learn as you grow up, and though I wouldn't expect it to go away, I also don't think it would get more "extreme." More likely that a person would simply get better at saying the right thing at the right moment. However that says nothing about whether or not he would use it. Depends on context. – Neil May 13 '15 at 7:34
• this could be correct only when excluding developed mental illness – άλεξ μιζέρια Jul 9 '16 at 22:15
• Excellent summation. I would also posit that a millennia old individual would likely be intensely self centered, but otherwise you have just described Bayaz, the millennia old "First of the Magi" from Joe Abercrombies The First Law series. – Binary Worrier Oct 31 '17 at 10:51

Physiological considerations aside, this is what I see as the differences:

Slower Thinking / Decisions:
Old people make decisions more slowly than young people. Research indicates this is not due to cognitive decline but instead old people must sift through a greater quantity of data (life experience).

More Cautious:
Older people tend to understand the likely risks and consequences of a given course of action better than young people. They would tend to wait longer before making decisions and try to gather more information before making the decision.

More "In the Box" Thinking & Decisions:
All people rely on analogous experiences to figure out how to approach new situations. Older people will have determined certain approaches work better than others in most cases and will reuse successful approaches. In most situations this will lead to quicker better solutions than a young person can devise. However, in novel situations in which people have no analogous experiences, this approach could trap them into solutions that don't work.

More Conservative Thinking
As a general rule, old people have more to lose (family, wealth, etc.) than young people. They also have a lot of prior experience on how to preserve things. This will lead to a more conservative approach for how to deal with new situations (how do I keep from losing those things precious to me). Young people would be much less likely to take this conservative approach.

The Long View
Very old people will be better able to take the long-view. They will have a greater understanding how their decisions and thinking might affect themselves and others over much longer periods of time.

Also note that many people perfectly capable of doing this still won't. It's just that old age provides the framework which allows them to better understand these things if they choose to do so.

• Considering that such a long lived individual might have already lost and regained it all, possibly several times over (loved ones dying off, wealth fluctuating due to external forces, and so on), maybe their worldview would no longer be as conservative. – Oskuro Sep 27 '16 at 8:14

The way people think would depend on the life stage they are.

People who are eternally young, will eternally think like young people. People who stop at "mature adult" will think like other mature adults. People who grow old, but simply never die, will think like other old people.

A person who has lived over several eras does not fundamentally differ from a person who has lived in several cultures. That is exactly what the immortal would be after all. A relatively young immortal could be modelled by an immigrant from a foreign culture. The exact issues vary with original culture so the match is not exact with any actual actual group of immigrants, but if you look at issues common to most immigrants, the immortal will have experienced them to some degree.

For older immortals you can look at groups that generally have lived in several cultures such as cultural anthropologists and retired military who have spent their lives overseas in several different locations. This depends on whether the immortals try to blend in or have their own society. Which obviously depends on how common the immortals are.

Most knowledge and training has specific context it is relevant and becomes simply a curiosity over time. Most mortal people (certainly here in world building...) have few areas of interest where they know lots of generally useless trivial. The immortal would not really be qualitatively different, but quantity and breadth would be larger. But, of course, after a certain point quantity has a quality of its own so the really ancient might be weird enough for it to matter.

The immortals might try to make their knowledge relevant by choosing fields such as archaeology, history, writing historical novels anthropology, or acting as occupation. Or they might choose areas where the practice they had centuries ago might still help such as mathematics, many forms of music, dancing or martial arts. Realistically, the immortals would have enough accumulated property to live without an actual occupation and no more trouble picking up an entirely new occupation than any other person of their apparent age.

If I knew I were immortal, I would spend most of my time trying to acquire new skills. To some extent, this is necessary just to survive. After all, whatever earned money 200 years ago is not necessarily relevant today. But it also means that the immortal would have time to learn music, art, history, and science, assuming a human brain can absorb all that knowledge. Unless the immortal had an IQ of 90, in which case they would likely live hand-to-mouth until they eventually died.

The easy route to survival is to be a mercenary and work security. Physical combat of the bar bouncer variety hasn't changed much over 600 years, so you should be employable across time quite well. An unambitious highlander might well resign himself to this rather boring fate.

A traveler might expose him/herself to all the world's cultures, even though that exposure will itself become obsolete with time. The extra time could be leveraged into a master level of diplomacy (imagine just 20 years with Rosetta Stone), or squandered on SnapChat.

It all boils down to how ambitious such really old people are. Even today, some old people go on cruises, while others watch t.v. in a retirement home. The interesting ones are the ambitious and active ones, and these would continue to gain skills until they were obviously more talented than everyone else around them. Given how often ideas are rediscovered, this person could simply appear more intelligent than everyone else simply by remembering stuff that happened hundreds of years ago.

• An Immortal with an IQ of 90 at age 556 would be indistinguishable from an Immortal with a IQ of 100 at age 500 or an Immortal with an IQ of 110 at age 446. Such a small difference in IQ would not have much effect on the Immortal's fate, only on the exact number of elapsed years to each level of accomplishment - a number that would probably be overwhelmed by differing life circumstances anyway. - Your point still stands if you consider a more drastic mental deficiency. – A. I. Breveleri Jul 9 '16 at 18:05

One possibility that has been neglected in other responses is that they simply wouldn't (at least act.) This is the route of the Antediluvian vampires in World of Darkness, and a real-world example of the psychological type (though not due to extreme age) might be the mature Cratylus of Athens, a radical student of Heraclitus of Ephesus. The mature Cratylus would not even speak, so paralyzed was he by his extremist process philosophy. Whereas Heraclitus claimed that one cannot step into the same river twice, Cratylus insisted that you cannot even do so once. The contemporary philosopher Graham Priest suggests that the mature Cratylus may be the best candidate for a real-live believer in trivialism, the view that all propositions are true. Priest claims that such a one may not take any action, because action entails a desire to make something the case, but the trivialist already believes that everything is the case. (Though, conversely, the trivialist also believes that everything is not the case, so it's really a coin toss.)

Perhaps better than having all your ancient masters be Cratylus-clones would be to give them all extreme commitments to some philosophy or another. Most of these would tend to be paralyzing or self-destructive in some way, however, so you may end up with a split class of ancient masters: the retirees who are paralyzed by their philosophies, and the actors who eschew philosophy or simply refuse to commit to a particular point of view.

Depends of his personality, if he lives forever or for very long times he might choose to enjoy the stupid phases of a human a little bit more because a person changes his attitudes depending on how many years left he thinks he has and how easily he gets tired or because he was very close to die or believes in something greater than himself

Remember that most humans care most about the pleasures of life, and some don't want to stop enjoying but time makes them to do something meaningful before they die.

Although years give you experience and experience can make you wiser, people like to have fun because its fun, imagine that it was impossible for a human to live more than 21 years, he would be very wise and giving the best of him at around 17-19. Do you think they would live with the same attitude like a 17 kid from today?

But some young people have a personality of an old person.

Sometimes personality and attitude count more to give the best of us than a skill or ability.

If Einstein had lived 500 years we can say he would be the same because he always was like that and what he did was his pleasure.

If a person who you don't like because of his actions lived forever do you think he would change his attitude at 100 years old? he might he might not.

Most of the people tend to act according the judgement of society, look at him he is 45 and still not married, that person might want to get married, but if the youngest age to marry was at 120 in a world where people lived 800 years?

more years give you more experiences for good or for bad.

How would really old people think or act?
According to his/her personality.

When I read your question, I immediately thought of Gulliver's Travels. The Struldbrugs are a race of immortals living amongst the ordinary, mortal citizens of Luggnagg. However, the issue is that they age like normal humans. Therefore,

Once the struldbrugs hit 80 years old, they have "not only all the follies and infirmities of other old men" (3.10.13), but they are also extra-opinionated and cranky because they're worried about living forever.

Their lives are really awful. Because language is constantly changing, eventually nobody can communicate with these Struldbrugs. They have no life-long friends, as who could stand another human being for all eternity? In addition, to avoid the monopolisation of the world by Strulbrugs, in Luggnagg these immortals become legally dead at the age of 80. In accordance with this law all of their property and finances are taken away at this point in their lives. In theory, it sounds vaguely reasonable, but when it is put into action, it just means that the streets are littered with incredibly ugly, incoherent and grumpy beggars.

In this universe, I think that the reality of immortality would be different. But this novel presents the idea in a very interesting manner.

This question really depends on many factors, such as when the person was born and what sort of personality they have. If the person was born around the time of the Spanish Inquisition (and supported said inquisition), they would no doubt be highly disillusioned with the rise of secularism and the separation of Church and State. Maybe they would eventually begrudgingly accept it. Maybe they would fight an eternal battle to overthrow those changes. You have a lot of room for creative freedom here.

If the person knows they are immortal, I would imagine that they would be very risk averse and patient - even when they are young. Mere mortals know they are eventually going to die, so we are all forced to come to terms with it one way or another. Immortals will not. They can also work on building their lives on extraordinarily vast timescales. Even if the best job they can do is work as a laborer, they could put aside some of their income, invest it, and over the centuries become immensely wealthy. They could defer starting a family indefinitely, as well.

Politically, they would first and foremost support ideologies that afford them greatest personal protection. If immortality is rare, I could also imagine that they could see themselves as superior to mortals and use this as the basis to create an immortal aristocracy or autocracy. Given the power and influence they would accumulate over time, class separation between immortals and morals is inevitable. That could also drive social unrest and resentment. Note that, over time, the number of immortals would steadily increase, so even if it is rare they could still exist in substantial numbers.

As for speech, the person would likely use an antiquated form of their language. However, if you have a substantial immortal upper class, it is likely that the entire evolution of the language would be influenced by this. Older phrases would remain in use for much longer, for instance. In this case their language use would be considered a standard dialect, rather than "outdated".

There are countless other scenarios we could explore here: the question is rather broad.