88 views

Skip to first unread message

Mar 30, 2014, 5:04:20 PM3/30/14

to tag...@googlegroups.com

(context: I'm rewriting and porting tagtime to node.js; I have a version that does everything I need it to but it's super limited https://github.com/alice0meta/TagTime/blob/master/src/clone/tagtime.js )

Is it useful to have the api be backwards compatible; that is, to have an executable script named ping.pl that does the same things with the same arguments, and ditto for the rest, or would such as "tagtime.js ping <args>" be entirely adequate?

- Alice

p.s. i'm pretty sure this is true but can someone check it for me to make sure my understanding is correct?: "the union of two 90min tagtime pingsets will have the same distribution as a single 45min tagtime pingset"

1) if you have a smaller gap then you'll just get *additional* pings in between. Or if bigger you just will not get some of the pings

Mar 30, 2014, 9:42:44 PM3/30/14

to tag...@googlegroups.com

My impressions:

1. There's maybe/barely enough demand to justify configurable gap

time. (Though mostly people should stick to 45 minutes.)

2. No need for the node.js version to mimic the "ping.pl" command line syntax.

3. The way I get intuition about the distribution is to think about

the equivalent (but hideous and inefficient) implementation where

every second you decide with fixed independent probability whether to

ping that second. If the gap is 45m = 2700s then that fixed

probability is 1/2700. With a 90m gap you'd be pinging each second

with 1/5400 probability. So half as often. I'm actually not sure if

that answers your question...

> --

> You received this message because you are subscribed to the Google Groups

> "tagtime" group.

> To unsubscribe from this group and stop receiving emails from it, send an

> email to tagtime+u...@googlegroups.com.

> For more options, visit https://groups.google.com/d/optout.

--

http://dreev.es -- search://"Daniel Reeves"

Goal tracking + Commitment contracts == http://beeminder.com

1. There's maybe/barely enough demand to justify configurable gap

time. (Though mostly people should stick to 45 minutes.)

2. No need for the node.js version to mimic the "ping.pl" command line syntax.

3. The way I get intuition about the distribution is to think about

the equivalent (but hideous and inefficient) implementation where

every second you decide with fixed independent probability whether to

ping that second. If the gap is 45m = 2700s then that fixed

probability is 1/2700. With a 90m gap you'd be pinging each second

with 1/5400 probability. So half as often. I'm actually not sure if

that answers your question...

> You received this message because you are subscribed to the Google Groups

> "tagtime" group.

> To unsubscribe from this group and stop receiving emails from it, send an

> email to tagtime+u...@googlegroups.com.

> For more options, visit https://groups.google.com/d/optout.

--

http://dreev.es -- search://"Daniel Reeves"

Goal tracking + Commitment contracts == http://beeminder.com

Apr 4, 2014, 2:50:57 PM4/4/14

to tagtime

is this a reasonably sane configurable gap time algorithm?

default seed is 666

we can get many seeds with (seed+v for v in 0…)

you take your ping frequency (say 1/7 or 1/45 or 1/90) and then you get the first ⌈yours/(1/45)⌉ seeds (7 seeds, 1 seed, or 1 seed) with fractional part yours/(1/45) - ⌈yours/(1/45)⌉ + 1 (~0.428,1,0.5)

then you generate seed sequences with (seed*7⁵^v % 2³¹-1 for v in 0…) for each seed

then you generate gap sequences for each seed sequence (-45*60*log(v / 2³¹-1) for v in seeds)

then you generate ping sequences for each gap sequence (1184083200 + <sum of all gaps so far> for gaps)

then you filter the last ping sequence with its seed for its seed sequence and function{(bit_reverse(seed) / 2³¹-1) ≤ fractional_part}

then you merge all the ping sequences into a final grand ping sequence

now you're done!

(i have tested it to make sure it still has the same distribution)

Reply all

Reply to author

Forward

0 new messages

Search

Clear search

Close search

Google apps

Main menu