Ir al contenido principal

Ralsina.Me — El sitio web de Roberto Alsina

Urssus: July 24th

I in­tend to keep wo­rking like this for a cou­ple of weeks, and see how far I can get in fea­tu­re pa­ri­ty to ak­re­ga­to­r.

No, I do­n't ex­pect to rea­ch fea­tu­re pa­ri­ty, I on­ly want to stri­ve for it. SIn­ce I la­ck the fo­cu­san­d/or ener­gy for a multi year co­m­mit­ment it re­qui­res to wri­te the ave­ra­ge free so­ftwa­re, I want to see how far a sprint ge­ts me.

To my sur­pri­se, on­ly 9 da­ys in­to the pro­jec­t, fea­tu­re pa­ri­ty is at han­d.

Wha­t's not do­ne?

  • So­­­me feed pro­­­pe­r­­ties (cus­­tom ar­­chi­­ving mo­­­des, ma­­rk as read on arri­­va­­l)

  • Fix ar­ti­­cle fi­l­­te­­ring (i­­t's not qui­­te bro­­ken, but in­­te­­ra­c­­ts ba­d­­ly wi­­th many things)

  • Im­­ple­­ment app pre­­fe­­ren­­ces dia­­log

  • Fi­l­­te­­ring by ar­ti­­cle sta­­tus

  • Fo­l­­de­­r-a­s-­­feed

  • Ex­­port as OPML

  • Fa­­vi­­cons

And so­me things in the ba­cken­d, whi­ch are not pro­per fea­tu­res.

What ha­ve I do­ne to­da­y?

  • New ar­ti­­cles no­­­ti­­fi­­ca­­tion via sys­­tray

  • Cus­­tom up­­da­­te in­­te­r­­vals pe­­r-­­feed

  • Ma­­de Fee­­d.un­­rea­­dCoun­­t() fast enou­­gh

  • Fixed a lot of bugs (no­­­ne of whi­­ch cra­s­hed uR­S­­Sus, take that Ak­­re­­ga­­to­­­r! ;-)

And sti­ll I ha­ve wri­tten on­ly 1066 li­nes of co­de, ac­cor­ding to sloc­coun­t.

Urssus: July 23rd (early)

So I did work on it a lit­tle last night:

  • Feed/­­Fold­er con­­text menus

  • Open Feed Home­­­page ac­­tion

  • New Feed (us­es Mark Pil­­grim's feedfind­­er.py, which is awe­­some)

  • New Fold­er

  • Delete Feed/­­Fold­er

  • Some UI fix­es (fi­­nal­­ly fig­ured out how to make a QTree­View's head­­ers look right!)

  • Some bug­­fix­es in tree traver­s­ing (where else ;-)

  • Im­­ple­­men­t­ed "fetch the web page in­­stead of the feed con­­tents" op­­tion for feeds (be­­cause of your an­noy­ing feed, DZone!)

Sad­ly no vis­i­ble changes, so a screen­shot would be use­less.

Urssus: July 22nd / looking good

To­day it was a bit more than two hours, but spread in 10 minute chunks, which is not ex­act­ly ef­fi­cien­t.

Im­prove­ments:

  • Rewrote the whole nex­t/next un­read­­/ar­ti­­cle/feed spaghet­ti in a de­­cent way. It's bro­ken re­­gard­ing fil­tered/­­sort­ed ar­ti­­cle list­s, but it's triv­ial to fix.

  • A few UI fea­­tures:

    • Show on­­­ly feeds with un­read ar­ti­­­cles google-read­­­er style

    • Show in dark red the un­read ar­ti­­­cles

    • Show ti­­­tle / date of ar­ti­­­cles in sep­a­rate col­umns

  • Im­­ple­­men­t­ed "Match case" for the search

  • Im­­ple­­men­t­ed dumb systray icon (need to make it use­­ful)

  • Im­­ple­­men­t­ed ar­ti­­cle counts in fold­ers (but not ar­ti­­cle lists which is, of course, hard­er)

And of course, a screen­shot:

urssus5

A bad side is that the main win­dow takes about 3 sec­onds to ap­pear, but I am pret­ty sure that's fix­able re­order­ing the start­up code.

TODO:

  • Feed CRUD

  • Post mark as (read­­/un­read­­/im­­por­­tan­t/what­ev­er)

  • Fil­ter by post sta­­tus

  • Search in all feeds

  • Vir­­tu­al feeds

  • Per­­sis­­tent set­t­ings

  • More ag­­gres­­sive feed fetch­ing (now it's a sin­­gle queue, should be a con­­fig­urable num­ber)

  • Lots of mi­nor fix­es

And it will be pret­ty much in fea­ture par­i­ty with Akre­ga­tor, and ready to start the pack­ag­ing work. Not bad for a week of work (BTW: if any­one has any ex­pe­ri­ence pack­ag­ing PyQt stuff for win­dows/­Mac I can use the help ;-).

Still fun (although tree travers­ing is start­ing to get quite an­noy­ing)

Urssus: July 20th / eating my own dogfood

Yes, I am now us­ing uRSSus in­stead of Akre­ga­tor.

On the pro­gram­ming side, I did very lit­tle work be­cause it's sun­day...

  • Im­­ple­­men­t­ed the Find wind­get back­­end code and it works for­wad and back­­ward (but not "Match case" which is pret­­ty triv­ial).

  • Fixed a few fo­­cus is­­sues. When you have a mul­ti­-wid­get main win­­dow, it can get kin­­da trick­­y, and you may end need­ing to move fo­­cus around man­u­al­­ly (not in this case yet).

I have found a few bugs, main­ly re­lat­ed to travers­ing the feed tree, but they are all fix­able with some ef­fort (or by do­ing it cor­rect­ly the sec­ond time ;-)

Urssus: July 19th

I con­fess I cheat­ed and kept work­ing on it yes­ter­day af­ter the blog post. OTO­H, I will not touch it to­day ;-). Big func­tion­al­i­ty added, too.

  • Feed items (The things on the tree) now are up­­­dat­ed when the back­­­ground process checks them.

  • They are al­­so up­­­dat­ed when you read ar­ti­­cles from a feed.

  • The fil­ter thingie work­s, you type some tex­t, and on­­ly the ar­ti­­cles with that text are shown (see screen­shot).

  • Added a wid­get (not di­alog) for search­ing with­­in the page, fire­­fox-­­like (see screen­shot)

urssus4

The bad news is that the "next un­read ar­ti­cle" code and a few oth­ers is garbage. It's quite in­ef­fi­cient be­cause I tried to be cheap and not cre­ate a co­her­ent mod­el for feed­s.

How­ev­er it works and you will nev­er tell the dif­fer­ence un­less you have 2000 ar­ti­cles be­tween where you are and the next un­read (in which case the win­dow goes kin­da nuts for a cou­ple of sec­ond­s).

Still fun!


Contents © 2000-2025 Roberto Alsina