Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question: Issues that aren’t really major issues but are still issues #171

Closed
xexyl opened this issue Apr 23, 2022 · 749 comments
Closed

Question: Issues that aren’t really major issues but are still issues #171

xexyl opened this issue Apr 23, 2022 · 749 comments
Assignees
Labels
question Further information is requested

Comments

@xexyl
Copy link
Contributor

xexyl commented Apr 23, 2022

This is for relevant to what is being worked on (like the JSON parser issue #156) but also some OT things. The purpose of this is to hopefully make it a little bit easier to find more relevant information in the other issues as already they’re very long and there are some comments that possibly could have been here instead.

There might be a better way to go about this. If so I am open to that but I think this might be a good idea. Of course we have to make use of it and discern the time to use it. Perhaps more than one of these could be made for the different tools: don’t know.

An example where it might be useful: sometimes I put an update on the day in the other issue but that doesn’t have to be there. Lately I have tried to do this on pull requests but there are still times where I don’t.

Hopefully this helps make the other issues (currently only #156) more clear and concise.

@lcn2
Copy link
Contributor

lcn2 commented Apr 23, 2022

Are there and current "Issues that aren’t really issues but are still issues"?

@lcn2
Copy link
Contributor

lcn2 commented Apr 23, 2022

Right now we are working on a issue related to how bison and flex are used.

We hope to have a potential update soon.

@xexyl
Copy link
Contributor Author

xexyl commented Apr 23, 2022

Are there and current "Issues that aren’t really issues but are still issues"?

Right now? Probably not. It could have been worded differently but it's a fun way to put it. But as for an actual problem (and loosely defined here)? Not currently: it's for when there is one. Feel free to edit the name or if you have another idea to go about this I'm open to that.

@xexyl
Copy link
Contributor Author

xexyl commented Apr 23, 2022

Right now we are working on a issue related to how bison and flex are used.

We hope to have a potential update soon.

Sounds good.

@xexyl
Copy link
Contributor Author

xexyl commented Apr 23, 2022

As an example use of this thread: I'll be off for the day but I might be able to reply to some things in a bit if you write any comments. This is not an actual issue but I used to say this in the other thread which clutters it up. Perhaps I don't really need to say these things at all but I like to give updates in case something comes up (which has happened before).

Have a great rest of your day!

@lcn2
Copy link
Contributor

lcn2 commented Apr 23, 2022

See commit d057026 for a major update on how bison and flex are used.

UPDATE: Add commit 3d556f9

@lcn2
Copy link
Contributor

lcn2 commented Apr 23, 2022

We plan to replace the long Makefile rules with executing shell scripts for:

  • reset_min_timestamp
  • test

We do NOT plan to do this to every Makefile rule, just some of the longer rules.

With scripts such as run_bison.sh and run_flex.sh, we can do much more checking, and offer a better experience than long lines of backslashed compound Makefile rules. Such long compound Makefile rules are much harder to modify and understand.

@lcn2
Copy link
Contributor

lcn2 commented Apr 24, 2022

With commit aea984d:

Add reset_tstamp.sh tool, updated MIN_TIMESTAMP

Simplified the reset_min_timestamp Makefile rule.

Changed MIN_TIMESTAMP from 1643987926 to 1650779341

We added a new tool: reset_tstamp.sh

@lcn2
Copy link
Contributor

lcn2 commented Apr 24, 2022

With commit eeafc3e

Added test.sh and improved make test

Added test.sh to perform the complete suite of tests
for the mkiocccentry repo.

Updated make test to run ./test.sh.

Unlike the previous test process, if all the test code
is executable, then all the tests are performed
and only afterwards might test.sh exit non-zero.

@lcn2
Copy link
Contributor

lcn2 commented Apr 24, 2022

We could do something for the make limit_ioccc.shrule, but we thing this is enough for now.

We need to return to the effort of completing the creation for compound JSON parse nodes.

NOTE: We have to focus on giving in the new few days on:

A Grand Coding Challenge - find a new Largest Known Prime

The Great indoor sport of hunting for 
world record-sized prime numbers

So plan to address completing the creation for compound JSON parse nodes in a few days,
and we may also be slow in responding to GitHug questions and pull requests.

@xexyl
Copy link
Contributor Author

xexyl commented Apr 24, 2022

Looks like a lot of great stuff has been committed! I will check it out in a bit when I am at the laptop. I hope you’re having a nice sleep my friend!

Will possibly reply more here when I am more awake.

@xexyl
Copy link
Contributor Author

xexyl commented Apr 24, 2022

See commit d057026 for a major update on how bison and flex are used.

UPDATE: Add commit 3d556f9

Do we want them to be able to override the sorry file though? Probably unlikely that anyone but us will work on the parser but if someone did the wrong file could theoretically be prepended. Of course you would probably see that and unlikely that they would do it but the point is is there a need to allow overriding it?

@xexyl
Copy link
Contributor Author

xexyl commented Apr 24, 2022

See commit d057026 for a major update on how bison and flex are used.

UPDATE: Add commit 3d556f9

I just fixed an issue under linux with mktemp. Committed it but not yet doing a pull request. Looking at other things first. I suspect today I won't get much done today though.

@xexyl
Copy link
Contributor Author

xexyl commented Apr 24, 2022

We plan to replace the long Makefile rules with executing shell scripts for:

  • reset_min_timestamp
  • test

We do NOT plan to do this to every Makefile rule, just some of the longer rules.

With scripts such as run_bison.sh and run_flex.sh, we can do much more checking, and offer a better experience than long lines of backslashed compound Makefile rules. Such long compound Makefile rules are much harder to modify and understand.

It's funny you'd bring that up because yesterday I was thinking also how with a script it would be easier to do more tests including maybe shell script tests. I don't know if there's a Makefile lint and that's what I was thinking of but with a shell script we can use shellcheck so that's good. And yes the backslashed lines required in Makefiles can complicate matters of course.

@xexyl
Copy link
Contributor Author

xexyl commented Apr 24, 2022

With commit aea984d:

Add reset_tstamp.sh tool, updated MIN_TIMESTAMP

Simplified the reset_min_timestamp Makefile rule.

Changed MIN_TIMESTAMP from 1643987926 to 1650779341

We added a new tool: reset_tstamp.sh

It's not that important to me but: why did you change it? I mean since the contest is not running does it matter? Perhaps it was just to test the new script?

@xexyl
Copy link
Contributor Author

xexyl commented Apr 24, 2022

Unlike the previous test process, if all the test code
is executable, then all the tests are performed
and only afterwards might test.sh exit non-zero.

I like that idea of letting it go to the very end and then report any issues at the end!

@xexyl
Copy link
Contributor Author

xexyl commented Apr 24, 2022

We could do something for the make limit_ioccc.shrule, but we thing this is enough for now.

Curious what the point would be here?

We need to return to the effort of completing the creation for compound JSON parse nodes.

Yes please.

NOTE: We have to focus on giving in the new few days on:

A Grand Coding Challenge - find a new Largest Known Prime

The Great indoor sport of hunting for 
world record-sized prime numbers

That sounds fun! Will there be a place where you announce anything about it - including hopefully a new prime?

So plan to address completing the creation for compound JSON parse nodes in a few days, and we may also be slow in responding to GitHug questions and pull requests.

Sounds good to me.

@lcn2
Copy link
Contributor

lcn2 commented Apr 24, 2022

With commit aea984d:

Add reset_tstamp.sh tool, updated MIN_TIMESTAMP

Simplified the reset_min_timestamp Makefile rule.

Changed MIN_TIMESTAMP from 1643987926 to 1650779341

We added a new tool: reset_tstamp.sh

It's not that important to me but: why did you change it? I mean since the contest is not running does it matter? Perhaps it was just to test the new script?

It was a useful test, yes.

@xexyl
Copy link
Contributor Author

xexyl commented Apr 24, 2022

It's not that important to me but: why did you change it? I mean since the contest is not running does it matter? Perhaps it was just to test the new script?

It was a useful test, yes.

Makes sense.

@lcn2
Copy link
Contributor

lcn2 commented Apr 24, 2022

That sounds fun! Will there be a place where you announce anything about it - including hopefully a new prime?

No new prime, just improvements to methods of finding them.

@xexyl
Copy link
Contributor Author

xexyl commented Apr 24, 2022

That sounds fun! Will there be a place where you announce anything about it - including hopefully a new prime?

No new prime, just improvements to methods of finding them.

Okay but will there be any place that is documented?

@lcn2
Copy link
Contributor

lcn2 commented Apr 24, 2022

Curious what the point would be here?

It would only be to convert a Makefile code blob into a script. This might or might not be with the effort.

@xexyl
Copy link
Contributor Author

xexyl commented Apr 24, 2022

Curious what the point would be here?

It would only be to convert a Makefile code blob into a script. This might or might not be with the effort.

Ah. I see. That makes sense yes.

@lcn2
Copy link
Contributor

lcn2 commented Apr 24, 2022

See commit d057026 for a major update on how bison and flex are used.

UPDATE: Add commit 3d556f9

Do we want them to be able to override the sorry file though? Probably unlikely that anyone but us will work on the parser but if someone did the wrong file could theoretically be prepended. Of course you would probably see that and unlikely that they would do it but the point is is there a need to allow overriding it?

It made the tool more general and easier to adopt by others in other projects.

@xexyl
Copy link
Contributor Author

xexyl commented Apr 24, 2022

See commit d057026 for a major update on how bison and flex are used.

UPDATE: Add commit 3d556f9

Do we want them to be able to override the sorry file though? Probably unlikely that anyone but us will work on the parser but if someone did the wrong file could theoretically be prepended. Of course you would probably see that and unlikely that they would do it but the point is is there a need to allow overriding it?

It made the tool more general and easier to adopt by others in other projects.

Ah. I see. Well in that case I'm sorry for asking (well I'm not - but the possibility to make a pun should never be ignored). Thanks for clarifying.

@xexyl
Copy link
Contributor Author

xexyl commented Apr 24, 2022

I'm about to leave for the day but wanted to ask if it was intentional that make build could pass even if flex or bison don't have the right version?

I also want to express frustration (this is just for myself) of a copy/paste error when fixing the commit resulting in barmy commit log in part:

    This also happened for flex. Thus the following diff was added to both
    run_flex.sh and run_bison.sh:
    
        -    TMP_FILE=$(mktemp -t "$FILE")
        +    TMP_FILE=$(mktemp -t "$FILE.XXXXXXXX")
    
    This works under linux as well as macOS.
    
    Some words about required versions of flex and bison. After a recent
    
    This also happened for flex. Thus the following diff was added to both
    run_flex.sh and run_bison.sh:
    
        -    TMP_FILE=$(mktemp -t "$FILE")
        +    TMP_FILE=$(mktemp -t "$FILE.XXXXXXXX")
    
    This works under linux as well as macOS.

I mean most people probably won't even notice it but it annoys me. That's what I get for doing it earlier on in the day I guess.

Anyway good day! More from me tomorrow I'm sure. Enjoy the rest of your weekend!

@lcn2
Copy link
Contributor

lcn2 commented Apr 25, 2022

I'm about to leave for the day but wanted to ask if it was intentional that make build could pass even if flex or bison don't have the right version?

It was not intentional: that is a bug 🐛. For make prep, yes, but not make build.

@xexyl
Copy link
Contributor Author

xexyl commented Apr 25, 2022

I'm about to leave for the day but wanted to ask if it was intentional that make build could pass even if flex or bison don't have the right version?

It was not intentional: that is a bug 🐛. For make prep, yes, but not make build.

I presume you will fix this in an upcoming commit? And I will be going to sleep now.

Good night! Enjoy the rest your day.

Edit: Oh I do have a question about the flex and bison scripts possibly but I will worry about that later. Has to do with the usage message of each script.

@xexyl
Copy link
Contributor Author

xexyl commented Apr 25, 2022

Unlike the previous test process, if all the test code
is executable, then all the tests are performed
and only afterwards might test.sh exit non-zero.

I like that idea of letting it go to the very end and then report any issues at the end!

Oh something I noticed with this though. It can happen that the error code changes if more than one error is encountered. Should there be a list of errors given at the end and then an exit code that says that there was at least one error?

I don’t recall which script(s) that I saw this In but I know at least one has this.

Really going to sleep now. Good night!

@xexyl
Copy link
Contributor Author

xexyl commented Apr 25, 2022

Light fun humoured question for the parser: I just learnt of the %define api.prefix {PREFIX} directive. This is how it is described in the manual:

 -- Directive: %define api.prefix {PREFIX}

        * Language(s): C, C++, Java

        * Purpose: Rename exported symbols.  *Note Multiple Parsers::.

        * Accepted Values: String

        * Default Value: 'YY' for Java, 'yy' otherwise.

        * History: introduced in Bison 2.6, with its argument in double
          quotes.  Uses braces since Bison 3.0 (double quotes are still
          supported for backward compatibility).

There's also for both bison and flex a command line option (different case letters of course) so we could have the prefix yy instead be say ugly_.

This would be another fun way to say how horrible the flex and bison generated code really is. Of we could choose another prefix. Just a thought though: I don't mind either way.

I'm not going to work on the repo any more today but I will reply to comments if you say anything.

EDIT: Mind you I don't know if I like the look of ugly_ and I'm not sure which I prefer - yy or the other. But it crossed my mind and it seemed fun so I decided to bring it up.

@xexyl
Copy link
Contributor Author

xexyl commented Feb 2, 2023

Question for you Landon.
You said you'd like to see my .vimrc file. In what form would you like it? I mean to say would you like me to attach it here? Would you care if it was not cleaned up? It has a changelog in it but I could get rid of that - or not.
Some comments are there but not everything is commented etc.
What would you like?

UPDATE 0

Actually I just looked at it and it's not in as bad of shape as I thought. I could possibly go through it quickly. There are at least a few gems in there.

Attach it when you feel comfortable.

Well I just did an overhaul of it and added comments as well.

See the attached zip file with the .vimrc file in it.

You might find that it includes a hack to get rid of spaces at ends of lines as I noted in another issue here ages ago. On that note I'll remind you to not remove any spaces at ends of lines in the special files. At the end of the .vimrc you see a way to have local (system, directory) overrides.

vimrc.zip

Share and enjoy as they say!

UPDATE 0

Well actually maybe you don't want to share but you know what I mean.

@lcn2
Copy link
Contributor

lcn2 commented Feb 2, 2023

Question for you Landon.
You said you'd like to see my .vimrc file. In what form would you like it? I mean to say would you like me to attach it here? Would you care if it was not cleaned up? It has a changelog in it but I could get rid of that - or not.
Some comments are there but not everything is commented etc.
What would you like?

UPDATE 0

Actually I just looked at it and it's not in as bad of shape as I thought. I could possibly go through it quickly. There are at least a few gems in there.

Attach it when you feel comfortable.

Well I just did an overhaul of it and added comments as well.

See the attached zip file with the .vimrc file in it.

You might find that it includes a hack to get rid of spaces at ends of lines as I noted in another issue here ages ago. On that note I'll remind you to not remove any spaces at ends of lines in the special files. At the end of the .vimrc you see a way to have local (system, directory) overrides.

vimrc.zip

Share and enjoy as they say!

UPDATE 0

Well actually maybe you don't want to share but you know what I mean.

Thanks

@xexyl
Copy link
Contributor Author

xexyl commented Feb 3, 2023

Question for you Landon.
You said you'd like to see my .vimrc file. In what form would you like it? I mean to say would you like me to attach it here? Would you care if it was not cleaned up? It has a changelog in it but I could get rid of that - or not.
Some comments are there but not everything is commented etc.
What would you like?

UPDATE 0

Actually I just looked at it and it's not in as bad of shape as I thought. I could possibly go through it quickly. There are at least a few gems in there.

Attach it when you feel comfortable.

Well I just did an overhaul of it and added comments as well.
See the attached zip file with the .vimrc file in it.
You might find that it includes a hack to get rid of spaces at ends of lines as I noted in another issue here ages ago. On that note I'll remind you to not remove any spaces at ends of lines in the special files. At the end of the .vimrc you see a way to have local (system, directory) overrides.
vimrc.zip
Share and enjoy as they say!

UPDATE 0

Well actually maybe you don't want to share but you know what I mean.

Thanks

You are very welcome my friend.

I hope it’s helpful and interesting!

@xexyl
Copy link
Contributor Author

xexyl commented Feb 3, 2023

You might also find:

:help object-motion
:help word
:help word-motions

interesting and useful.

UPDATES

Some commands I forgot to mention that I use a lot:

In visual mode if you select text and then enter U it capitalises it all. If you use u it makes it all lower case.

You don't even need the mapping I have for finding the top of a function. You can just do

[[

If however you want to find the end of a function:

]]

But what if you want it to go to the previous { or next }? You can use some mappings:

   :map [[ ?{<CR>w99[{
   :map ][ /}<CR>b99]}
   :map ]] j0[[%/{<CR>
   :map [] k$][%?}<CR>

..though testing it out and it doesn't seem to be what I expected (based on the description). I had forgotten about [[ and ]]. Much more useful than the mapping I have.

Of course I am sure you know that % takes you to matching open/close brace/parenthesis/bracket.

Another one I use a lot: * does a word boundary match. As in if you're under the word 'test' it'll search for
\<test\>.

If you want to search for the next match forwards you can do n and backwards N. Of course this depends on if you're going forwards or backwards.

See also:

:help search-commands

I just noticed that it has fuzzy matching too.

Another fun one that I forgot. Let's say you open a file that you need root privilege to write to but you're not root.

You can do:

:w !sudo tee %

@xexyl
Copy link
Contributor Author

xexyl commented Feb 4, 2023

As far as comment #87 (comment) in issue #87 and my party.json modifications. I'm sharing it here as I think you might get a laugh out of it but here to keep that thread slightly clearer.

                {
                        "name" : "Gollum",
                        "alias" : "Precious",
                        "alias" : "Sméagol",
                        "alias" : "Dígol",
                        "RSVP_requested" : false,
                        "attendance" : "denied",
                        "guest_number":  -1,
                        "Gross" : false,
                        "like_level" : -1.0,
                        "RSVP_state" : null
                },
                {
                        "name": "Proudfoot",
                        "alias": "Proudfeet",
                        "RSVP_requested" : true,
                        "attendance" : "pending",
                        "guest_number":  4,
                        "Gross" : false,
                        "like_level" : 0.5,
                        "RSVP_state" : "pending"
                },
                {
                        "name": "Sackville-Baggins",
                        "alias": "Spoons thieves",
                        "RSVP_requested" : false,
                        "attendance" : "tolerated",
                        "guest_number":  144,
                        "Gross" : true,
                        "like_level" : -0.1,
                        "RSVP_state" : "begrudgingly"
                }

though of course more comes before that. Point is the Gross part as well as begrudgingly accepting the invitation.

@xexyl
Copy link
Contributor Author

xexyl commented Feb 4, 2023

As far as comment #87 (comment) in issue #87 and my party.json modifications. I'm sharing it here as I think you might get a laugh out of it but here to keep that thread slightly clearer.

                {
                        "name" : "Gollum",
                        "alias" : "Precious",
                        "alias" : "Sméagol",
                        "alias" : "Dígol",
                        "RSVP_requested" : false,
                        "attendance" : "denied",
                        "guest_number":  -1,
                        "Gross" : false,
                        "like_level" : -1.0,
                        "RSVP_state" : null
                },
                {
                        "name": "Proudfoot",
                        "alias": "Proudfeet",
                        "RSVP_requested" : true,
                        "attendance" : "pending",
                        "guest_number":  4,
                        "Gross" : false,
                        "like_level" : 0.5,
                        "RSVP_state" : "pending"
                },
                {
                        "name": "Sackville-Baggins",
                        "alias": "Spoons thieves",
                        "RSVP_requested" : false,
                        "attendance" : "tolerated",
                        "guest_number":  144,
                        "Gross" : true,
                        "like_level" : -0.1,
                        "RSVP_state" : "begrudgingly"
                }

though of course more comes before that. Point is the Gross part as well as begrudgingly accepting the invitation.

That being said I think to simplify it later on I can remove some of it like the like_level and a few others. Might be simpler to follow and easier to set up an example as well.

@xexyl
Copy link
Contributor Author

xexyl commented Feb 5, 2023

A little bit ago I finished the medical book I bought last year 'for light reading' (as I put it). Just got back to it a couple days ago - too much going on with medical issues as well as working here.

I might tomorrow start rereading The Lord of the Rings but I'm not sure of that. However I did want to say that depending on what is needed I will be able to do more here as well.

I hope you have a great night. Every so often I have pulled to see if anything has been changed. I see you made some changes to some files and updated the Makefiles as well. I also see that the other issue has more tasks completed.

I'll be going to sleep in about half an hour to an hour so I'll bid you a good night.

BTW: any news on the website update that you mentioned to me, the fun one that you thought I would be able to help with as well ? I guess that's kind of less priority until the repo is more ready but I guess we're almost there too.

Anyway good night!

@lcn2
Copy link
Contributor

lcn2 commented Feb 5, 2023

BTW: any news on the website update that you mentioned to me, the fun one that you thought I would be able to help with as well ? I guess that's kind of less priority until the repo is more ready but I guess we're almost there too.

There will be plenty to do on the web site. We have not finished our work needed to be ready for edits (we are about 80% done) due to working on this repo. While the Version 1.0.0 formal release is soaking we plan to work to get the web site into a suitable order for you to work on.

@xexyl
Copy link
Contributor Author

xexyl commented Feb 5, 2023

BTW: any news on the website update that you mentioned to me, the fun one that you thought I would be able to help with as well ? I guess that's kind of less priority until the repo is more ready but I guess we're almost there too.

There will be plenty to do on the web site. We have not finished our work needed to be ready for edits (we are about 80% done) due to working on this repo. While the Version 1.0.0 formal release is soaking we plan to work to get the web site into a suitable order for you to work on.

Sounds great! But what do you mean by soaking ?

@xexyl
Copy link
Contributor Author

xexyl commented Feb 5, 2023

I'm about to leave but I wanted to share a couple images with you. Will make each in a separate comment. I hope that the pull request is of help as well as the comments in the other thread. At least on the systems I have access to all looks good. Anyway the images and then I'll be shutting down for the day - will be able to look at things more tomorrow.

@xexyl
Copy link
Contributor Author

xexyl commented Feb 5, 2023

vim easter egg. nixCraft shared it:

vim-smile-command-easter-egg-macos

@xexyl
Copy link
Contributor Author

xexyl commented Feb 5, 2023

vim easter egg. nixCraft shared it:

vim-smile-command-easter-egg-macos

... there's another one I'm aware of but haven't seen in ages because I haven't used the system at the system itself in ages. I can't even remember what it says but it's when you exit vim.

@xexyl
Copy link
Contributor Author

xexyl commented Feb 5, 2023

This is much more fun. nixCraft also shared it:

dfe08bdc84d20416

@xexyl
Copy link
Contributor Author

xexyl commented Feb 5, 2023

Atomic clocks

Just wondering if you have any recommendations on this. We have one but it frequently changes the hour. It’s a wall clock with big text which we would also need. Reasonable price would be helpful too.

There’s one that looks nice but we’re not sure about the brand. LaCrosse (as in we don’t know if it’s a good brand). It has big numbers and temperature for inside and outside as well as (of course) the date and day of the week. It also has more than one timezone which is probably less important.

Any recommendations would be greatly appreciated when you get a chance. I presume that you would be just the one to ask!

Thank you. Going back to other things now.

@lcn2
Copy link
Contributor

lcn2 commented Feb 6, 2023

But what do you mean by soaking ?

Letting the code sit as it is before serving to the public.

@xexyl
Copy link
Contributor Author

xexyl commented Feb 6, 2023

But what do you mean by soaking ?

Letting the code sit as it is before serving to the public.

Ah okay.

That’s fine. Just let me know when you have an idea of what might be next.

I will be busy this coming week some of the days. Tomorrow I have a zoom meeting. Tuesday I have some dreaded cleaning to do for my birthday the next week (and my cousin visiting on the weekend).

Other than that I should be available. Even on days that I will have the other things to do I can still do some things here most likely.

I hope you have a great night!

@xexyl
Copy link
Contributor Author

xexyl commented Feb 6, 2023

One more before I go:

DB2FE45C-13C9-4BB7-948B-74D4D5EAD362

@lcn2
Copy link
Contributor

lcn2 commented Feb 6, 2023

Atomic clocks

Just wondering if you have any recommendations on this. We have one but it frequently changes the hour. It’s a wall clock with big text which we would also need. Reasonable price would be helpful too.

There’s one that looks nice but we’re not sure about the brand. LaCrosse (as in we don’t know if it’s a good brand). It has big numbers and temperature for inside and outside as well as (of course) the date and day of the week. It also has more than one timezone which is probably less important.

Any recommendations would be greatly appreciated when you get a chance. I presume that you would be just the one to ask!

Thank you. Going back to other things now.

There is a big difference between a clock that receives a time signal from a Stratum 1 time source such a so-called "atomic clock" and an actual Stratum 1 time source such a a real atomic click that can be considered a primary source.

Chances are, if you didn't pay a 4+ digit price for such a unit, it isn't atomic: just something market as so-called "atomic". We are aware of clocks that are marketed as so-called "atomic clocks" that are nothing more than a clock that attempts to track a signal (such as radio or internet) from a true Stratum 1 source. We know of no atomic clock that calls itself an atomic clock.

Stratum 1 source are highly stable precision frequency counters with an ability to attach a "name" to any given 1-second pulse from an internal precision frequency oscillator. Common precision frequency oscillators are often based on Rubidium, Cesium, dual Rubidium / Cesium, Xenon, and other elements put into a special configuration that in turn yields a highly stable precision frequency pulse train that is in turn counted down to yield second and sub-second internals. Names of time are attached to 1-second pulses. Those names are manually derived from a combination of manual settings and GPR or other navigational signals. Such units compare themselves with other known reliable Stratum 1 sources. To become a reliable Stratum 1 source requires a unit with a significant track record of highly stable, highly reliable, highly available clock data that can be compared to other known reliable Stratum 1 sources.

t was also part of an experiment to help measure the distance between an Earth based telescope mirror and mirrors left on the moon by various Apollo missions. A 60-kW laser bouncing off a 3m (120 inch) mirror used, in part, highly stable precision frequency pulses to measure the distance between its mirror and a corner reflector mirror on the moon in order to measure the distance between to 1 mm precision: accurate enough to detect both the rate of the moon drifting away from earth as well as the continental drift of North America.

Our clock was one such Stratum 1 source.

The cluster of those Stratum 1 sources allowed Apple to use them as a Stratum 1 source for Apple's own clock service that maintain iOS phones. iPadOS iPads, and watchOS watches. We had one of the Stratum 1 sources that the Apple used. However, because the clock needed to be moved in late 2020, it is not yet back as a source. Re-installed in mid-2021 in a Pacific NW location very near the border of US / Canada, the clock now is now under evaluation. If the usual practices are held to, it will need 3+ years (1e8 seconds) of zero downtime and a +99.999% calibration pass by at least 3 other Stratum 1 sources in that same period before it can again become a trusted Stratum 1 source. To help achieve the requirements during this 3+ year probation period (1e8 seconds), the unit has a dual UPS power supply with phase locked failover and about 400 kg of dual band battery packs as a power supply. Names of 1-second pulses are provided by a confused console as well as a grid of 12 GPS receivers whose signal reaches the unit by way of a shielded cable. The system also as a lightning antenna protection system that has already survived a lightning strike while maintaining full frequency service (with only a 108 ns clock shift as the lighting system had it "electrical bell" rung). Once the clock exits 3+ year probation period (1e8 seconds). it will be used to track the continental drift and earthquake shift and tidal shifts of the Pacific NW region. It will also be used to help cell phone map services convert latitude, longitude, and altitude numbers into a split on a digital map by providing a location baring spot accuracy to within 1 cm^3. The overall clock system was setup for an expected post-probation lifetime of 25 years.

Microsemi is one well respected vendor of clock units that are capable of achieving Stratum 1 service. For example the SyncServer S600 Time Server with a Rubidium Atomic Clock unit with a dual UPS power supply from CyberPower and a in-phase failover to balance the two UPS units from WTI can be used. However it is sold via a request a quote such that if you have to ask how much it costs, you might not wish to afford it. :-)

@lcn2
Copy link
Contributor

lcn2 commented Feb 6, 2023

We have achieved Formal release 1.0.0 status!

Thanks for all of your feedback, @xexyl. It is now time to close this issue #87 with our thanks and best compliments!

@lcn2 lcn2 closed this as completed Feb 6, 2023
@xexyl
Copy link
Contributor Author

xexyl commented Feb 6, 2023

Atomic clocks

Just wondering if you have any recommendations on this. We have one but it frequently changes the hour. It’s a wall clock with big text which we would also need. Reasonable price would be helpful too.
There’s one that looks nice but we’re not sure about the brand. LaCrosse (as in we don’t know if it’s a good brand). It has big numbers and temperature for inside and outside as well as (of course) the date and day of the week. It also has more than one timezone which is probably less important.
Any recommendations would be greatly appreciated when you get a chance. I presume that you would be just the one to ask!
Thank you. Going back to other things now.

There is a big difference between a clock that receives a time signal from a Stratum 1 time source such a so-called "atomic clock" and an actual Stratum 1 time source such a a real atomic click that can be considered a primary source.

Chances are, if you didn't pay a 4+ digit price for such a unit, it isn't atomic: just something market as so-called "atomic". We are aware of clocks that are marketed as so-called "atomic clocks" that are nothing more than a clock that attempts to track a signal (such as radio or internet) from a true Stratum 1 source. We know of no atomic clock that calls itself an atomic clock.

Stratum 1 source are highly stable precision frequency counters with an ability to attach a "name" to any given 1-second pulse from an internal precision frequency oscillator. Common precision frequency oscillators are often based on Rubidium, Cesium, dual Rubidium / Cesium, Xenon, and other elements put into a special configuration that in turn yields a highly stable precision frequency pulse train that is in turn counted down to yield second and sub-second internals. Names of time are attached to 1-second pulses. Those names are manually derived from a combination of manual settings and GPR or other navigational signals. Such units compare themselves with other known reliable Stratum 1 sources. To become a reliable Stratum 1 source requires a unit with a significant track record of highly stable, highly reliable, highly available clock data that can be compared to other known reliable Stratum 1 sources.

t was also part of an experiment to help measure the distance between an Earth based telescope mirror and mirrors left on the moon by various Apollo missions. A 60-kW laser bouncing off a 3m (120 inch) mirror used, in part, highly stable precision frequency pulses to measure the distance between its mirror and a corner reflector mirror on the moon in order to measure the distance between to 1 mm precision: accurate enough to detect both the rate of the moon drifting away from earth as well as the continental drift of North America.

Our clock was one such Stratum 1 source.

The cluster of those Stratum 1 sources allowed Apple to use them as a Stratum 1 source for Apple's own clock service that maintain iOS phones. iPadOS iPads, and watchOS watches. We had one of the Stratum 1 sources that the Apple used. However, because the clock needed to be moved in late 2020, it is not yet back as a source. Re-installed in mid-2021 in a Pacific NW location very near the border of US / Canada, the clock now is now under evaluation. If the usual practices are held to, it will need 3+ years (1e8 seconds) of zero downtime and a +99.999% calibration pass by at least 3 other Stratum 1 sources in that same period before it can again become a trusted Stratum 1 source. To help achieve the requirements during this 3+ year probation period (1e8 seconds), the unit has a dual UPS power supply with phase locked failover and about 400 kg of dual band battery packs as a power supply. Names of 1-second pulses are provided by a confused console as well as a grid of 12 GPS receivers whose signal reaches the unit by way of a shielded cable. The system also as a lightning antenna protection system that has already survived a lightning strike while maintaining full frequency service (with only a 108 ns clock shift as the lighting system had it "electrical bell" rung). Once the clock exits 3+ year probation period (1e8 seconds). it will be used to track the continental drift and earthquake shift and tidal shifts of the Pacific NW region. It will also be used to help cell phone map services convert latitude, longitude, and altitude numbers into a split on a digital map by providing a location baring spot accuracy to within 1 cm^3. The overall clock system was setup for an expected post-probation lifetime of 25 years.

Microsemi is one well respected vendor of clock units that are capable of achieving Stratum 1 service. For example the SyncServer S600 Time Server with a Rubidium Atomic Clock unit with a dual UPS power supply from CyberPower and a in-phase failover to balance the two UPS units from WTI can be used. However it is sold via a request a quote such that if you have to ask how much it costs, you might not wish to afford it. :-)

Once again you astonish me (in a way) with the amount of knowledge over so many topics you have! I never expected such a thorough answer but I thank you for it! I'm saving it in iCloud notes so I can read it again later on. But you're right - it would be out of the budge for sure. With that in mind: do you have a recommended clock that does something like it that actually works?

@xexyl
Copy link
Contributor Author

xexyl commented Feb 6, 2023

We have achieved Formal release 1.0.0 status!

That's excellent!

Thanks for all of your feedback, @xexyl. It is now time to close this issue #87 with our thanks and best compliments!

Well it makes me sad to think that we might not be able to have this OT thread but I guess at times we could interact here as well - even if it's no longer an 'issue' (most the time it wasn't anyway).

