--- 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> | "Iâve attached our companyâs color palette. Although, Iâm not sure if theyâll 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> "Iâve attached our companyâs color palette. Although, Iâm not sure if theyâll 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 |