Skip to main content

Ralsina.Me — Roberto Alsina's website

Innovative apps and features in KDE

I will be speak­ing about this sub­ject in 48 hours.

Here's the chal­lenge: post as a com­ment (if you see this in plan­etkde, you will have to click some­where to get to my page) de­scrib­ing your favourite in­no­va­tive un­usu­al and/or lit­tle known fea­ture in KDE!

In a few days, I will post the whole thing as a .swf file some­where so ev­ery­one can see it.

My goal is to make it daz­zling, fea­ture-­packed, and very fast. If I can get to 100 fea­tures in 1 hour, that's about right.

So, what is it?

Data aware widgets in KDE

Well, read­ing in plan­etkde about how nice da­ta aware wid­gets would be, I have to say this:

  • Da­­ta aware wid­gets are great

  • Da­­ta aware wid­gets in C++ are not the best pos­si­ble so­lu­­tion

Us­ing a high­er lev­el lan­guage, and specif­i­cal­ly a more dy­nam­ic lan­guage makes lots of things much sim­pler.

As a tiny, lame ex­am­ple, please check the lit­tle thing I wrote about da­ta aware wid­gets in python here.

I am sure that some of our bet­ter pro­gram­mers (or more cre­ative thinker­s) can come up with awe­some stuff if they di­vorce from C++ in this sub­ject :-)

Pissed off at SSH

Ok, not re­al­ly, since SSH has made my life much sim­pler than it would be oth­er­wise, but re­al­ly, it has some us­abil­i­ty is­sues.

And I mean re­al us­abil­i­ty is­sues, not the usu­al crap.

  • It can't be in­­te­­grat­ed in­­­to kde­wal­let

While there is a mech­a­nism to have a GUI ask­ing the pass­word, this helper app (askpass) does­n't get any ses­sion in­fo, so it's mean­ing­less, un­les you are try­ing to di­rect­ly start a X app over ssh.

Which you prob­a­bly aren't.

  • Fin­ger­print man­age­­ment suck­­s.

Sup­pose you have a fire­wal­l. You keep port 22 as a way to log in­to it, and for­ward port 23 to a mail serv­er in the DMZ. Well, it will com­plain and print huge, scary warn­ings each time you lo­gin in­to one or the oth­er, de­pend­ing on which one you used first.

Or, it can sim­ply refuse to con­nec­t.

And that's just the easy two.

What can be done?

  • Take the drop­bear client (not openssh, drop­bear code seems sim­­pler), and put a put­­ty-­­like UI in­­­to it. Use the kon­­sole kpart for dis­­­play.

  • Take the GTK ver­­sion of Put­­ty and hack it in­­­to KDE shape, put kde­wal­let in it. I don't quite like the idea of hav­ing a sea­­parate, dif­fer­­ent ter­mi­­nal app for re­­mote ses­­sion­s.

I would prob­a­bly go the drop­bear route if:

  1. I had a work­ing PyKDE (maybe some­­day)

  2. The idea of delv­ing in­­­to some­one else's C code did­n't make me nau­seous. (prob­a­bly af­ter I sur­gi­­cal­­ly re­­move my sense of taste).

KDE at Software Libre2005

I will be speak­ing at the Soft­ware Li­bre 2005 even­t, June 7 at 2P­M, at the Sher­a­ton Re­tiro, Buenos Aires.

I'd in­vite ev­ery­one, but it costs some mon­ey, so I will just say that I prom­ise to buy a beer for ev­ery­one men­tion­ing this blog. (Lim­it 10 beer­s, on­ly na­tion­al ones al­lowed)

For more in­fo, click on "read more"


Voy a dar una char­la en Soft­ware Li­bre 2005, el 7 de Ju­nio a las 14 ho­ras, en el Sher­a­ton Re­tiro, Buenos Aires.

In­vi­taria a to­do el mundo, pero cues­ta dinero, asi que so­la­mente los in­vi­to con una cerveza si men­cio­nan es­ta pag­i­na. (Lim­ite 10 cerveza­s, so­lo na­cionales)

Para mas datos, click en "Read more"

Extreme code reuse

I am, as al­ways, play­ing with stuff. And I was faced with a prob­lem I must have solved a dozen times be­fore:

Giv­en a list of items with ob­vi­ous hi­er­ar­chi­cal names (say, a list of fold­er­s), turn it in­to a rea­son­able da­ta struc­ture.

Since there are not all that many names, there is no need to do it on-de­mand, or any­thing like that.

I must con­fess I suck at this kind of things be­cause I hve to ac­tu­al­ly think them through. I don't know how to do this kind of things.

Mind you, I have done it be­fore, but I said, hey, maybe google can help me...

And yeah! Python code from 1994 that does ex­act­ly what I need­ed. I had to touch a sin­gle line ( string.s­plit­field­s(a,'.') to a.s­plit('/') ) and it worked.

The In­ter­net nev­er for­get­s!


Contents © 2000-2023 Roberto Alsina