And the very best to you and your family as well! It was a HUGE HUGE honour and privilege to do so much with you and I know that I have much more to do with you which makes me happy as well. It give some great joy and much to be proud of as well so THANK YOU for the opportunity and of course friendship as well!

THANK YOU also for the wonderful stories and histories of C, Unix and other things plus our shared love for Tolkien! I'm also very happy you got so many laughs out of MY stories as well as memes and the memes of others I shared!

@xexyl
Copy link
Contributor Author

xexyl commented Feb 6, 2023

You earlier on said I could ask you this later and I believe that now is the time to do so:

about-utc-instead-of-gmt-french-and-british-more-info

I am curious about all of it of course but that definitely includes the CUT versus UTC one!

@xexyl
Copy link
Contributor Author

xexyl commented Feb 16, 2023

[...]

TO BE CONTINUED ...

This is going to go on for a few parts. We will, until these articles are finished, defer answering questions.

Thank you! That's FASCINATING and I look forward to the next part VERY MUCH! But please no rush: I know you have other things to do and that includes the other repo. Thank you! Once you've finished I'm certainly going to save it in a note so I have it always.

Hope you're having a nice sleep! I'm going to take a short break now and see if I can rest .. if I can (doubt it) great and if not I might shower (or else do that later on). I made some fixes in the other repo this morning and maybe I can do more later on. If not I'm glad to at least have fixed a few things like the bug in sgit and fixing the dead links in years.html.

