code logs -> 2013 -> Thu, 07 Nov 2013< code.20131106.log - code.20131108.log >
--- Log opened Thu Nov 07 00:00:09 2013
--- Day changed Thu Nov 07 2013
00:00
<~Vornicus>
well, okay, I guess it's "move turn turn move turn turn" that you need to peephole for.
00:00
< simon_>
well, sometimes there exists a structurally different but equivalent program that is both shorter and has no double turns.
00:02
< simon_>
e.g. [Move 1, Turn, Turn, Turn, Move 2, Repeat (2, [Move 1, Turn, Turn, Turn, Move 2])] is really hard to automatically rewrite, but manually drawing its path and then making a simple (non-Repeat-infested) program that traverses the same route, you get [Move 1, Turn, Move ~3, Turn, Move 3, Turn, Move ~2]. but achieving this isn't trivial.
00:02
< simon_>
generally, making Repeats that involving left turns is problematic.
00:03
< simon_>
involves*
00:04
< simon_>
one way is to allow double-turns at the end of those, and another is using a completely different approach that breaks down Repeats if they involve turning leftand doesn't try to reconstruct them, but rather uses non-repeat code.
00:11
< simon_>
*sigh* so yeah, it seems that there are programs with double-turns that cannot be rid of these and consistently have a lower cost. (I think it involves something like nested Repeats.
00:19 You're now known as TheWatcher[T-2]
00:20
<~Vornicus>
Okay so, one of the tricks I can think of is, you can check the intro and outro of a loop by unrolling one cycle.
00:20
<&ToxicFrog>
simon_: machine optimization of Robo-Rally?
00:22
<~Vornicus>
Or rather: if your peephole gives you a thing that crosses a loop boundary, you can unroll that one boundary by copying the loop body to before the loop (or after, in that situation) and decrementing the loop count by one.
00:24
<~Vornicus>
Similarly, you can phase shift a loop if it looks like D E repeat 5 A B C D E end A B C, to repeat 6 D E A B C end
00:25 You're now known as TheWatcher[zZzZ]
00:25
<~Vornicus>
You can also double up loops: repeat 2 A B C A B C end is the same as repeat 4 A B C end
00:27
<~Vornicus>
So I suspect you'll get a lot by peepholes that work specifically on loops, and that are allowed to unroll loops if they need.
00:33
<~Vornicus>
So for yours above: move1 turn turn turn move2 repeat2 move1 turn turn turn move2 end the peephole sees turn turn move move turn turn and says "wait I can fix that", lowers the repeat and gets move1 turn turn turn move2 move1 turn turn turn move2 (repeat1) move1 turn turn turn move2 (end), peepholes out turn turn move2 move1 turn turn to move-3 so now you have move1 turn move-3 turn move2 move1 turn turn turn move2...
00:35
<~Vornicus>
And then move2 move1 becomes move3, and turn turn move2 TERMINATE is the same as move-2 TERMINATE, so you now have move1 turn move-3 turn move3 turn move-2
00:46 Turaiel[Offline] is now known as Turaiel
01:05
<~Vornicus>
6uyjjjjjjjjjjjjjjjjjjjjj
01:06
<@gnolam>
Y helo thar, Vorn's cat.
01:24
<@iospace>
\o/
01:26 Derakon_ is now known as Derakon
01:26 mode/#code [+ao Derakon Derakon] by ChanServ
01:58
< simon_>
ToxicFrog, I suppose it resembles. :)
02:03
< simon_>
Vornicus, thanks for the suggestion!
03:50 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: Program Shutting down]
04:24 Kindamoody[zZz] is now known as Kindamoody
04:31 Turaiel is now known as Turaiel[Offline]
04:39 Turaiel[Offline] is now known as Turaiel
04:48 * Derakon blarghs, has broken his mapgen script in the process of trying to make the lock placement smarter.
05:02 Derakon is now known as Derakon[AFK]
05:15 Kindamoody is now known as Kindamoody|out
05:54 RichyB [RichyB@Nightstar-c6u.vd5.170.83.IP] has quit [[NS] Quit: Gone.]
05:57 RichyB [RichyB@Nightstar-c6u.vd5.170.83.IP] has joined #code
06:08 ErikMesoy|sleep is now known as ErikMesoy
06:26
<~Vornicus>
http://www.youtube.com/watch?v=ywWBy6J5gz8 this just appeared in my youtube recommended videos.
06:26
<~Vornicus>
I am unsure what to make of it.
06:27 Turaiel is now known as Turaiel[Offline]
06:33 Stalker [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code
06:35
<@Syloq>
I'm enchanted by it
07:06 Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has quit [Ping timeout: 121 seconds]
07:10
<@froztbyte>
Vornicus: hahaha
07:13 You're now known as TheWatcher
07:55 AverageJoe [evil1@Nightstar-dfmuir.ph.cox.net] has joined #code
08:06 You're now known as TheWatcher[afk]
08:17 celticminstrel [celticminst@Nightstar-al12cf.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
08:26 thalass [thalass@Nightstar-k6vtdf.bigpond.net.au] has joined #code
09:41 You're now known as TheWatcher
10:10 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
10:16 You're now known as TheWatcher[d00m]
10:34 AverageJoe [evil1@Nightstar-dfmuir.ph.cox.net] has quit [[NS] Quit: Leaving]
11:38
< Reiver>
Vornicus: The thing to make of it
11:38
< Reiver>
Is that Google *knows you too well*.
11:38
< Reiver>
Be thusly scared.
11:41
< thalass>
>.<
11:44 Syka_ [the@Nightstar-qu5n8m.iinet.net.au] has joined #code
11:46 You're now known as TheWatcher
11:46
<@TheWatcher>
Soo
11:46 Syka [the@Nightstar-j1d9hv.iinet.net.au] has quit [Ping timeout: 121 seconds]
11:47
<@TheWatcher>
Does anyone want a copy of "Programming with Microsoft Visual Basic 2012", 6th Edition, Diane Zak?
12:13
<@Tarinaky>
"Ive attached our companys color palette. Although, Im not sure if theyll come through very well in this black and white scan" -- clients from hell.
12:14
<@TheWatcher>
... wat
12:14
<~Vornicus>
...
12:14
< Syka_>
waaat
12:15
< Syka_>
i propose fire
12:15
< Syka_>
on their face
12:15
<~Vornicus>
I mean it's possible to send a color scheme as plain text.
12:16
<~Vornicus>
It's even possible to send a color logo in a black and white scan, using paint by numbers and a plain text color scheme
12:16
<~Vornicus>
But to do so /via email/? come on
12:20 * thalass laughs
12:21
< thalass>
I'm so glad all i have to deal with is recalcitrant machinery
12:21
< thalass>
I can largely ignore the humans
12:58 Pandemic_ [VirusJTG@Nightstar-lsl.j5i.46.174.IP] has joined #code
13:00 Pandemic__ [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
13:01 Pandemic [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [Ping timeout: 121 seconds]
13:02 Pandemic__ is now known as Pandemic
13:02 mode/#code [+o Pandemic] by ChanServ
13:03 Pandemic_ [VirusJTG@Nightstar-lsl.j5i.46.174.IP] has quit [Ping timeout: 121 seconds]
13:18
<@Azash>
11:28 <+matx> Oh wow, this website lets me search for bobby drop tables. Now the website doesnt work, says SQL error ;_;
13:43 thalass [thalass@Nightstar-k6vtdf.bigpond.net.au] has quit [[NS] Quit: bonne nuit mes amis]
13:47 Pandemic [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: shutting down!]
13:49 Pandemic [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
13:49 mode/#code [+o Pandemic] by ChanServ
14:02
<@froztbyte>
<Tarinaky> "Ive attached our companys color palette. Although, Im not sure if theyll come through very well in this black and white scan" -- clients from hell.
14:02
<@froztbyte>
eehhhhhhhh
14:02
<@froztbyte>
you could.
14:02
<@froztbyte>
actually.
14:03
<@froztbyte>
you just can't do it directly
14:04
<@froztbyte>
cf. http://www.boston.com/bigpicture/2010/08/russia_in_color_a_century_ago.html
14:05
<@Tarinaky>
froztbyte: This being clients from hell I am expecting and imagining the 'direct' case.
14:05
<@froztbyte>
yeah fair enough
14:06
<@froztbyte>
obviously that client was but a mere hellbat or something
14:06
<@froztbyte>
not a proper lord of hordes!
14:06
<@TheWatcher>
froztbyte: thost pictures are a lie! Everyone knows that colour did not exist before 1939!
14:06
<@Tarinaky>
Particularly as this website has plenty of other stories that involve the attachment-to-be being printed, onto paper, first.
14:06
<@Tarinaky>
Then scanned.
14:06
<@Tarinaky>
Then attached to the mail.
14:06
<@froztbyte>
TheWatcher: rofl
14:07
<@Tarinaky>
Because that's how people's brains work or something.
14:07
<@froztbyte>
well
14:07
<@froztbyte>
computers work by magic
14:07
<@froztbyte>
didn't you know?
14:07
<@TheWatcher>
Also demons.
14:07
<@Tarinaky>
Magic, duct tape and homosexual devil-magic.
14:08
<@TheWatcher>
http://www.brouhaha.com/~eric/computers/science_and_magic.html ~
14:47 You're now known as TheWatcher[afk]
14:48
< AnnoDomini>
It seems that Google has done something to the comments system on YT.
14:48
<@Tarinaky>
They've taken the bottom 100 youtube posters and had them imprisoned indefinitely under terrorism charges.
14:50
<~Vornicus>
just 100? not enough
14:51 JDelta [jay@F8E647.8B866C.21F3D1.AE023E] has joined #code
14:51
<@Tarinaky>
It's a slow roll out.
14:53
< AnnoDomini>
I'm seeing loads of G+ user comments. And many more real names.
14:54
<@Tarinaky>
They're sorted according to proximity in your circles.
14:56
< AnnoDomini>
I don't have G+.
14:56
< RichyB>
Whatever accounts you have (google, gmail, youtube) are being relabelled as "G+" accounts.
14:58
< AnnoDomini>
Ugh.
14:58
< AnnoDomini>
I've even installed a plugin to my Chrome that destroys any popup that tries to make me link my YT account to G+.
15:19 Vornicus [vorn@Nightstar-sn7kve.sd.cox.net] has quit [[NS] Quit: Leaving]
15:35 celticminstrel [celticminst@Nightstar-al12cf.dsl.bell.ca] has joined #code
15:35 mode/#code [+o celticminstrel] by ChanServ
15:47
<@froztbyte>
I believe it might get impossible to do that at some point
15:47
<@froztbyte>
I'm getting to the point where I'll just not bother with youtube on my main
15:48
<@froztbyte>
LAYER SOME SOCIALS
15:48
<@Azash>
The previous system was acceptable, where you could make a mock-up G+ profile on top of your youtube account
15:48
<@Azash>
But now those are disabled and you have to use a proper G+ account to comment
15:49 Turaiel[Offline] is now known as Turaiel
15:50
< AnnoDomini>
Those monsters.
15:54 Turaiel is now known as Turaiel[Offline]
15:57
<@froztbyte>
it's not that I care about commenting
15:57
<@froztbyte>
it's that certain shit is pretty much forcing you to be name-public
15:57
<@froztbyte>
which I don't care for
15:57
<@froztbyte>
(now and then you /need/ to interact with some systems in that way)
16:16
<&ToxicFrog>
Azash: does the +Page/"keep your youtube name" option not let you comment?
16:25 * AnnoDomini finds an old game of his youth.
16:25
< AnnoDomini>
MicroMan!
16:28
<@Azash>
ToxicFrog: If you try to comment you get a G+ login page
16:28
<@Azash>
For me, that only allows my real G+
16:30
<&ToxicFrog>
Azash: have you selected either option, or kept dismissing the dialog?
16:30
<&ToxicFrog>
Because, AIUI, it should let you comment if you have anything "G+-account-like", whether that's your actual G+ account (created with "merge my youtube account with G+ and use my real name") or a +Page (created with "keep using my youtube name")
16:31
<&ToxicFrog>
If you have a +Page and it's not letting you comment, that's almost certainly a bug and I'll escalate.
16:38
<@Azash>
Ah, wait, yeah
16:38
<@Azash>
It tries to log me in with my real G+ but after that I do get to comment as my channel page
16:38
<@Azash>
Thanks TF
16:41
<&ToxicFrog>
Yeah, I'm not actually entirely clear on whether the +Page is a separate G+ account, or a separate identity tied to the same account (and thus with the same login)
16:41
<&ToxicFrog>
Fucking G+, how does it work
16:46
< RichyB>
I think G+ is cancerous on Google.
16:47
< RichyB>
Nobody actually likes it and the G+ team somehow has the political leverage to get people like the Youtube and Reader teams to damage the usability of or completely throw away their apps in order to push G+ harder.
16:51
<@froztbyte>
afaict
16:51
<@froztbyte>
it's the product lead division
16:51
<@froztbyte>
err, product division's lead
16:52
<@froztbyte>
who said "<froztbyte> LAYER SOME SOCIALS"
16:52
<@froztbyte>
and then there were socials.
16:52
< AnnoDomini>
Fuck socials.
16:56
< ErikMesoy>
Fuck socials, give me Reader back with its anti-social network of erratically discovering people with similar interests.
16:58
< Syka_>
fuck socialists
16:58
< Syka_>
wait
16:59
< ErikMesoy>
Fuck sociologists?
16:59
< AnnoDomini>
No, don't, let them die out in peace.
16:59 Turaiel[Offline] is now known as Turaiel
17:03
<@Tarinaky>
Oh my God. You would not know how awful my internet is being.
17:06
< Syka_>
i live in australia
17:06
< Syka_>
i may have an idea
17:06
<@froztbyte>
hahaha
17:10
< JustBob>
Fuck proctologists!
17:11
< ErikMesoy>
http://www.youtube.com/watch?v=otcVrKomXbk
17:17
<@Azash>
ToxicFrog: It is the same login
17:17
<@Azash>
I just wasn't awake enough to realize that my google login had expired for whatever reason
17:25
<@Tarinaky>
Syka_: Yopur IRC client is still working therefor your internet is being better behaved than me.
17:25
<@Tarinaky>
I can't even maintain a connection over SSH.
17:25
<@gnolam>
ErikMesoy: :D
17:25
<&ToxicFrog>
Tarinaky: that is impressively bad
17:25
< Syka_>
Tarinaky: my IRC server is across the room from me, and i've had a pile of disconnects
17:25
< Syka_>
so
17:25
< Syka_>
:P
17:29
<@Tarinaky>
If only there were some way to transmit web pages reliably over the internet.
17:29 * Tarinaky glares.
17:30 celticminstrel [celticminst@Nightstar-al12cf.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
17:30
<@Tarinaky>
I'm not sure how Chrome can report errors about failing to resolve DNS names but the diagnose says there's no problem :/
17:46
<@Tarinaky>
"Oops! Google Chrome could not find www.google.com"
17:46
<@Tarinaky>
=.=
17:49 Alek [omegaboot@Nightstar-qa936g.il.comcast.net] has quit [Ping timeout: 121 seconds]
17:53
<@Tarinaky>
I don't know what to do about this. If I reboot, and it still doesn't work, that means I can't use Steam either which puts me in an even worse position.
17:54 Alek [omegaboot@Nightstar-qa936g.il.comcast.net] has joined #code
17:54 mode/#code [+o Alek] by ChanServ
17:57
<&McMartin>
Tarinaky: Silly question: Does IE work?
17:57
< jeroud>
Tarinaky: Won't Steam start up in offline mode?
18:01
<@Tarinaky>
jeroud: I have never known it to.
18:02
<@Tarinaky>
McMartin: No.
18:03
< JDelta>
What happens if you ping an IP?
18:03
< JDelta>
74.125.224.134 for example
18:04
<@Tarinaky>
Sometimes it works, sometimes it doesn';t.
18:04
< JDelta>
so it's not the DNS then?
18:05
<@Tarinaky>
The only IP address I have memorised is my DNS.
18:06
< JDelta>
what DNS are you using?
18:07
<@Tarinaky>
8.8.8.8
18:07
< JDelta>
that's google's, right?
18:07
<@Tarinaky>
Yes.
18:08
<@Tarinaky>
Well, it worked just long enough there for me to get a whole web page.
18:09
< JDelta>
what ISP are you using?
18:10 Kindamoody|out is now known as Kindamoody
18:16
<@Tarinaky>
JDelta: EE.
18:17
< JDelta>
I'm not familiar with them
18:17
<@Tarinaky>
I'm getting slightly better results having turned the router's firewall off.
18:20
<@Tarinaky>
Oh no, there we go. Dead again.
18:36
<@froztbyte>
https://twitter.com/NeckbeardHacker/status/393387484635471872
18:37
<@froztbyte>
https://twitter.com/BigDataBorat/status/386123679072919552
18:40 Turaiel is now known as Turaiel[Offline]
18:43
< AnnoDomini>
froztbyte: Explain.
18:45
<@froztbyte>
AnnoDomini: hmm?
18:48
< AnnoDomini>
Your links.
18:48
< AnnoDomini>
I sorta get that the first one is puns, but I don't get the second one.
18:51
< Syka_>
the second ones joke is that mongodb is shit
18:51
<@froztbyte>
Do you know what borat is?
18:51
<@froztbyte>
Otherwise, http://aphyr.com/posts/284-call-me-maybe-mongodb
18:52
< AnnoDomini>
I know what Borat is.
19:55 Kindamoody is now known as Kindamoody[zZz]
19:56 You're now known as TheWatcher
20:56 Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has joined #code
20:56 mode/#code [+o Reiv] by ChanServ
21:09
<&ToxicFrog>
"There are only two hard problems in computer science: cache invalidation and naming things."
21:09
<&ToxicFrog>
This is so goddamn true.
21:10
<@Reiv>
snrk
21:10
<@Reiv>
So very much the latter.
21:11
<@Reiv>
I've got a solved heuristic for my localised problem area, but that's because SQL aliases aren't really all that hard >_>
21:11
< ErikMesoy>
Just call everything a FactoryGetterInvokerSetterConstructor.
21:11
<&ToxicFrog>
ErikMesoy: we actually have some Javascript like that a few directories over.
21:11
<&ToxicFrog>
I have permission from the TL to nuke it from orbit next quarter.
21:12
< ErikMesoy>
And then access the FactoryGetterInvokerSetterConstructor.DataHolderObject.Table
21:13
< jeroud>
I have a glorious name for a class that is a stand-in for the real thing that we haven't gotten around to implementing yet.
21:14
< ErikMesoy>
Does it involve "temp"?
21:14
<@froztbyte>
ToxicFrog: "There are only two hard problems in computer science: cache invalidation, naming things, and off-by-one errors"
21:14
< jeroud>
Instead of Channel (to go with Conversation and Router), it's CheapPlasticChannel.
21:14
<@froztbyte>
hehehe
21:15
<&ToxicFrog>
Actually, let's harness the #code hivemind here.
21:15
<&ToxicFrog>
I have a python library used to implement execution time constraints - e.g. you have a configuration file that says "you can't operate on weekends or holidays", you feed that file to the library and then ask "can I safely run now?"
21:15
<&ToxicFrog>
I need to name this library.
21:16 * jeroud eats a chip.
21:16
<&ToxicFrog>
The working name is when_can_i_run; the working release name is TimeRestrictions, which I don't really like.
21:16
< ErikMesoy>
Something like CalendarChecker or ScheduleInspector?
21:16
< jeroud>
ToxicFrog: BankHolidayCalendar.
21:17
<&ToxicFrog>
jeroud: too specific. "Holiday" here refers to internal "holidays" in which we can't push changes to prod.
21:17
<&ToxicFrog>
The goal is that to prevent, e.g., automatically promoting a configuration change to global on weekends, or when everyone is away over christmas.
21:17
< jeroud>
ToxicFrog: That's why I went for the Britishism. :-)
21:18
< jeroud>
Insufficiently silly, though.
21:18
< jeroud>
CivilServiceGuideToWorkdays
21:19
<@froztbyte>
ToxicFrog: ChessClock, if you need a cutesy name
21:19
< ErikMesoy>
"Days on which the sysops won't hunt you down and beat you with a stick if you roll out changes" is presumably too long. How can it be abbreviated?
21:19
< ErikMesoy>
UpdateSafeDays?
21:19
< jeroud>
Except then you'll only be able to deploy on the third Thursday after Saint Mungo's Feast Day.
21:19
<&ToxicFrog>
WillThisMakeTheSREsUnhappy()
21:20
<@froztbyte>
SREs don't believe in sticks
21:20
<@froztbyte>
they'll probably just crash your cluster in a conveniently strange way
21:20
<@froztbyte>
and let you not sleep for 3 days
21:20
<@froztbyte>
passive warfare is best warfare ;p
21:20
< ErikMesoy>
SREs?
21:20
< jeroud>
TGIFChecker.
21:20
<@froztbyte>
Site Reliability Engineers
21:21
<@froztbyte>
google's internal "make shit work, and stay working" teams
21:21 * jeroud heads home.
21:22
< ErikMesoy>
That reminds me, I've been hired onto a "make shit work, and stay working" team recently too, this one at a major Norwegian company where I'm supposed to help ensure that inter-document links work properly when documents are archive and/or transferring from one SharePoint storage thing to another.
21:22
< ErikMesoy>
I have run into some code monkey problems (documents with lots of links to be updated), and some manager problems that I am going to have to kick upwards: documents with circular pointers.
21:23
< ErikMesoy>
Because once a document is archived, two things happen: 1) links to it must be updated, 2) links in it are frozen.
21:23 celticminstrel [celticminst@Nightstar-al12cf.dsl.bell.ca] has joined #code
21:23 mode/#code [+o celticminstrel] by ChanServ
21:23
<@froztbyte>
ErikMesoy: I tried to make this work on our platform at $oldjob
21:24
<@froztbyte>
ErikMesoy: unless you make the entire thing into a helluva rich data model, and have a good UI to it, glhf you're always gonna play janitor
21:24
<@froztbyte>
people are bad at linking metadata :/
21:24
< ErikMesoy>
froztbyte: Do you have advice on how to politely tell my manager that I, the guy responsible for keeping links working during transfer, am going to have to require that some links be broken because it is effectively impossible to retain them all?
21:25
< ErikMesoy>
I mean, it's not physically impossible. It would just require me to be nearly omniscient WRT the archival system and have sole access, so that I could predict the ID of the next document to be archived and thereby pre-update the links. But this is not gonna happen.
21:25
<@froztbyte>
ErikMesoy: iterate, and indicate stages
21:25
<@froztbyte>
ErikMesoy: try your best to auto-forward people if you can manage it
21:25
<@froztbyte>
otherwise just find a political way to tell people to suck on it
21:25
<@froztbyte>
you already have buyin on the fact that the work has to happen
21:26
<@froztbyte>
so you may just need to get people to feel happy about it
21:26
< ErikMesoy>
froztbyte: we have auto-forwarding, actually. it involves popups that open autogenerated Word (!) microdocuments containing HTML (!) links to the archived document in its new location.
21:26
< ErikMesoy>
I consider this "a broken link" nonetheless. :-p
21:27
<@froztbyte>
and this is why I'm happy I've never beholden to the sharepoint things
21:27
< ErikMesoy>
Everyone working on it agrees.
21:27
<@froztbyte>
someone at our company tried to make it work for a while
21:27
<@froztbyte>
my indexer still beat his
21:27
<@froztbyte>
(he very much didn't like that because he was one of the owners of the company... ;D)
21:28
<@froztbyte>
anyway, I need to crash
21:28
<@froztbyte>
\o
21:28
< jeroud>
ErikMesoy: An archived document may not link to an unarchived document.
21:29
< jeroud>
Oh, bleh. My next message got lost, I think.
21:30
< ErikMesoy>
jeroud: is there more? I'm not sure what that's supposed to answer
21:31
< jeroud>
Or such links must be temporary and updated when the unarchived document moves.
21:31
< ErikMesoy>
jeroud: Archived documents can't be updated.
21:32
< ErikMesoy>
(the archive in question exists in part for legal compliance, hence why it must be frozen)
21:32
< ErikMesoy>
So when I'm supposed to archive a circular set of references...
21:34
< jeroud>
Oh, do you archive documents in batches without any links external to the batch?
21:35
< ErikMesoy>
I have both single and bulk-archive functions.
21:35
< ErikMesoy>
So far I've mostly been archiving those documents containing *no* links one at a time.
21:36
< ErikMesoy>
Bulk-archiving a circular reference structure would just break the entire thing because now every link in the archived structure would point to the unarchived area, which presently gives the Popup Scavenger Hunt and may in the future cease to exist.
21:45
< jeroud>
You can't do some kind of two-phase archival?
21:47
< ErikMesoy>
jeroud: I don't think you understand the problem. Suppose Document A contains a link pointing to (the unarchived location of) B, and Document B contains a link pointing to (the unarchived location of) A.
21:48
< ErikMesoy>
Without loss of generality, if I archive A first, then A becomes frozen before B's new location becomes known, and so A's link to be cannot be updated.
21:48
<&ToxicFrog>
ErikMesoy: what sounds like the right answer here is: when asked to archive a document A, transitively walk the link graph until you have the complete set of documents reachable from A.
21:48
<&ToxicFrog>
Then snapshot all of those and rewrite their links to point to what are about to be the archived locations.
21:48
<&ToxicFrog>
Then archive.
21:48
<&ToxicFrog>
This assumes that you can tell where something is going to be archived before you actually freeze it.
21:49
<&ToxicFrog>
...and that you can snapshot and archive a document while keeping a copy outside the archive (i.e. you can archive "the document as it exists now" rather than "the document")
21:49
< RichyB>
If A has links to A, you'll want to, in a single transaction, allocate a new ID for A and rewrite A's selfies to point to that.
21:49
<&ToxicFrog>
If assumption #1 doesn't hold, you're completely hosed for any sort of cyclical references, full stop.
21:49
< ErikMesoy>
Assumption #1 does not presently hold.
21:49
<&ToxicFrog>
If assumption #2 doesn't hold, you are entering a world of pain, because it implies something could be modifying the document under you up until the actual moment you flip the immutable bit.
21:50
< ErikMesoy>
I could theoretically apply for the privileges to lock down the archive and view its ID assignment code. I think this is impractical.
21:50
< RichyB>
You really need "allocate a new location" and "put a document into that location" to be separate operations, then.
21:50
< ErikMesoy>
So I'm going to figure that I can't know the link to the new location of a document until after it gets archived.
21:52
<&ToxicFrog>
So, to clarify - when you archive a document, you aren't archiving a copy, the document changes from "live" to "archived" in place?
21:52
<&ToxicFrog>
(and this in turn means that the archive operation has to be atomic?)
21:53
<&jerith>
ErikMesoy: You either need to be able to modify the document (for some period at least) after archival or know what the post-archival location of the document is going to be.
21:54
< ErikMesoy>
jerith: please stop telling me what code powers I need
21:54
< ErikMesoy>
I know what code powers I need and I'm very unlikely to get them
21:54
<&jerith>
Without at least one of those, your problem has no solution.
21:54
< ErikMesoy>
Please tell me either 1) how best to convince the boss to give me Awesome Access Rights to the archive, or 2) how best to politely tell the boss that I am going to have to break some links
21:55
< ErikMesoy>
(also, #1 runs into the second point of impracticality that it will require me to learn a hell of a lot more about how the archive works.)
21:56
<&jerith>
ErikMesoy: If your boss can't be convinced about the impossibility of a thing that is clearly impossible, you're out of luck.
21:57
<&jerith>
Personally, I think the a system that has the properties you've described is stupid to the point of criminality.
22:01
<&jerith>
ErikMesoy: If your job involves performing arcane acts on an archive system, I'd recommend learning as much as possible about said archive system.
22:01
< ErikMesoy>
Presently, no arcane acts are involved, nor need they be involved.
22:02
< ErikMesoy>
I could declare "Document links must point to only future documents by creation date (no retcons!)", break all links which violate this, and then simply archive from leaf documents inwards, updating links on rootward nodes as I go.
22:03
<@iospace>
http://www.theregister.co.uk/2013/11/01/breaking_badbios/
22:03
<&jerith>
If the requirement is for documents to have working links, it seems the best course of action is to find a way to do this.
22:03
<&jerith>
From what you've said, such a way probably exists if you have the right permissions.
22:06
< RichyB>
! :D
22:08 ErikMesoy is now known as ErikMesoy|sleep
22:10 Xon [Xon@Nightstar-bd4.haq.23.203.IP] has quit [Ping timeout: 121 seconds]
22:12
<@Alek>
isn't it just.
22:24 celticminstrel [celticminst@Nightstar-al12cf.dsl.bell.ca] has quit [Connection closed]
22:28 celticminstrel [celticminst@Nightstar-al12cf.dsl.bell.ca] has joined #code
22:28 mode/#code [+o celticminstrel] by ChanServ
22:37 ktemkin[afk] is now known as ktemkin
23:16 Stalker [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
23:44
< RichyB>
This should rightly horrify anyone who understands combinator calculus and brackets.
23:44
< RichyB>
https://github.com/djspiewak/wronglisp ïa ïa!
23:51 You're now known as TheWatcher[T-2]
23:55 You're now known as TheWatcher[zZzZ]
--- Log closed Fri Nov 08 00:00:10 2013
code logs -> 2013 -> Thu, 07 Nov 2013< code.20131106.log - code.20131108.log >

[ Latest log file ]