Perl 6 - the future is here, just unevenly distributed

IRC log for #rosettacode, 2011-02-16

| Channels | #rosettacode index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:32 mwn3d_phone Did anyone just watch watson on jeopardy? It was awesome.
01:16 Mathnerd314 joined #rosettacode
01:43 realazthat_ left #rosettacode
01:43 opticron left #rosettacode
01:44 opticron joined #rosettacode
01:46 parsleyfirefly joined #rosettacode
01:49 shortcircuit joined #rosettacode
02:14 shortcircuit I suspect we could probably describe tasks on Rosetta Code as falling among four categories: Feature tasks, algorithm tasks, problem tasks and project tasks.
02:18 shortcircuit Feature tasks explicitly ask for demonstration of language features and core idioms. This might include things ranging from syntax to design patterns. [[Loops/For]], [[Documentation]] and [[Singleton]] would be included.
02:18 fedaykin http://rosettacode.org/wiki/Loops/For  http://rosettacode.org/wiki/Documentation  http://rosettacode.org/wiki/Singleton
02:21 shortcircuit Algorithm tasks would be those that specifically ask for implementation and/or demonstration of well-known problems like named sorting algorithms or classic computer science problems. [[Quicksort]], [[Dining Philosophers]] and [[Towers of Hanoi]] might be included.
02:21 fedaykin http://rosettacode.org/wiki/Quicksort  http://rosettacode.org/wiki/Dining_Philosophers (Doesn't exist.)  http://rosettacode.org/wiki/Towers_of_Hanoi
02:25 shortcircuit Problem tasks and project tasks are similar, with their primary difference being complexity. These would include most interactive tasks, and any task whose solution for most languages involves combining things which might have individually been able to be described as separate tasks. [[23 game]], [[Counting in Factors]] and any of the Execute tasks like [[Execute Brain****]] would fall among these.
02:25 fedaykin http://rosettacode.org/wiki/23_game (Doesn't exist.)  http://rosettacode.org/wiki/Counting_in_Factors  http://rosettacode.org/wiki/Execute_Brain****
02:26 shortcircuit Not sure how best to differentiate between problem tasks and project tasks; a hard rule seems silly, particularly when the primary observable difference is that the code examples tend to be much larger in project tasks.
02:28 SoniaKeys joined #rosettacode
02:41 shortcircuit mwn3d_phone: Freenode was under a sustained DDoS earlier. Don't know if they still are.
02:41 mwn3d_phone Oh...I guess I'm not keeping up on my internet news.
02:41 shortcircuit mwn3d_phone: It was sent out as an IRC "global notice" on the network.
02:41 shortcircuit I'm guessing your IRC client didn't show it.
02:46 SoniaKeys left #rosettacode
02:52 mwn3d_phone Oh you know what? It did. But when I clicked it to read the whole message nothing came up.
02:54 sorear shortcircuit: Is "Empty program" or "Hello World" etc a problem or a feature?
02:56 shortcircuit sorear: [[Empty program]] would be a feature-type task, I think; it demonstrates the minimum execution language code for a valid program.
02:56 fedaykin http://rosettacode.org/wiki/Empty_program
02:57 shortcircuit For, [[Hello World]] it could go either way, depending on how it's written.
02:57 fedaykin http://rosettacode.org/wiki/Hello_World
02:57 shortcircuit If it's written as "Write the Hello World" program, then it would be a problem-type task. If it's written as "output the string 'Hello world!'", then it's a feature task.
02:58 shortcircuit er. *"If it's written as 'Write the Hello World program'"
02:59 shortcircuit The ambiguity comes from the simplicity of the original program's behavior.
03:01 shortcircuit "minimum execution language code"? Ick. I might more precisely have said "Minimum code for defining a program in that language"
03:07 sorear "minimum program length required to demonstrate that the result of the compiler depends on the input"
03:41 realazthat_ joined #rosettacode
05:19 Mathnerd314 left #rosettacode
06:34 mwn3d_phone left #rosettacode
07:39 FireFly joined #rosettacode
08:07 FireFly left #rosettacode
13:21 mwn3d_phone joined #rosettacode
13:42 mwn3d_phone left #rosettacode
13:43 mwn3d_phone joined #rosettacode
13:58 slavik1 left #rosettacode
13:58 slavik1 joined #rosettacode
15:10 kpreid left #rosettacode
15:21 parsleyfirefly1 joined #rosettacode
15:22 parsleyfirefly left #rosettacode
15:22 parsleyfirefly1 is now known as parsleyfirefly
15:25 kpreid joined #rosettacode
15:28 kpreid shortcircuit: Erm, Planet RC is being a bit broken. It has shown two old posts from 2010 as current
15:29 kpreid (of my blog)
15:29 shortcircuit Hm.
15:29 kpreid I did recently change the tags on those posts, but that shouldn't be causing them to appear as new
15:29 kpreid especially given using an atom feed which has guids
15:29 kpreid or rather:
15:30 kpreid it is displaying those posts with a date of NOW and completely ignoring the date in the feed
15:30 kpreid or using the <updated> date rather than the <published> date, I see checking my feed
15:30 kpreid anyway this is clearly wrong, as you can see it is showing my 2010 google intern post as if I posted it this week
15:31 kpreid which is a rather severe misrepresentation
15:31 kpreid I recognize this is probably some design flaw in the planet code, but if it turns out to be a misconfiguration instead please fix...
15:48 shortcircuit kpreid: Looking at the DOM of the atom feed, looking at the entry node for "Google again", the 'updated' property, which planetplanet appears to use for dates, contains 2011-02-12T14:28:29Z, which is the value displayed on the planet.
15:48 kpreid Yes, and that is the mistake.
15:48 kpreid A post shouldn't be solely dated by its last-modified.
15:49 kpreid Well.
15:49 kpreid Some people might prefer that.
15:49 shortcircuit kpreid: It depends on the blog, really. Several blogs I read go back and update the same entry multiple times, rather than post follow-up blog entries.
15:49 shortcircuit For your blog, that doesn't make sense, of course.
15:49 kpreid I do edit with updates sometimes, but only on 'in the past couple of days' sort of things.
15:49 shortcircuit Unfortunately, planetplanet doesn't appear to offer per-feed configuration (or even global configuration) on the matter.
15:49 kpreid Can you at least get it to display the post's original date?
15:50 shortcircuit I'll try. It'll take effect across all the feeds, though.
15:52 kpreid I understand this is not a simple problem in choosing behaviors; it's just that showing my 2010-intern post after mt 2011-intern post is, well, quite misleading
15:53 shortcircuit Mm. That didn't seem to do it. :-|
15:59 shortcircuit No wonder I can't get this working right.
15:59 shortcircuit kpreid: Your 'published' and 'updated' nodes hold the same date.
16:00 kpreid Huh?
16:00 kpreid <title>Those that leave one Googly-eyed</title>    <published>2010-03-12T03:48:19Z</published>    <updated>2011-02-12T14:28:29Z</updated>
16:03 shortcircuit http://img201.imageshack.us/img201/9602/atomfeed.png
16:04 kpreid that's the newer post
16:04 kpreid "Google again"
16:05 shortcircuit Ok, now my head really hurts. When I paste http://kpreid.livejournal.com/data/atom/?itemid=36022 into my browser, I come up with a feed with a single item dated Jan 18, 2038.
16:05 kpreid Well, don't do that then.
16:05 kpreid Where did you come up with that URL?
16:05 mwn3d_phone the year 2038 problem?
16:06 mwn3d_phone That's not supposed to come up for a lot of years
16:06 kpreid ah, I see the rel=self
16:06 kpreid that is .. weird and broken on lj's part
16:06 kpreid but it shouldn't be necessary to dereference that url
16:09 shortcircuit Ok, now I found the Googly-eyed link at the bottom of the RSS feed.
16:10 shortcircuit kpreid: I modified the planet software to completely ignore the 'updated' field, using 'published' in its place. Same result. It looks like the bug is in the template, which I don't have time to dig into and fix.
16:10 shortcircuit At least, not while I'm at work.
16:10 kpreid OK.
16:10 kpreid Same result might also be due to some index/cache?
16:10 shortcircuit Tried clearing the cache. Then tried clearing the cache when I discovered it wasn't where I thought it was.
16:12 shortcircuit Problem is, I think the template is using the same date for all feed items for a given feed, and it happened to get that from the most recent feed item.
16:12 kpreid That is highly plausible.
16:12 kpreid I think the planet groups all 'new' posts from *all* feeds in one date header.
16:12 kpreid It doesn't insert older posts in older positions.
16:18 shortcircuit It groups them per-feed, but it shows per-item dates, which is what's weird and buggy.
16:18 shortcircuit Also, the sorting, but yeah.
17:24 kpreid left #rosettacode
18:13 FireFly joined #rosettacode
18:35 kpreid joined #rosettacode
18:57 kpreid left #rosettacode
18:59 BenBE left #rosettacode
19:05 BenBE joined #rosettacode
19:05 kpreid joined #rosettacode
19:53 kpreid left #rosettacode
20:03 kpreid joined #rosettacode
20:16 shortcircuit kpreid: Re your note on adaptive programming. I was thinking of creating a "Rock Paper Scissors" game task, seeded with an example that switched strategies based on how well they perform. Sounds adaptive to me.
20:18 shortcircuit It should be pretty easy to use a markov model as a predictor for the human player's choice, and flip to and from a 'pure random' strategy when either underperforms.
20:19 shortcircuit When I mentioned this to parsleyfirefly, she suggested https://secure.wikimedia.org/wikipedia/en/wiki/Rock-paper-scissors-lizard-spock instead. Seems interesting enough. :)
20:22 kpreid shortcircuit: What note?
20:23 kpreid I recently wrote something about dynamic programming, but that is completely unrelated.
20:24 shortcircuit http://rosettacode.org/mw/index.php?title=Rosetta_Code:Village_Pump/Suggest_a_programming_task&amp;diff=101719&amp;oldid=prev
20:24 fedaykin "Rosetta Code:Village Pump/Suggest a programming task - Rosetta Code" http://rldn.net/ATa
20:24 shortcircuit My understanding of dynamic programming is that it involves algorithms which change strategy based on which strategy is deemed more effective.
20:24 kpreid No.
20:25 kpreid Dynamic programming is a type of algorithm where it fills in a table structure as it proceeds, sort of a one-off memoization.
20:25 shortcircuit Ah.
20:26 shortcircuit Yeah, I see that now. I hadn't looked at the WP article until just now.
20:26 kpreid I understand it's a valuable technique, but I've never noticed having a use for it, so I'd like to learn more.
20:26 kpreid “The word dynamic was chosen by Bellman to capture the time-varying aspect of the problems, and also because it sounded impressive. The word programming referred to the use of the method to find an optimal program, in the sense of a military schedule for training or logistics. This usage is the same as that in the phrases linear programming and mathematical programming, a synonym for optimization.”
20:28 shortcircuit I'm starting to *hate* the word 'dynamic'. It's overused to the point of being ambiguous. I'm _certain_ I've seen it used in the sense in which I interpreted your note.
20:29 kpreid In the absence of specific usages, your interpretation would be reasonable.
20:30 shortcircuit kpreid: When you say, "sort of a one-off memoization", are you talking about caching that persists between program runs?
20:30 kpreid No.
20:30 kpreid I mean that the table is discarded when the algorithm completes.
20:31 shortcircuit Ah.
20:31 kpreid For a sort-of example, the iterative definition of the Fibonacci function: it keeps a record of previous values (only the last two, though) but only produces one number for a result.
20:32 shortcircuit If I'm using the terms correctly, then, would tying memoization results to an object class instance, and then destroying that instance on completion of the algorithm qualify?
20:32 kpreid In actual dynamic programming, I understand, you can have e.g. two-dimensional tables, and N-back lookups
20:33 kpreid Maybe.
20:33 kpreid As I said, I don't really understand DP.
20:33 kpreid Having good RC tasks for me to work on would be enlightening.
20:34 kpreid BTW, it would be neat to someday have a way to take a view of RC which for each task shows only a particular set of languages.
20:36 kpreid Given the right interface and defaults, this would eliminate the negative aspects of RC including everyone's pet programming language.
20:36 shortcircuit kpreid: Largely dependent on getting the Semantic MediaWiki stuff working right. Coderjoe almost had that working for assembling task pages, and I don't know why the template didn't work.
20:39 shortcircuit kpreid: The other side to getting the SMW stuff working is learning how to get template parameters escaped properly when desired. Never getting hung up on languages like ".QL" or library names like "SomeModule::SomeSubModule" would be really nice.
20:39 shortcircuit I tried adding some basic semantic properties to [[Template:Language]], but got blocked by those issues.
20:39 fedaykin http://rosettacode.org/wiki/Template:Language
20:40 shortcircuit Or, rather, those kinds of issues.
20:41 shortcircuit kpreid: OTOH, [[User:Tyrok]] might be able to modify the language show/hide script to have your selections persist across pages and browser sessions.
20:41 fedaykin http://rosettacode.org/wiki/User:Tyrok (Doesn't exist.)
20:41 shortcircuit Hm. He didn't create a user page?
20:44 kpreid No contributions for that username. Misspelled?
20:44 shortcircuit Probably
20:46 shortcircuit Ah
20:46 shortcircuit [[User:Tyrok1]]
20:46 fedaykin http://rosettacode.org/wiki/User:Tyrok1
20:48 kpreid left #rosettacode
20:58 kpreid joined #rosettacode
21:03 dom96 left #rosettacode
21:05 dom96 joined #rosettacode
21:59 parsleyfirefly left #rosettacode
22:14 parsleyfirefly joined #rosettacode
22:26 Mathnerd314 joined #rosettacode
23:26 Mathnerd314 left #rosettacode
23:50 FireFly left #rosettacode
23:53 kpreid left #rosettacode

| Channels | #rosettacode index | Today | | Search | Google Search | Plain-Text | summary