Until later or tomorrow!

BTW: you ever think how people say things like the above 'later on or tomorrow'? Why not just say 'later on' ? Tomorrow IS later on! I think of it often but I still say things like it. Of course what it really means is 'until later today or tomorrow' but it's still amusing to think about. Anyway thank you for the wonderful story above! I'll reply to specific points when you've finished the story. Until then...

@lcn2
Copy link
Contributor

lcn2 commented Feb 20, 2023

I am curious about all of it of course but that definitely includes the CUT versus UTC one!

PART 0 of n

The French🇫🇷 have been disappointed that the Paris meridian was not chosen as the prime meridian / 0º longitude line AND that Greenwich Prime Meridian meridian was adopted by the International Meridian Conference on 1884 October 1.

Well, disappointed is the technical diplomatic way to put it nicely. "Extrêmement énervé et putain de bouleversé" for over 139+ years with no end in sight is more accurate. For over a century, it has been official French 🇫🇷 policy to continue to display annoyance at this event.

Now there is good technical reasons for the Paris meridian to be preferred. For one thing, the meridian has never been moved!

Yes, the Royal Observatory has moved the transit over the years as better transit technology was developed: that is until the Great Airy Transit was fixed as the never to be moved transit on 1675 June 22 when the observatory was official commissioned by King Charles II. Indeed, it was the Great London Fire of 1666 was the cause for the transit being finally being fixed.

