Posts about programming (old posts, page 18)

2008-07-30 21:06

Urssus: July 30th (way too late). Now with users!

At least three people have tried urssus (including me ;-) and over 80 have downloaded it. The two that told me anything say it's a nice app.

I hope it keeps improving.

Right now, it has about a dozen less bugs (or more features) thanks to the issue reports by vgarvardt!

2008-07-30 06:45

Urssus: July 30th (way too early). new feature - twitter!

I have a twitter account. I never found a use for it.

Now I have one. I will post there whatever interesting thing I find. Just right-click, "Post to Twitter" and voilá:

urssus14

Here you can see the window, which is filled automatically with the post title and URL (made tiny, 140 chars is not much!), with the classic char countdown.

Also in the background, some news and my twitter account.

BTW: Uwe was awesome.

2008-07-29 15:51

Urssus: July 29th - Moo till it's done

I may have gotten a bit carried away with mootools: Combined view now has an accordion-like thing google-reader style.

urssus13

Not too pretty, but pretty's not my thing.

2008-07-29 11:42

Urssus: July 29th - An original feature, at last (with screenshot)

Tired of chasing after other program's features, I took a detour on the original feature road: the combined view is now much nicer than Akregator's.

Why? Because you can use it and still flag individual articles as read/unread/important.

Using a tiny bit of mootools and some rudimentary javascript, plus a wee Tenjin template effort...

urssus12

And yes, the "buttons" appear and disappear as needed, and update the GUI just like they should.

2008-07-29 00:20

Urssus: July 28th late at night - Released 0.2.0 and it's outdated already (with screenshots)

Yes, I released 0.2.0, and announced it on PyPI, Freshmeat and kde-apps.org, we'll see what happens.

But why is it outdated? Because I am doing nicer UI work, already.

  • The search widget is now a bottom-locked toolbar, which is much cleaner.
  • There are now 3 window layouts (normal, widescreen and combined) and each has a "long feed list" and a "short feed list" variant.

Here is widescreen-long:

urssus10

And here are widescreen-short, widescreen-long, normal-short, and combined-short, all scrunched in a single screen (yes, you can run multiple urssus (urssuses? urssi?):

urssus11

2008-07-28 16:33

Urssus: July 28th - Cleanup

I did a fair amount of work in urssus today. The highlight? database schema migration.

Here is the (not really) full list:

  • Fixes on the installer
  • Fix in importOPML
  • Raise the window when you click on the systray popup
  • Fixed several issues after feed deletion
  • Fixed several issues with feeds not updating the UI's unread count
  • Fixed the look of buttons on searchWidget and filterWidget
  • And several more...

And the big one:

  • Implemented database schema versioning using sqlalchemy-migrate.

What does that mean? That I can change the database and the user will not notice anything.

On startup, uRSSus checks if you are using the correct schema, and updates your database accordingly.

For example, I can now implement manual feed sorting just adding a "position" column to the Feed class. If I had not implemented this, that would require a much greater hack.

Now? I just do it, write an upgrade/downgrade script, and that's all. Migrate is really a very cool tool, and shows the strength of using SQLAlchemy (not so much that of using Elixir, because they get along grudgingly ;-)

Current LOC count: 1491

Current status: still fun! (and educational!)

2008-07-27 22:00

Urssus: July 27th - Released into the wild!

I spent the day bugfixing. Then, when I realized I was fixing stull like "when you delete a feed, the unread count in the parent feed is not updated correctly" and "if you go to Next Unread article and there are none, make the search wrap" I decided this thing must really be working right, since both things failed me in at least one similar program that claims to be production-ready (not akregator! ;-) So I am releasing it as 0.1.0

And I am doing it for real:

  • PyPi page for easy_install
  • Working installer! (Not quite working for windows, though)
  • Most known bugs fixed (at least 15 today)
  • Uploaded to Arch's AUR, so we Arch users can get it painlessly ;-)

It has been a nice experiment, and I will try to write something coherent tomorrow about lessons learned and such as we reach my self-imposed two week deadline for Akregator feature parity.

2008-07-26 00:04

Urssus: July 25th (way too late) - new features

Last post for the day, and probably until monday.

  • Finished expiration implementation (and it works just fine)
  • Fixed a tough bug and now the background fetcher updates the UI correctly
  • Made the template location code work correctly before and after installation (thanks to help from PyAr mailing list)
  • And the pretty one: custom CSS file used for all templates. The default webkit (and khtml, and firefox) CSS is horrid. This one is just not pretty, but still an improvement.

And of course, a screenshot. Akregator on the left, uRSSus on the right:

urssus9

2008-07-25 14:33

Urssus: July 25th (later) - uRSSus on windows

urssus8

So you need to install SQLAlchemy 0.4.6 and Elixir 0.5.2 and python and pyqt and paver, and whatever manually right now... it does work.

I had to change about 10 lines, specifically stuff about temporary files.

On Linux, I create a NamedTemporaryFile, write to it, then read it from another place of the code. As long as I keep a handle to the object that's ok.

On Windows, it seems I can't read the file because it's locked by the writer, but if I close it it's deleted, so I switchedto mkstemp and that's it.

Also, it doesn't run well from inside IDLE for some reason.

Contents © 2000-2018 Roberto Alsina