Experimental IRC log straw-2008-01-03

Available formats: content-negotiated html turtle (see SIOC for the vocabulary)

Back to channel and daily index: content-negotiated html turtle

These logs are provided as an experiment in indexing discussions using IRCHub.py, Irc2RDF.hs, and SIOC.

06:44:04<DrFrasierCrane>tuukkah, hi. I had some ISP problems yesterday and got disconnected
07:58:58<DrFrasierCrane>[[thufir]], democratic nomination is today?!
09:30:25<DrFrasierCrane>phew.. I've just finished implementing handling dicts in sqlite storage.
09:35:56<DrFrasierCrane>although I don't like the usage:
09:36:07<DrFrasierCrane>feed.pdict["webmaster"] = ...
09:36:22<DrFrasierCrane>suggestions are welcome..
09:51:59<[[thufir]]>DrFrasierCrane: you there?
09:52:08<DrFrasierCrane>yeah
09:52:25<[[thufir]]>pardon the delay! are there primaries tonight? who won?
09:52:38<[[thufir]]>oh, you mean tomorrow I guess.
09:53:45<[[thufir]]>what's this dict thing? what does it do? what's the value offeed.pdict["webmaster"] ? an e-mail address?
09:53:50<DrFrasierCrane>I caught some news in the morning today that Obama is in the lead "before Thursday Iowa caucus"
09:53:56<DrFrasierCrane>I'm not sure how it works though
09:54:16<[[thufir]]>oh, I see. most election stuff occurs on thursday for some reason in the USA.
09:55:37<[[thufir]]>the democrats are never going to win. choices: a black man with a muslim sounding name, or a woman. the time just isn't right for a minority :(
09:56:43<DrFrasierCrane>yeah but look at the republicans - only lame-ass candidates
09:57:09<[[thufir]]>mccain was the man, but not anymore, I guess
09:57:29<DrFrasierCrane>do you really think that deomcrats don't have any chance??
09:57:38<[[thufir]]>yeh. I'm originally from the us.
09:58:35<[[thufir]]>not many americans vote, who gets elected isn't representative of americans. I'm not sure if that's unique to the usa or not...?
09:59:46<DrFrasierCrane>no.. in the last election in Poland just few months ago about 50% voted and that was a record I think
10:00:06<DrFrasierCrane>usually it's like 30-40 %
10:00:16<[[thufir]]>wow
10:00:31<DrFrasierCrane>people are fed up in general
10:00:44<[[thufir]]>in iraq, what was it, like almost everyone voted! heh, in a few years they'll learn to be like the rest of us ;)
10:01:05<DrFrasierCrane>yeah, once true "democracy" rules kick in..
10:01:13<[[thufir]]>ROFL
10:01:39<[[thufir]]>in poland, did 99% vote in the first elections, then 80%, decreasing? or what?
10:01:39<DrFrasierCrane>hmm well I'm intruged by what you said about the elections
10:01:52<[[thufir]]>oh, it's just my opinion
10:03:13<DrFrasierCrane>in 1989-1991 when communism fell and first free elections took place, it started at 60% I think
10:03:47<[[thufir]]>nice steady decline, until one old guy who bothers to vote determines the whole thing
10:04:09<DrFrasierCrane>it wasn't just like in Iraq you know, I mean the transition is much more subtle.. there are still people from the old "regime" in our politics today
10:04:16<DrFrasierCrane>I guess we just have to wait until they all die :)
10:04:55<[[thufir]]>I can't relate at all, it's just the history channel to me -- not real.
10:05:04<DrFrasierCrane>that's why people don't have faith in elections, although now it's *much* better than say 10 years ago
10:05:31<[[thufir]]>oh, that's good to hear! you're in the EU now, right?
10:05:41<DrFrasierCrane>yeah
10:06:25<[[thufir]]>do you have racial problems, or is everyone polish? or are there old tribal things?
10:07:34<[[thufir]]>I gotta get some sleep, good night :)
10:07:42<DrFrasierCrane>well we don't have racial problems on the large scale.. yet
10:08:04<[[thufir]]>immigrants?
10:08:04<DrFrasierCrane>not too many major minorities :)
10:08:14<[[thufir]]>I see. ok, good night :)
10:08:19<DrFrasierCrane>but it'll kick in for sure..
10:08:22<DrFrasierCrane>bye
10:18:32<DrFrasierCrane>ACTION is eager to put his sticky fingers on Bugzilla! :-)
10:18:58<DrFrasierCrane>ACTION should also be working now instead of developing Straw, but who cares :D
10:31:19<tuukkah>DrFrasierCrane, did you see the start of the requirements in the wiki?
10:31:48<DrFrasierCrane>I'll take a look
10:32:44<DrFrasierCrane>good start indeed
10:41:16<tuukkah>does it remind you of anything that's missing?
10:41:57<DrFrasierCrane>tests, translations, feature parity? :)
10:43:04<tuukkah>i mean, something that's missing from the list ?-)
10:45:19<DrFrasierCrane>I would list more detail tests like testing with some feed suite, testing discovery feature, testing platform compliance as for example HIG compliance in the UI
10:47:23<DrFrasierCrane>do you also plan to write release requirement for the specific (upcoming) release?
10:49:12<tuukkah>the tests are good items to list, would you want to add them to the doc?
10:49:36<tuukkah>yes, i suppose we need release-specific requirements too
11:11:43<DrFrasierCrane>which docs?
11:12:03<tuukkah>http://live.gnome.org/Straw/ReleaseRequirements
11:12:50<tuukkah>i'm still thinking how to do the release-specific ones
11:13:47<tuukkah>would it be motivating to update the 0.28 roadmap to discuss how it meets and fails to meet the generic requirements?
11:14:00<DrFrasierCrane>yeah listing tests would be nice although it's more like a TODO item I guess
11:16:11<DrFrasierCrane>yes I think it would be good, but I wonder if setting goals feature-wise is also a requirement of some sort
11:18:05<tuukkah>exactly. would it be "feature-wise" if we consider each item in the current roadmap?
11:19:13<DrFrasierCrane>this has spread to TODO, too I think
11:19:48<tuukkah>right. so a first step would be to bring roadmap up to date
11:20:40<tuukkah>it should list each "subproject/task/feature" we've worked on since the last release
11:20:47<DrFrasierCrane>and that's why I would love to maintain all this in bugzilla - then we get stuff like Roadmaps for releases for free
11:21:06<tuukkah>then we can check whether it's been for good or bad
11:22:15<tuukkah>is this getting too bureaucratic if bugzilla starts to look like a viable option =)
11:24:02<DrFrasierCrane>well I don't have big experience in projects and stuff but I really become a fan of issue/project tracking systems for the last few months..
11:24:37<DrFrasierCrane>but we would have to make a decision that we replace TODO file and part of the wiki with bugzilla
11:24:55<DrFrasierCrane>only then it makes sense, otherwise it'll still spread across different places
11:25:17<DrFrasierCrane>http://bugzilla.gnome.org/show_bug.cgi?id=506945
11:25:22<DrFrasierCrane>first bug of 2008? :-)
11:26:37<tuukkah>hm not a very useful report is it :-/
11:27:11<tuukkah>doesn't include straw version number, reproduction instructions...
11:27:56<DrFrasierCrane>yeah.. let's see what's with weather.com ..
11:28:32<DrFrasierCrane>discovery found 2 feeds, both update just fine hmm
11:29:07<DrFrasierCrane>""/usr/bin/straw": not in executable format: File format not recognized"
11:29:11<DrFrasierCrane>?
11:29:57<tuukkah>that must be bugbuddy trying to handle straw as a binary
11:31:36<tuukkah>using bugzilla for release management would require a lot of web form clicking
11:34:08<DrFrasierCrane>yeah but then monitoring progress, changelogs etc. is practically effortless
11:34:27<DrFrasierCrane>so yeah, it's a trade
11:36:50<DrFrasierCrane>just something to think about, for now I think we should at least clean up existing contents in Bugzilla
11:37:33<tuukkah>perhaps :-)
11:38:47<DrFrasierCrane>one idea would be to create a "meta-bug" for feeds that people have problems with
11:40:16<tuukkah>do you mean a bug that depends on the individual reports?
11:41:11<DrFrasierCrane>yes something like that, or mark all reports as duplicates and link from a website/wiki to the metabug as a place where people should post urls
11:41:21<DrFrasierCrane>btw I have a feature to discuss now
11:42:35<DrFrasierCrane>certain settings can be overridden on per-feed basis, like update frequency. I wonder if we want only two "levels" here - I mean only feed-level settings and application-level settings, or maybe introduce parent-category-level too? something like settings inheritance :)
11:42:47<DrFrasierCrane>but I'm not sure about usability..
11:43:49<tuukkah>i see
11:44:24<tuukkah>perhaps we don't need to implement that
11:46:40<DrFrasierCrane>it can be useful though, I remember that in Omea you can mark whole subtree as "paused" - then the feeds from that subtree are not being updated.. I always used it when snooker season ended and there was no snooker related news :) it was cool..
11:52:32<tuukkah>for that i can imagine a usable interface
12:03:51<DrFrasierCrane>btw speaking of bug reports...
12:06:44<DrFrasierCrane>I think tweaking log facility is a high priority task, especially now that there are so many changes.. I'm not sure if we need whole hierarchy of loggers, but it may be useful to turn on debugging in a specifing subsystem..
12:13:15<tuukkah>dunno
12:16:01<tuukkah>i mean, that would be useful but need a lot of changes
12:17:47<tuukkah>at least hierarchy of loggers is easier than a hierarchy of settings wrt usability :-)
12:19:20<DrFrasierCrane>;)
13:03:37<loci_>Hi! Can anybody tell me how feed entry ids are generated?
13:04:11<loci_>I have a feed, which doesn't change, but still straw thinks there are new entries and highlits them.
13:04:54<loci_>It looks that the reason is because there id got changed.
13:05:29<loci_>I mean straw generates (increments) the id.
13:08:13<loci_>Anybody there?
13:13:56<tuukkah>hi loci_
13:14:39<tuukkah>do you think this is a bug in straw or in the feed?
13:18:08<loci_>tuukkah: That's what I'd like to figure out.
13:18:31<tuukkah>can you give the uri of the feed?
13:18:46<loci_>Sure.1 sec.
13:19:08<loci_>http://index.hu/x?t=/24ora/rss/
13:19:32<loci_>I'm using straw 0.27
13:21:06<loci_>What I did: 1 mardked feed as reed, wget the rss xml, wait until straw refreshed and showed new feeds, wget the xml again and compare to the previous xml. They were the same.
13:23:00<loci_>Currently the idseq for the feed is around 8945, while for others (like slashdot) is 166 although I subscribed at the same time.
13:24:01<tuukkah>testing quickly this doesn't seem to happen in the latest development version
13:25:12<loci_>Ok, than I'll just wait, or compile straw by hand. Anyways, could you tell me how news items are compared? I could't find it in the code.
13:25:34<tuukkah>i don't know
13:25:42<loci_>I mean how you find out if an item in the xml is the same like the one previously donwloaded.
13:25:48<loci_>:) Ah ok.
13:26:09<loci_>I though you're one of the developers.
13:26:19<tuukkah>i am =)
13:26:28<loci_>Ooopps ;)
13:27:04<loci_>Anyways, thanks for your help. I'll check the latest version and get back if that still produces me this error.
13:27:25<tuukkah>do you know how to use git?
13:27:46<tuukkah>(to get the development version)
13:29:24<loci_>no, i just used cvs and svn so far. But at first I'll check ubuntu's devel packages because that's faster to get ready, thanwill I check out the source.
13:30:16<tuukkah>we use feedparser.py, and it doesn't seem to return an id for entries in this feed
13:31:13<loci_>my package doesn't have feedparser.py so there have been major changes I assume.
13:31:49<tuukkah>has to have...
13:31:56<loci_>If you can tell me why, I'll write a letter to the portal to correct heir feed generator.
13:32:19<loci_>there's only a feedfinder.py
13:32:40<loci_>SummaryParser.py?
13:32:47<tuukkah>that's different
13:33:39<tuukkah>i have the 0.27 source here and it has src/lib/feedparser.py
13:35:53<tuukkah>hmm, the latest ubuntu package depends on python-feedparser
13:36:31<loci_>Can I paste here the filelist of my package?
13:36:41<tuukkah>doesn't matter
13:36:46<loci_>Ah..
13:36:48<loci_>loci@alnitak:/usr/lib/straw/straw$ dpkg -l straw
13:36:48<loci_>Desired=Unknown/Install/Remove/Purge/Hold
13:36:48<loci_>| Status=Not/Installed/Config-f/Unpacked/Failed-cfg/Half-inst/t-aWait/T-pend
13:36:48<loci_>|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
13:36:48<loci_>||/ Name Version Description
13:36:49<loci_>+++-=================================-=================================-==================================================================================
13:36:52<loci_>ii straw 0.27-0.1ubuntu1 desktop news aggregator for GNOME
13:36:54<loci_>loci@alnitak:/usr/lib/straw/straw$ dpkg -L straw
13:37:00<tuukkah>can you check the package python-feedparser?
13:37:13<loci_>yep.
13:37:40<loci_>4.1-7
13:38:13<tuukkah>and it comes with feedparser.py
13:39:43<loci_>yepp. As I see I can try feedparserto parse the url.
13:41:33<tuukkah>see also http://feedvalidator.org/check.cgi?url=http%3A%2F%2Findex.hu%2Fx%3Ft%3D%2F24ora%2Frss%2F
13:42:15<loci_>I check feedparser.py and forthe feed it doesn;t show any id...
13:44:35<loci_>Well, the page sais it's a valid xml, so staw should work I assume.
13:44:50<tuukkah>valid rss even :-)
13:44:50<loci_> mean valid rss feed.
13:44:57<loci_>:)
13:45:28<tuukkah>yeah, it just "should" contain a guid for each item
13:46:05<loci_>Oh, so the guid is the attrib the Id is generated of?
13:46:35<tuukkah>most probably
13:47:34<tuukkah>yes, feedparser maps "guid" to "id"
13:48:01<tuukkah>of course straw could do better, and perhaps we have changed that since 0.27
13:49:13<loci_>Well, I'll write the guys anyways.
13:49:46<loci_>Thanks for your help I'm getting back to work (coffee) now :)
13:49:53<tuukkah>probably they can duplicate the <link> as <guid>
13:50:17<tuukkah>loci_, no problem :-)
13:51:31<loci_>Thanks for everyboy's work on the project!
13:51:31<loci_>everyboy=everybody
13:51:51<loci_>Yep. Have a nice year!
13:52:01<tuukkah>we're working hard on 0.28 :-)
13:52:23<loci_>I'll check it out. :)
13:52:46<tuukkah>and all feedback is welcome
15:20:10<DrFrasierCrane>that issue reminds me that feed_item_exists still uses only feed_id and title ;-)
15:20:22<DrFrasierCrane>it works surprisingly well though :)
15:40:36<DrFrasierCrane>tuukkah, are you there?
15:44:48<DrFrasierCrane> // <!CDATA[
15:44:54<DrFrasierCrane>viva la quirks!
15:45:04<DrFrasierCrane>sgmllib.SGMLParser chokes again
15:45:14<DrFrasierCrane>http://jdocs.com
15:46:17<tuukkah>i'm having a lunch break :-)
15:49:44<DrFrasierCrane>ah sure :)
15:50:04<DrFrasierCrane>this is the second time that feedfinder hanged on me
15:50:56<DrFrasierCrane>before it was at nytimes.com I believe
15:55:06<tuukkah>ok
15:56:46<DrFrasierCrane>just thinking out loud :)
15:57:12<tuukkah>i think feed_item_exists should read something else
15:57:29<DrFrasierCrane>definitely
15:57:39<tuukkah>something non-sql ;-)
15:58:36<DrFrasierCrane>any suggestions?
15:59:21<tuukkah>.NET has this cool feature that query expressions in a programming language can be turned into sql queries =)
15:59:34<DrFrasierCrane>ewww
16:00:05<tuukkah>what's not to like in that?
16:00:14<DrFrasierCrane>.NET :)
16:00:37<DrFrasierCrane>btw maybe we should calculate md5/sha of feed item contents :)
16:00:50<DrFrasierCrane>and look it up in existing ones
16:01:05<tuukkah>=) result = self.dao.get(Item, lambda i:i.feed_id == item.feed_id and i.title = item.title)
16:01:41<tuukkah>==
16:01:44<DrFrasierCrane>don't make me implement that please :)
16:01:54<DrFrasierCrane>pdicts were a horror
16:02:08<tuukkah>that could be a nice exercise for your automata course =)
16:02:39<DrFrasierCrane>hehe yeah. I have plenty of untouched exercises left, though :)
16:03:41<tuukkah>ok you're safe since i think it would be quite impossible to implement in python
16:04:20<tuukkah>although operator overloading can be used for unbelievable hacks at least in c++...
16:04:42<tuukkah>but, more seriously
16:05:42<DrFrasierCrane>speaking of operator overloading, I got plesantly surprised the other day when I discovered the semantics of str * int in python
16:05:42<tuukkah>the current code is completely wrong. what did we have before?
16:06:12<tuukkah>(i hate operator overloading like that =)
16:06:43<DrFrasierCrane>it's fun
16:06:45<tuukkah>(i'm been educated against str + str too)
16:07:46<DrFrasierCrane>as for the code - I put that there about 2 months ago when I was starting to test the GUI integration with the new backend, I knew it was wrong then, but had other things to take care of
16:08:06<DrFrasierCrane>previously - hmm, we would need to check in itemstore.py or feeds.py I think
16:08:15<DrFrasierCrane>I'll do that later, now I'm fighting with feedfinder
16:09:37<tuukkah>it's a bit dangerous that there is no FIXME comment there
16:10:00<DrFrasierCrane>it's been in my head all this time, don't worry :)
16:10:02<tuukkah>i suppose we need to do a full code review
16:11:15<tuukkah>but yes, we can calculate a hash of the content
16:12:01<DrFrasierCrane>although that's not enough, I have feeds in my collection whose items never have any content
16:12:06<DrFrasierCrane>so they're only links
16:12:36<DrFrasierCrane>we would need to throw in title+date maybe hmm..
16:12:48<DrFrasierCrane>or use guid if possible?
16:13:12<tuukkah>definitely use guid and only guid, whenever available
16:13:38<DrFrasierCrane>ok
16:16:20<tuukkah>sorry, what about jdocs.com?
16:16:40<DrFrasierCrane>put "http://jdocs.com" in the discovery
16:17:33<tuukkah>are you suggesting that i *execute* our source code?-)
16:17:36<DrFrasierCrane>it turned out they overrode SGMLParser's (or some deeper base class) error() method and did nothing
16:18:02<DrFrasierCrane>while base impl throws SGMLParseError
16:18:15<DrFrasierCrane>whereas feedfinder went into endless loop
16:18:19<DrFrasierCrane>execute?
16:18:57<tuukkah>yeah, are you expecting me to install python?-)
16:19:25<DrFrasierCrane>hmm?
16:19:29<DrFrasierCrane>I'm not sure I get that
16:19:44<DrFrasierCrane>don't you have Python?
16:20:14<tuukkah>this far i've only studied the code, trying check that there are no horrible bugs that make my computer send spam
16:20:52<tuukkah>ok, bad joke
16:20:55<DrFrasierCrane>..or maybe I'm a Chinese hacker that tries to hijack the project and make a botnet out of users :)
16:21:38<tuukkah>is jdocs.com supposed to have a feed?
16:21:39<DrFrasierCrane>http://www.nytimes.com/rss tops my list in terms of the amount of feeds discovered! plus it motivated me to actually add "Found %d feeds"
16:21:51<DrFrasierCrane>not really, but the parser hangs nevertheless
16:22:17<tuukkah>should be reported upstream i suppose
16:22:17<DrFrasierCrane>I've already sent them e-mail about the syntax error
16:22:38<tuukkah>"them" being who?
16:23:04<DrFrasierCrane>jdocs :) parsing error is cool - it was mishandled by feedfinder (see what I wrote above)
16:23:26<DrFrasierCrane>now it throws exception as documentation says
16:23:34<DrFrasierCrane>and I catch it, end of story
16:23:59<tuukkah>"now" being after you did what?
16:24:38<DrFrasierCrane>yes, I removed overridden error()
16:25:07<tuukkah>if that was in feedfinder.py, it has an upstream who should know about this too
16:25:46<DrFrasierCrane>well.. feedfinder has been massacred all over the place by me already, I don't think they want to see this :)
16:26:00<DrFrasierCrane>but now it doesn't suck :)
16:26:51<tuukkah>btw did you notice debian and ubuntu have removed our version of feedparser? i wonder if they do the same with feedfinder
16:28:17<DrFrasierCrane>there's barely anything left from the old codebase anyway, I haven't had the time to figure out this licence mumbo jumbo
16:28:28<DrFrasierCrane>we may as well move it to Straw directly
16:28:47<tuukkah>fork you mean
16:29:06<DrFrasierCrane>possiblhy.. from what I understand, Debian has problem with this:
16:29:18<DrFrasierCrane>__license__ = "Python"
16:29:48<DrFrasierCrane>hmm but wait
16:29:54<DrFrasierCrane>feedparser contains proper license info
16:30:07<DrFrasierCrane>at least version 4.1
16:30:32<tuukkah>now i got a background thread that was consuming 100% CPU all the time
16:30:56<tuukkah>yes, feedparser upstream is now packaged in debian
16:31:26<DrFrasierCrane>I guess it doesn't matter, we don't need any modifications to feedparser so we can use their version
16:31:41<DrFrasierCrane>this thread was spawned during discovery or something else?
16:31:59<tuukkah>during discovery probably
16:32:23<DrFrasierCrane>ok then it's fixed.. btw I have a questrion for you
16:32:35<tuukkah>is fixed?
16:32:49<DrFrasierCrane>yeah I'll pushed it in a minute
16:33:03<DrFrasierCrane>how does the translation process look? I mean for example for glade files
16:33:10<DrFrasierCrane>how do they do it..
16:33:21<DrFrasierCrane>also for hardcoded strings - I saw _ being used or something?
16:33:47<tuukkah>_ is typically used to mark translatable strings
16:34:16<DrFrasierCrane>I see..
16:34:17<tuukkah>runtime, _ is a function of gettext that fetches the correct translation
16:34:30<DrFrasierCrane>nice
16:35:04<tuukkah>gettext has tools for getting the translatable strings from the source into a translation template file (.pot)
16:35:24<DrFrasierCrane>that reminds me...
16:35:39<tuukkah>based on that, the translators create translations (.po)
16:35:42<DrFrasierCrane>http://bugzilla.gnome.org/show_bug.cgi?id=501029
16:35:45<DrFrasierCrane>does that apply?
16:37:51<tuukkah>probably
16:40:03<DrFrasierCrane>cool
16:40:23<tuukkah>cool?
16:40:55<DrFrasierCrane>that we'll be able to fix it :)
16:41:28<tuukkah>let's hope it'll be easy
16:44:07<DrFrasierCrane>http://intertwingly.net/wiki/pie/TitleConformanceTests
16:44:37<DrFrasierCrane>more goodies! http://intertwingly.net/wiki/pie/CategoryConformanceTests
16:44:43<DrFrasierCrane>maybe we should put that in the wiki
16:44:53<DrFrasierCrane>the other one too.. from diveintopython.org or something
16:45:02<DrFrasierCrane>the ATOM discovery thing
16:47:23<tuukkah>this is the same wiki as last time :-)
16:47:53<tuukkah>the links to those are from this page: http://intertwingly.net/wiki/pie/ConformanceTests
16:48:29<DrFrasierCrane>ah right now I see
16:51:28<tuukkah>about the threading patch last night, it was quite short and still i'm worried it's not good
16:52:37<DrFrasierCrane>at this point only GUI subscribes to FeedManager
16:53:05<tuukkah>i think changing how emit works is not right since some calls to emit may require the normal behaviour
16:54:15<DrFrasierCrane>unless we say it explicitly - FeedManager's signals are only meant to be used by GUI
16:54:54<DrFrasierCrane>I'm worried about something else though..
16:55:09<DrFrasierCrane>let me just finish some stuff
16:58:39<tuukkah>why not call it schedule_emit and put it in MainloopManager like schedule is
17:00:29<tuukkah>implementation of schedule reminds me of a problem in that version of emit. you can
17:00:48<tuukkah>you can't idle_add GObject.emit directly
17:01:11<DrFrasierCrane>95 feeds discovered at nytimes.com/rss :)
17:01:25<DrFrasierCrane>hmm
17:01:33<tuukkah>because the return value of emit doesn't mean what the return value of an idle handler means
17:02:30<tuukkah>or is that something you already discovered since you said you fixed the 100% CPU use ?-)
17:03:09<DrFrasierCrane>no 100% CPU was unrelated to emit, unless you had some other issue than the parsing in discovery one
17:03:13<DrFrasierCrane>about emit..
17:03:42<tuukkah>see, as long as an idle handler returns a true value, it's called again
17:05:21<DrFrasierCrane>yeah but it doesn't look like it.
17:05:41<DrFrasierCrane>how can we monitor handlers?
17:05:49<tuukkah>what doesn't look like what?
17:05:51<DrFrasierCrane>to see what are the registered ones?
17:06:05<tuukkah>i don't know of any way
17:06:28<DrFrasierCrane>it doesn't look like FeedManager's emits are called over and over - if they were, then it would choke pretty soon
17:07:06<tuukkah>i'm not saying they are called. but they *might* be in some cases
17:08:04<DrFrasierCrane>yeah I see your point, I'll take alook at it after I eat something
17:08:30<DrFrasierCrane>is a a bad practice to put %d in glade strings?
17:09:33<tuukkah>i don't know anything about glade :-)
17:09:57<DrFrasierCrane>I mean in gtk Label's label text
17:10:04<DrFrasierCrane>"found %d news sources"
17:10:05<tuukkah>but for translations, the %d needs to be there since the word order of expressions varies between languages
17:10:57<tuukkah>it's even possible to make the translation have "found 1 news source"
17:11:27<DrFrasierCrane>in such cases I always do "number of news sources: %d" :D
17:16:14<tuukkah>in which cases?
17:16:23<DrFrasierCrane>ok another spam package is in the repo
17:17:02<DrFrasierCrane>in case I have to display some number
17:17:23<DrFrasierCrane>either that or I go with "found %d news source(s)" :)
17:17:31<tuukkah>so "found %d news sources" was an unrealistic example ;-)
17:18:16<DrFrasierCrane>btw I wonder if we want to provide "skip discovery" option
17:18:39<DrFrasierCrane>http://www.theregister.co.uk/2008/01/02/xp_service_pack/
17:18:42<DrFrasierCrane>that is sweet
17:19:41<tuukkah>indeed
17:27:06<tuukkah>hi kallepersson
17:27:20<kallepersson>hi!
17:30:36<tuukkah>DrFrasierCrane, pdicts seem to have been some pain indeed. is _get_pdict_table implementation some kind of an idiom or what does it do?
17:32:33<DrFrasierCrane>kallepersson, hello
17:33:32<DrFrasierCrane>tuukkah, it has to respect inheritance that is already implemented in ORM, so it checks base class first for pdict_table property
17:33:57<DrFrasierCrane>it's quite lame, but my agenda for ORM is do only what we actually need
17:34:31<DrFrasierCrane>kallepersson, have you tried to download latest snapshot from git and run "scripts/straw-local"?
17:34:42<tuukkah>DrFrasierCrane, read the logs :-)
17:34:48<DrFrasierCrane>ok
17:35:40<DrFrasierCrane>cool
17:36:05<DrFrasierCrane>hmm about update speed..
17:36:25<DrFrasierCrane>janm also pointed this out, although I don't mind it/don't see the difference
17:36:49<DrFrasierCrane>we could do some head-to-head comparison with Liferea etc.
17:37:11<DrFrasierCrane>because now we have 5 threads doing the downloads and that's without images and so on so I would expect it to be rather quick
17:37:48<DrFrasierCrane>kallepersson, what do you think about "read/unread" toolbar button, is that something you had in mind in your suggestions screencast?
17:37:53<tuukkah>well NetworkConstants says we do 40 downloads parallel =)
17:38:35<DrFrasierCrane>this could be applied to generic "download" job we talked about yesterday
17:39:00<DrFrasierCrane>40 threads is out of the question - sqlite will not handle hammering from 40 threads concurrently for several minutes...
17:39:15<DrFrasierCrane>so I guess we better start to think about serializing access to the database
17:39:27<DrFrasierCrane>maybe specialized pool of 2-3 monkeys that update the db
17:40:23<DrFrasierCrane>or.. we do more agressive approach - implement "repeat save until succeeded"
17:40:55<kallepersson>DrFrasierCrane: Yes, I think I mentioned it in my screencast - and I like it
17:41:07<kallepersson>However it needs a new icon, so I'll have to fix that for us :-)
17:41:18<kallepersson>But first I really should finish the straw icon itself.
17:41:33<DrFrasierCrane>yeah.. I couldn't find better match in the stock
17:42:27<kallepersson>I figured
17:42:39<kallepersson>The new straw is really good.
17:45:04<DrFrasierCrane>note that it's in its very early stages though..
17:45:23<DrFrasierCrane>oh I have a question for you
17:45:34<kallepersson> Hit me
17:45:35<kallepersson>:-)
17:46:09<DrFrasierCrane>what do you think about using emblems (small icons within icons) for showing feed status (error/new items arrived etc)
17:46:46<DrFrasierCrane>also keep in mind that we want to impleemnt favicons support so it might be tricky to integrate it with arbitrary images..
17:47:31<kallepersson>Hmm
17:47:33<kallepersson>interesting
17:48:20<tuukkah>instead of emblems, perhaps applying filters could work better
17:48:24<DrFrasierCrane>do you know what I mean? like small status icons in the corner of feed icons :)
17:48:39<DrFrasierCrane>filters?
17:48:59<DrFrasierCrane>on the feed list?
17:49:05<tuukkah>blur the favicon or color it reddish
17:49:18<DrFrasierCrane>ahh..
17:49:29<DrFrasierCrane>that's the question for an artist I guess :)
17:50:02<DrFrasierCrane>although Eclipse uses similar concept in its Project Explorer etc. trees and it looks good even on small icons
17:50:19<DrFrasierCrane>I mean they have this small exclamation point when there's a warning etc.
17:50:47<DrFrasierCrane>and it's nicely propagated up the tree too so you see that some category have "sick" children for example
17:50:55<DrFrasierCrane>that could work for us too don't you think?
17:51:23<tuukkah>ask the artist, yes :-)
17:52:03<tuukkah>i'll make my favicons include some great emblem by default =)
17:52:34<DrFrasierCrane>I can provide a screenshot from Eclipse because it is exactly as I would like it to be in Straw
17:52:45<kallepersson>Sounds nice
17:54:30<tuukkah>we can also analyse the favicons, for example choose a light or dark emblem to match the favicon
17:55:17<kallepersson>Hmm
17:55:23<DrFrasierCrane>http://ppawel.fastmail.fm/eclipse-emblems.png
17:55:28<kallepersson>sounds like unnecesary computing to me to be honest
17:55:40<tuukkah>kallepersson, even better :-)
17:55:48<kallepersson>um, yeah.
17:55:54<kallepersson>:-)
17:56:02<DrFrasierCrane>(tree view on the left)
17:56:09<DrFrasierCrane>note the small red crosses
17:56:12<tuukkah>kallepersson, i mean, then we don't have to do it :-)
17:56:29<kallepersson>ah
17:57:30<DrFrasierCrane>Eclipse has simple icons in the tree view though, I wonder how would it look like when some feed had a red icon..
17:57:47<DrFrasierCrane>maybe we can do some color probing and modify the emblem :D
17:58:05<kallepersson>I'll have to dissagree
17:58:21<DrFrasierCrane>yes?
17:58:50<kallepersson>It would be pretty "neat", but it's not in line with the HIG at all
17:59:03<kallepersson>And it also differs from other GNOME apps, and we wouldn't want that.
17:59:24<DrFrasierCrane>you mean the emblems in general?
17:59:39<kallepersson>Yes, especially colour-specficic ones
18:00:29<DrFrasierCrane>that was just a crazy thought :)
18:00:34<kallepersson>:-)
18:00:45<tuukkah>we have plenty
18:00:50<kallepersson>Let me do a mockup
18:00:54<DrFrasierCrane>sure
18:01:30<DrFrasierCrane>the main feature I would like to squeeze in here is the propagation of the status
18:01:45<DrFrasierCrane>that you can see at the top level that there's something wrong deep in the tree
18:02:05<DrFrasierCrane>(or maybe I'm just too used to Eclipse :)
18:02:28<kallepersson>Oh
18:07:56<DrFrasierCrane>we love mock-ups though! :)
18:09:05<kallepersson>I'm thinking about states.
18:09:15<DrFrasierCrane>ok
18:16:15<DrFrasierCrane>tuukkah, as for the emit problem..
18:17:11<DrFrasierCrane>tuukkah, you should also note that things like feed.props.unread_count += 1 causes emission of the "notify" signal for that property
18:18:05<DrFrasierCrane>see http://live.gnome.org/PyGTK/WhatsNew28 for reference
18:19:48<kallepersson>uploading
18:21:28<tuukkah>DrFrasierCrane, what can i say? threads are a mess :-)
18:22:02<DrFrasierCrane>pessimist :P
18:23:46<kallepersson>http://nemus.se/straw/feedlist-mockup.png
18:24:40<DrFrasierCrane>ah so you want to replace the icon
18:24:46<DrFrasierCrane>that'll do I guess
18:24:51<kallepersson>Yeah, I think so
18:25:05<kallepersson>The "page" could be a favicon, with a fallback icon
18:25:35<DrFrasierCrane>yes
18:25:45<DrFrasierCrane>but one more thing
18:25:51<kallepersson>Sire
18:25:52<kallepersson>sure
18:26:28<DrFrasierCrane>I would like to differentiate between a feed that has unread items and a feed that *got new items in the last update* so that after update is finished you can clearly see what's actually new
18:29:02<kallepersson>Ah, I see.
18:29:54<kallepersson>On the other hand, most users want Straw to update every $n minutes so "news that are 10 minutes old" and "news that are 3 hrs old", are the same.
18:30:24<DrFrasierCrane>indeed..
18:31:09<kallepersson>So "New" and "New and Hot", are the same.
18:32:32<DrFrasierCrane>my point here is that I often lose track of which items are new after the update when I don't read a feed for few days and I have to look at dates - I mean newly arrived items are mixed with old unread items
18:35:06<kallepersson>I see
18:35:17<DrFrasierCrane>but we can skip that for now I guess..
18:35:19<kallepersson>Can't we try to keep new stuff at the top then?
18:35:46<DrFrasierCrane>yes but there are two types of "new" stuff as I described above :)
18:36:08<DrFrasierCrane>unread and newly arrived from an update
18:36:30<kallepersson>Yeah, I agree.
18:36:31<kallepersson>Hmm.
18:46:51<DrFrasierCrane>we can put it in TODO unless you have some idea on how to incorporate in the GUI now
18:47:07<kallepersson>I'll have to think about it :-=
18:47:09<kallepersson>:)
18:47:30<DrFrasierCrane>sure
18:49:49<DrFrasierCrane>if you have any other suggestions/ideas, coming 2-3 weeks is the time to present them, we aim for release in 2 months tops
18:50:00<DrFrasierCrane>so it'll be harder and harder with time to change stuff
18:50:21<kallepersson>Cool
18:50:27<kallepersson>I'm pleased with the current UI
18:50:51<DrFrasierCrane>that's a surprise :)
18:51:03<DrFrasierCrane>since I just started working on applying HIG to dialog windows :)
18:51:13<DrFrasierCrane>Preferences are hideous at this point
18:52:03<DrFrasierCrane>also if you want, you can think about how to tweak tray icon, what options to put there etc.. so that we can implement it without thinking about it too much when we get to it
18:53:21<kallepersson>Yeah, sounds great.
18:53:28<kallepersson>I'll get back to you
18:53:29<kallepersson>brb
18:53:37<DrFrasierCrane>no need to hurry :)
19:47:39<DrFrasierCrane>tuukkah, btw whole httplib2 is contained in __init__.py
19:47:45<DrFrasierCrane>why do you think it's a bad practice?
19:47:56<DrFrasierCrane>because __init__.py is run on every import?
19:49:48<tuukkah>this seems to be a style that some like and some dislike
19:50:20<tuukkah>__init__.py is a name that doesn't tell anything, so it hides code
19:51:02<tuukkah>also, you can't import a submodule without importing the containing package
19:51:20<DrFrasierCrane>oh
19:52:26<tuukkah>if httplib2 is all in httplib/__init__.py, why isn't it all in httplib.py?
19:53:32<tuukkah>i hear python 3000 is going to change some on the module system
19:53:37<DrFrasierCrane>what do you mean?
19:53:45<DrFrasierCrane>by httplib.py?
19:55:06<tuukkah>i mean mv httplib/__init__.py httplib.py && rmdir httplib
19:57:01<DrFrasierCrane>it is packaged in __init__.py
19:57:16<tuukkah>i know, i'm just asking why
19:57:58<DrFrasierCrane>I mean when you download a tarball from http://httplib2.googlecode.com/files/httplib2-0.4.0.tar.gz it is already packaged like this
19:58:08<DrFrasierCrane>why - that would be a question to the devs I think
19:58:45<tuukkah>if we want to bother them with unimportant questions such as this ;-)
19:59:27<DrFrasierCrane>I think I'll rename feed-properties.glade to node-properties.glade and put categoryu properties dialog there too
19:59:42<DrFrasierCrane>would that require changing something in makefiles?
20:00:01<tuukkah>let's grep
20:00:35<tuukkah>the answer is yes
20:01:15<tuukkah>./data/Makefile.am mentions it
20:01:37<tuukkah>nothing more
20:03:15<DrFrasierCrane>ok thanks
20:24:21<DrFrasierCrane>it's in
20:25:19<tuukkah>you deleted the file instead of renaming?
20:26:03<DrFrasierCrane>ah damn I renamed it in Eclipse!
20:26:35<DrFrasierCrane>and forgot to commit node-properties too :)
20:26:40<DrFrasierCrane>what a mess
20:27:41<tuukkah>typical of version control systems that don't make you check the diff :-)
20:29:25<tuukkah>now that we have the pdict, why don't we store all properties there?
20:30:47<DrFrasierCrane>hmm
20:31:00<tuukkah>doesn't seem nice to have to check if hasattr(self._feed, key)
20:32:37<tuukkah>another thing, this expression is redundant: value and len(value) > 0
20:33:05<DrFrasierCrane>for feeds we can probably do that (move to pdict), but for items we should be very careful, because doing some SQL query magic later and having to use pdict may effect in poor performance
20:33:40<DrFrasierCrane>>>> len(None)
20:33:40<DrFrasierCrane>Traceback (most recent call last):
20:33:40<DrFrasierCrane> File "<stdin>", line 1, in <module>
20:33:40<DrFrasierCrane>TypeError: object of type 'NoneType' has no len()
20:33:40<DrFrasierCrane>>>>
20:34:09<tuukkah>yeah, the left side of the expression works better :-)
20:34:10<DrFrasierCrane>maybe I can changed default value to "" though
20:34:41<tuukkah>(i mean, just say "if value: ..."
20:34:43<tuukkah>)
20:35:11<DrFrasierCrane>hmm ok
20:35:49<DrFrasierCrane>but what about this renaming mess I created?
20:35:56<DrFrasierCrane>how to do it so that we don't lose the history
20:36:26<tuukkah>i suppose there's no way
20:37:11<tuukkah>i think i've read git has poor support for renames anyway
20:38:04<DrFrasierCrane>so should I just commit node-properties and forget about it?
20:38:50<tuukkah>that's what i would do, but there's a chance there's something better
20:39:05<DrFrasierCrane>I'll go to #git now :)
20:44:47<tuukkah>tell me what you learn :-)
20:46:38<DrFrasierCrane> DrFrasierCrane: sounds like you should read man git-tag "On Re-Tagging" and apply that discussion here ;)
20:46:46<DrFrasierCrane>indeed
20:47:19<tuukkah>what ?-o
20:47:48<DrFrasierCrane>see that section in man
20:48:07<DrFrasierCrane>DrFrasierCrane: basically, because git history is cryptographically safe against tampering, even you can't tamper with it ;)
20:48:10<DrFrasierCrane>hehe yeah
20:48:16<tuukkah>i must have an older version as there's no such section
20:48:51<DrFrasierCrane>git version 1.5.3.7 I've got that section
20:48:53<tuukkah>perhaps you want to read this more optimistic faq entry too: http://git.or.cz/gitwiki/GitFaq#head-f7dc61b87eab4db58fe90ce48cc1d47fd50e6bea
20:49:06<tuukkah>git version 1.4.4.4
20:50:03<DrFrasierCrane>ah joys of Debian :D
20:50:31<DrFrasierCrane>ok so I'll just commit new file
20:50:44<DrFrasierCrane>it's not like glade is a crucial part of the system anyway..
20:50:53<DrFrasierCrane>or history of glade files
20:50:58<tuukkah>yeah, it's just the gui ;-)
20:51:05<DrFrasierCrane>:)
20:51:21<tuukkah>which reminds me of the need for a command line user interface to straw
20:52:19<tuukkah>more seriously, firefox can let the user subscribe to feeds in straw if straw can take the feed uri from command line arguments
20:53:27<DrFrasierCrane>yeah I've noticed that UI recently
20:54:49<tuukkah>and that led me to think we haven't implemented database locking against running multiple instances of straw
20:55:36<DrFrasierCrane>that would be easy if we decided to have one backend process :)
20:56:21<DrFrasierCrane>http://www.sqlite.org/lockingv3.html
21:00:39<tuukkah>need to use d-bus or something
21:01:49<DrFrasierCrane>ok I think I'll implement disallowing dropping stuff into feeds and I'm done for today
21:03:36<DrFrasierCrane>btw tomorrow I'll be talking to chief of development and I'll try to poll the chances of plugging Straw into my workload
21:04:09<DrFrasierCrane>I mean plugging it in officially, because unoficially it's been plugged for a long time :D
21:04:47<tuukkah>cool, hope it goes well!
21:11:20<DrFrasierCrane>yeah
21:12:02<DrFrasierCrane>btw
21:12:43<DrFrasierCrane>what are your plans in discussion tracker regarding UIs? would such generic tree view list and generic item list (also as a tree view - threaded discussions of course) suffice?
21:13:27<tuukkah>i think for now it has to suffice
21:15:41<DrFrasierCrane>yes, but I'm trying to somehow visualize using different "backend" (or this generic backend but with other "plugin") - for example browsing mailing list
21:15:54<DrFrasierCrane>I don't think it's so dramatically different than browsing feed items with comments
21:16:11<tuukkah>yeah, it should be the same
21:16:44<DrFrasierCrane>probably providing backend-specific functionality can be tricky UI-wise
21:16:59<DrFrasierCrane>but looking at Pidgin, it should be possible
21:17:08<tuukkah>right
21:24:35<tuukkah>btw, did you see, git *is* able to figure out it was a rename
21:25:17<DrFrasierCrane>how to check that?
21:25:32<tuukkah>take a diff between the versions
21:25:39<tuukkah>git-diff -M HEAD~3
21:26:00<tuukkah>gives a very short diff
21:27:01<DrFrasierCrane>http://repo.or.cz/w/straw.git?a=commitdiff;h=0396bea52e652cfc694ddbade867a2e2b8ef84f6;hp=e1f95b39b14320a5e69f63940fb4b25e477f50f0
21:27:06<DrFrasierCrane>yeah
21:29:18<tuukkah>not that poor then
21:34:28<DrFrasierCrane>ah it's not that easy..
21:34:42<DrFrasierCrane>I have to finally introduce more abstraction, janm has already pointed that out
21:34:54<DrFrasierCrane>stuff like can_have_children instead of .type == "C"
21:35:31<DrFrasierCrane>having to deal with disallowing drag destinations is the right time for me to do it
21:35:50<DrFrasierCrane>but the actual time of the day is not right anymore :)
21:35:58<DrFrasierCrane>meaning I'm off :)
21:36:12<tuukkah>see you!
21:36:31<DrFrasierCrane>bye
21:37:15<DrFrasierCrane>btw kallepersson if you want you can also take a look at the menus - I think they have to be redesigned, some stuff can be moved from dialogs to menus and vice versa.. just a thought..
21:37:34<DrFrasierCrane>see you folks tomorrow

Back to channel and daily index: content-negotiated html turtle