Before 1675 June 22 there were serial transits on the grounds, when a better transit was needed, a new building was built in a suitable spot on the hill overlooking the harbor and wishing easy site of ships. The newer building was built on a different location and never blocking the existing transit's view. As such the meridian shifted multiple times ... until the London fire.

Back in those days, the precision of a few feet was hardly a concern for ship navigation, where a Nautical Mile (one arc minute of a great circle) was considered "good enough" by most people.

The transit, however, also served a land based use: one that of a survey marker for recorded property. Indeed, the front of the Transit building served as "master bearing marker 0" for land based surveys.

Returning to the London area, and in particular the special region known as the City of London (that is not part of Greater London, nor under the direct control of the Monarch but rather under the control of City of London Corporation). For the 1600's this area was of such enormous value and power that property was measured down to the partial square inch: instead of the usual stone markers in the county side. Properly lines were surveyed and recorded with extreme precision. And while such lines were within line of site of the Transit master bearing marker 0, nearby local landmarks such as well known building corners were used and measured from.

Unfortunately what was recorded in the records depended on which Transit building served as "master bearing marker 0". But even then that didn't matter because the well known building corners would do.

That is .. until the Great London Fire destroyed many of those buildings. So great was the firestorm that many of the useful local markers were gone / obliterated and lost. Nevertheless less records of property boundaries were recorded, and those records were preserved by well meaning civil servants such as Samual Pepys.

