Skip to main content

Ralsina.Me — Roberto Alsina's website

Back to my own dogfood.

So, I must con­fess some­thing. I have not been us­ing uRSSus for a cou­ple of month­s. It all start­ed on my va­ca­tion­s. Since I had on­ly my eee, I ran in­to some prob­lems and was forced to use google read­er.

And it was NOT ter­ri­ble. Mind you, it was not great, ei­ther, but re­al­ly, not ter­ri­ble at al­l.

Since switch­ing RSS apps is a pain (be­cause you need to RE­AL­LY catchup on your read­ing be­fore switch­ing), it took me a long time to get back.

And now I find all sorts of prob­lems in uRSSus which I will have to fix. Which means I bet­ter start crank­ing.

Not that it looks bad, it's a hand­some pro­gram!

urssus22

I don't ex­pect to do any­thing like last year's "A re­lease of some­thing ev­ery fri­day" mad­ness, but I will do some­thing.

Al­so, I need to re­write Bartle­Blog, the app that gen­er­ates this blog you are read­ing. It's bro­ken in many ways.

Back from the dead.

Yes, again, two months passed and noth­ing on the blog. What can I say, my life takes a lot of my time.

Any­way: I will try to ac­tu­al­ly write my PyQt tu­to­ri­al based on what I showed at Lati­noWare (I said "will write it in a few days". Ja!), and start push­ing things out ev­ery once in a while.

The on­ly FLOSS I did was some bug­fix­es for rst2pdf which is des­per­ate­ly need­ing a new re­lease.

Hope­ful­ly march will mean a bit more time for free soft­ware and writ­ing.

On oth­er ar­eas:

  • KDE 4.2 is re­al­­ly good. Beats 3.5 for me, like for most any­one else that was not con­vinced yet.

  • I want to try my hand at a cou­­ple of plas­­moids (yes, I do have at least one semi-o­rig­i­­nal idea)

So, see you soon, dear read­er­s. Maybe. Prob­a­bly.

Blogging from Latinoware again

Last night while eat­ing one of the Python Brazil guys told me about the Light­ning Talks ses­sion tak­ing place to­day.

Since I am ba­si­cal­ly in­sane, I was con­vinced to do my first light­ning talk:

  • In span­ish in front of a pure­­ly brazil­ian au­di­ence

  • Cre­at­ing it while hav­ing break­­fast 1 hour be­­fore the event

  • Af­ter ex­ceed­ing the al­lot­t­ed 50! min­utes 2 days ago

So, in short, I was ter­ri­fied. I got there, sat at the back, start lis­ten­ing.

I was 4th in or­der.

1: doctests (nice)

2: pro­nounce­able pass­words (nice)

3: MVC in gtk... I did­n't un­der­stand a word, and ran out of time.

So, I am now think­ing no­body will un­der­stand me at al­l, so I will slow down, run out of time, and will then give the worst light­ning talk ev­er.

I'm next up. My top­ic: how to build a spread­sheet in 5 min­utes.

Amaz­ing­ly, it worked rather well, the "M­C" asked me for a copy of the code, and said it was a neat ex­am­ple. Noone looked hor­ri­fied or ROFLing, so I am at least some­what hap­py about it.

Here is the code for you, too: ss­in5min.t­gz

I would do it again. But if I am do­ing it again here, I am learn­ing por­tuguese first.

Blogging from LatinoWare

Just fin­ished speak­ing about PyQt pro­gram­ming in Lati­noWare.

It went ok, but I ran out of time, so no Q&A, and I could­n't show about 20% of the code. :-(

Any­way, here is the code in its dif­fer­ent stages, so you can see the "evo­lu­tion" of a sim­ple PyQt ap­p. I will prob­a­bly turn it in­to a re­al tu­to­ri­al in a few days and post it.

Here is the guide I was us­ing for my­self when do­ing the pre­sen­ta­tion:

    1. App back­­­end (1/­­to­­­do.py)

    2. Ba­sic win­­­dow with a treewid­get Col­umns Task/­­­Date/­­­Tags

    3. Com­pile archi­­­vo .ui, show how it works

    4. Tem­­­plate for main.py

    1. Load back­­­end da­­­ta in the task list

    2. Show in­­­ter­ac­­­tion is bro­ken

    1. Ex­­­plain sig­­­nal­s/s­lots

    2. Show dif­fer­­­ence be­tween 1/­­­main.py 2/­­­main.py

    3. Ex­­­plain au­­­to­­­con­nec­t, show on_lis­­­ta_item­Changed

    4. Show task per­­­sis­­­tence work­ing

    1. Fix tree dec­o­ra­­­tions

    2. Make items ed­itable

    3. Ex­­­plain changes in on_lis­­­ta_item­Changed

    4. Ex­­­plain the prob­lem with ed­it­ing date and tags in­­­­­line

    5. New idea: use a di­a­log to ed­it tasks (ed­i­­­tor.ui)

    6. Ex­­­plain lay­out man­agers

    1. Show changes in main.py

    1. Ac­­­tions

    2. Show ac­­­tions in de­sign­er

    3. Show ac­­­tions in main.py

    1. Tray

    2. Show tray class in main.py

    3. Show tray be­hav­iour

    4. Show dif­fer­­­ences in main.py

A hard-to-block spammer: I need help.

Many of my clients have been spammed by La Cap­i­tana Re­al Es­tate late­ly. And I mean many. Hun­dred­s.

How­ev­er, they seem to have found a way to spam that work­s. And that suck­s.

They have cre­at­ed a Google Group, added all their vic­tims there, and let google do the dirty work.

What's the prob­lem?

  1. Google group mails are not block­­able at SMT­P-lev­el be­­cause their senders con­­tain a sort of hash and the re­­cip­i­ent ad­­dress, and no group name. That's in­­­cred­i­bly stupid in google's part.

  2. The mes­sages they send are huge (6MB and up) so spa­­mas­sas­sin can not process them. The SA docs say this will not hap­pen be­­cause of "the eco­nom­ics of spam". Well, it hap­pens when you make google do it!

  3. I don't want to go back to the old days of keep­­ing a lo­­cal queue-lev­el ad­­dress black­­list. That's aw­­ful!

I have com­plained to google, I have com­plained to the spam­mer­s, even by phone. They use the stan­dard de­fense of "we are just invit­ing peo­ple". "They can un­sub­scribe if they want to". "This is not spam"

Noone does any­thing.

What's the next step? I can't black­list google group­s!


Contents © 2000-2023 Roberto Alsina