Unfortunately when those records were consulted to reestablish the old property lines, they discovered the records were a patchwork of references to the various transit circles over time. Even the date of recording could not determine which one was used, directly of indirectly. Now suddenly inches mattered. Real economic power and wealth was impacted.

We should point out while the economic impact of restoration of property in the City of London was significant, the impact of restoration of property in the City of London impacted a far greater number of people and indirectly a far greater economic value.

The King has to be brought in to try and rule on properly disputes. Properties suddenly started losing land. Even those buildings that were left partially standing were found to be in the wrong tract. Previous buildings could no longer be rebuilt because neighboring lands were squeezing in. As owners rushed to rebuild, many found others building on what they claimed to be their land.

The general resolution process, tempered by influence and money, was to attempt to honor the original total area of the property tract. In some cases a square or rectangle had to be morphed into a Quadrilateral with sometimes the addition odd property appendages.

In more extreme cases the volume of a building was taken into account. Some buildings were allowed to lean over into the street or adjoining property. Line of sight views were impacted in some cases, impacting property values. Former gardens sometimes became unusable shadow pits.

In addition to solving land area / building volume issues, Rights of way were impacted. In a number of cases owners found that a neighbor's building restoration completely blocked access to their property. More than one front door found itself being unable due to a new wall prevented it from being opened.

There was a real threat to even the monarch because he had to make rulings that nobody powerful was happy with .. and the prospect of another King being killed was a possibility. There are a few technical death penalties in England, unenforced, but still on the books. One of those rare unenforceable death penalties that has never been removed from the law books, out of tradition, can be applied to the person who moves the meridian! 🤭

And so the French 🇫🇷 will point out that their Paris Meridian never moved, while the Greenwich meridian is a historic mess. Come could say that the English 🏴󠁧󠁢󠁥󠁮󠁧󠁿 royally screwed up the Greenwich Prime Meridian, to put it it mildly. 🫣

Nevertheless, the historic (pre 1987) Prime Meridian was a line that passed from the North Pole, thru the crosshair of the Airy Transit Circle and on to the South Pole. In this case, one could say that the Transit Circle Room at Greenwich never moved (Longitude wise). Everywhere else on Earth moved (Longitude wise) relative to the Transit Circle .. at least before 1987. :-)

It is ironic that GPS navigation was never locked onto the Greenwich Prime Meridian. If you take a GPS and stand on the Greenwich Prime Meridian line, it will NOT* show 0º longitude!

It is also ironic that the International Earth Rotation and Reference Systems Service (IRES) was established in 1987 and replaced the need for the Airy Transit Circle. Today a number of IRES services are actually managed by the Paris Observatory. In many ways, the Paris Observatory manages the position of the true Prime Meridian today.

Nevertheless the French 🇫🇷 are forced, due to the decision of International Meridian Conference on 1884 October 1, to define the Paris Meridian as 2°20′14.02500″ East Longitude.

TO BE CONTINUED ...

This is going to go on for a few parts. We will, until these articles are finished, defer answering questions.

@xexyl
Copy link
Contributor Author

xexyl commented Feb 20, 2023

Thanks. Will for now just do a thumbs-up etc. so as to not interfere but I did want to thank you for addressing this.

@xexyl
Copy link
Contributor Author

xexyl commented Jul 31, 2024

I am curious about all of it of course but that definitely includes the CUT versus UTC one!

PART 0 of n

The French🇫🇷 have been disappointed that the Paris meridian was not chosen as the prime meridian / 0º longitude line AND that Greenwich Prime Meridian meridian was adopted by the International Meridian Conference on 1884 October 1.

Well, disappointed is the technical diplomatic way to put it nicely. "Extrêmement énervé et putain de bouleversé" for over 139+ years with no end in sight is more accurate. For over a century, it has been official French 🇫🇷 policy to continue to display annoyance at this event.

Now there is good technical reasons for the Paris meridian to be preferred. For one thing, the meridian has never been moved!

Yes, the Royal Observatory has moved the transit over the years as better transit technology was developed: that is until the Great Airy Transit was fixed as the never to be moved transit on 1675 June 22 when the observatory was official commissioned by King Charles II. Indeed, it was the Great London Fire of 1666 was the cause for the transit being finally being fixed.

Before 1675 June 22 there were serial transits on the grounds, when a better transit was needed, a new building was built in a suitable spot on the hill overlooking the harbor and wishing easy site of ships. The newer building was built on a different location and never blocking the existing transit's view. As such the meridian shifted multiple times ... until the London fire.

Back in those days, the precision of a few feet was hardly a concern for ship navigation, where a Nautical Mile (one arc minute of a great circle) was considered "good enough" by most people.

The transit, however, also served a land based use: one that of a survey marker for recorded property. Indeed, the front of the Transit building served as "master bearing marker 0" for land based surveys.

Returning to the London area, and in particular the special region known as the City of London (that is not part of Greater London, nor under the direct control of the Monarch but rather under the control of City of London Corporation). For the 1600's this area was of such enormous value and power that property was measured down to the partial square inch: instead of the usual stone markers in the county side. Properly lines were surveyed and recorded with extreme precision. And while such lines were within line of site of the Transit master bearing marker 0, nearby local landmarks such as well known building corners were used and measured from.

Unfortunately what was recorded in the records depended on which Transit building served as "master bearing marker 0". But even then that didn't matter because the well known building corners would do.

That is .. until the Great London Fire destroyed many of those buildings. So great was the firestorm that many of the useful local markers were gone / obliterated and lost. Nevertheless less records of property boundaries were recorded, and those records were preserved by well meaning civil servants such as Samual Pepys.

Unfortunately when those records were consulted to reestablish the old property lines, they discovered the records were a patchwork of references to the various transit circles over time. Even the date of recording could not determine which one was used, directly of indirectly. Now suddenly inches mattered. Real economic power and wealth was impacted.

We should point out while the economic impact of restoration of property in the City of London was significant, the impact of restoration of property in the City of London impacted a far greater number of people and indirectly a far greater economic value.

The King has to be brought in to try and rule on properly disputes. Properties suddenly started losing land. Even those buildings that were left partially standing were found to be in the wrong tract. Previous buildings could no longer be rebuilt because neighboring lands were squeezing in. As owners rushed to rebuild, many found others building on what they claimed to be their land.

The general resolution process, tempered by influence and money, was to attempt to honor the original total area of the property tract. In some cases a square or rectangle had to be morphed into a Quadrilateral with sometimes the addition odd property appendages.

In more extreme cases the volume of a building was taken into account. Some buildings were allowed to lean over into the street or adjoining property. Line of sight views were impacted in some cases, impacting property values. Former gardens sometimes became unusable shadow pits.

In addition to solving land area / building volume issues, Rights of way were impacted. In a number of cases owners found that a neighbor's building restoration completely blocked access to their property. More than one front door found itself being unable due to a new wall prevented it from being opened.

There was a real threat to even the monarch because he had to make rulings that nobody powerful was happy with .. and the prospect of another King being killed was a possibility. There are a few technical death penalties in England, unenforced, but still on the books. One of those rare unenforceable death penalties that has never been removed from the law books, out of tradition, can be applied to the person who moves the meridian! 🤭

And so the French 🇫🇷 will point out that their Paris Meridian never moved, while the Greenwich meridian is a historic mess. Come could say that the English 🏴󠁧󠁢󠁥󠁮󠁧󠁿 royally screwed up the Greenwich Prime Meridian, to put it it mildly. 🫣

Nevertheless, the historic (pre 1987) Prime Meridian was a line that passed from the North Pole, thru the crosshair of the Airy Transit Circle and on to the South Pole. In this case, one could say that the Transit Circle Room at Greenwich never moved (Longitude wise). Everywhere else on Earth moved (Longitude wise) relative to the Transit Circle .. at least before 1987. :-)

It is ironic that GPS navigation was never locked onto the Greenwich Prime Meridian. If you take a GPS and stand on the Greenwich Prime Meridian line, it will NOT* show 0º longitude!

It is also ironic that the International Earth Rotation and Reference Systems Service (IRES) was established in 1987 and replaced the need for the Airy Transit Circle. Today a number of IRES services are actually managed by the Paris Observatory. In many ways, the Paris Observatory manages the position of the true Prime Meridian today.

Nevertheless the French 🇫🇷 are forced, due to the decision of International Meridian Conference on 1884 October 1, to define the Paris Meridian as 2°20′14.02500″ East Longitude.

TO BE CONTINUED ...

This is going to go on for a few parts. We will, until these articles are finished, defer answering questions.

So ... do you care to continue this ? :-) I'd love to hear more.

@lcn2
Copy link
Contributor

lcn2 commented Aug 3, 2024

Sorry .. too many things going on .. we sent our spare time talking about yacc and lex .. lets try again later, @xexyl

@xexyl
Copy link
Contributor Author

xexyl commented Aug 3, 2024

Sorry .. too many things going on .. we sent our spare time talking about yacc and lex .. lets try again later, @xexyl

No worries. Working on chkentry a bit and then if I have time I'll look at 2001. But I suspect I won't or if I do I won't have much time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants