DanielW’s Blog

July 26, 2009

Email auto-config using DNS?

Filed under: Uncategorized — Tags: — DanielW @ 5:48 pm

In response to How to configure a mail client (no comments there).

Rolf proposes a XML config file standard to quickly setup email accounts in mail clients. I always had the idea of a DNS based auto config system for mail clients. (maybe there is already such a thing?)

It would work like that:

  • the user enters his mail address in his mail client i.e. someuser@kde.org
  • the client would then ask for a TXT dns record for something like __mailautoconfig.kde.org
  • from that record the client would get all needed information (smtp,imap,pop3 servers and so on)
  • in best case the user now only needs to enter the password and would be done

Together with the obvious things like smtp/pop3/imap server address and ports, it could contain information about supported encryption and authentication modes and if smtp auth is needed. Also the url of a web mail interface for the mail address could be published.

Very important to make things easy for the user is the “login-field” to store how the login name is created out of the mail address, with values like “address” = complete mail address as username, “user” = only the user part of the mail address or “manual” = the user has to enter his login )

And yes, there are security implications, but the information published over dns that way is  public available  (for bigger mail providers at least) anyway.

So, what do you think? Stupid idea which has already been thought of and thrown away for an obvious reason I’m missing?

(And yes I know that some mail client already have such an auto config feature, but they use their own database (local or over the net) to map mail addresses to settings. Smaller mail services will not get into it and they may not always be up to date.)

July 11, 2009

KDE in the year 2039

Filed under: Uncategorized — Tags: — DanielW @ 3:40 am

While clicking around on Youtube I came across this nice video (it’s more a slideshow than a video actually).

It shows 28 years of computer “desktops” in 1:17 minutes:

GUI Evolution 1981 - 2009

Two questions came in my mind:

What will KDE look like in 28 years? Will we look back at our 2009 desktops in the same way as we look back now? (And: Will our children get the same feeling of getting old when they see such a video in 2039? ;-) )

No answers here. :-P

October 11, 2008

Why Nepomuk could not fully replace (My)SQL in Amarok (yet)

Filed under: GSoC 2008 — Tags: , , , — DanielW @ 7:05 pm

This is another post about collection backends in Amarok. The others posts explained the switch to MySQL embedded and tried to address some of the concerns. Jefferai also wrote a few things about Nepomuk in Amarok (and why it will not fully replace the sql based collections) which I want to comment on and add to.

There are user asking: “There is Nepomuk in KDE for storing meta data why the switch to MySQL embedded you could just use Nepomuk and drop sql collection all together.” With reasons like: “Nepomuk can do this and that better and one storage in KDE for everything is best.”  They are not complete wrong, there are good reasons to use Nepomuk (data sharing between applications, system wide searching, using strigi(and taglib) for collection scanning at a central place for all applications once, interconnect the data with other data (like let Kmail store where I got that song from), and others)

But Jefferai is right when he says that Nepomuk can not replace the sql collection for everyone and every use case. At least not for the short and longer midterm (;-)).

Why? Not everyone will or could run Nepomuk for different reasons. The most important one: It is a quite complex big software in terms of memory usage (though I think that will improve in time and the amount of available memory in computers is growing fast) and CPU usage. Another issue is: At least in the short and midterm it it will be significant slower than the MySQL based collection. It is not useless slow but well sqlite isn’t useless slow either (faster than Nepomuk atm) and people complained. So: For slower older computers, lightweight media devices, mobile devices, big collections, java “haters” even a perfect done Nepomuk collection with a bug free Nepomuk (we are not there yet…) would be out of question.

I expect some of those issues to improve over time. (I hope we will see a faster C/C++ based storage backend for Nepomuk). But still Nepomuk is a new technology and there is not much experience with it yet amoung users, developers and important here “developing users” (those who create small scripts and apps to work on the sql data from amarok to do different things with that, mostly for their own usage).

Don’t get me wrong: I like Nepomuk and it possibilities for Amarok. It is not useless slow. In fact I am using it as my main collection backend in Amarok for months now. But it is in a similar state as KDE 4 in pre 4.0 days. You could use it but it not feature complete, it is not really stable it has its issues and there will be major changes to some of its parts. Well I hoped to have it (and the related Nepomuk service) in a better shape by now. Sorry for that, my time is very limited at the moment but work has not stopped fully and I am still planing to bring it into a useful shape.

A few words on the Nepomuk service: It will monitor Nepomuk/Strigi for new music and use taglib to read data Strigi can not read (yet?) to fill it. It then creates new music (tracks, artists and so on) resources in the Nepomuk storage. It should also inform interested applications about new music. Overall it aims to have always all music of the user in an easy to access way available for use in media players, music management applications and others.

That should make it easier (and faster!) for Amarok (and others) to use the data.

For example at the moment (ontology not final) to get a QStringList of all artists of the music on the computer in your application is as easy as (when using Strigi, Nepomuk and the unreleased service) :

QStringList artists;
QList<Nepomuk::Resource> artistsResources
    = Nepomuk::ResourceManager::allResourcesOfType( "http://purl.org/ontology/mo/MusicArtist" );
foreach( Nepomuk::Resource &artistResource, artistResources)
{
    artists << artistResource.label();
}

The flexible Amarok 2 collection framework will allow both (Sql and Nepomuk) collection living together at users choice and maybe in a few years Nepomuk (with faster backend?) could become the default.

September 28, 2008

Gas measuring: Source, some charts, accuracy

Filed under: Energy-saving — Tags: , , , , , — DanielW @ 12:48 pm

There was quite a lot of interest in my gas measuring project using a mobile phone. Thanks for that. For all who requested the source: I packed it together and wrote a small readme. You can download it now.

There were doubts about the accuracy and if it will work at all. It is running for over a week now without any crash or other problems. It measured a gas usage of 14.81 m³ while the gas meter is showing 13.85 m³. That is a difference of 6.9%. Not perfect, but i can live with that and can try to reset the “burning duration -> volume” factor to reflect the difference.

I also have first usage graphs:

Gas usage for September 2008

Gas usage for September 2008

Day of month on x axis and used energy in kWh on y axis.

Does it mean a lot: No, not yet. Not enough days and also to much playing around with settings (temperature on thermostat in the kitchen, setting on the radiators).

One interesting fact is that it will always do exact 11 “burning sessions” every hour as long the temperature in the room with the thermostat has not reached the target temperature. But the duration of each of those sessions depends on the real needed energy from the radiators. Even if they do not request any energy it will do 11 burning starts but all of them very short.

That means: At least here is quite some room for optimization. I need to make sure that it only starts when at least one room requests energy. That is quite hard to achieve because there is only a thermostat for controlling it in one room.  :-(

Here a chart for an average day:

Gas usage graph for 2008/09/21

Gas usage graph for 2008/09/21

Hour of the day on x, burning duration in seconds on y

The two peaks are from the warm water heating. That starts about two times a day and takes about 250 seconds or 0.7 kWh each, means about 2 kWh (ca. 0.15 EUR ) a day for warm water.

Anyone still reading? ;-)

September 21, 2008

It’s getting cold: Measuring gas usage with S60 camera phone

Filed under: Energy-saving — Tags: , , , , , , — DanielW @ 6:06 am

The last two weeks I haven’t done anything on KDE/Nepomuk/Amarok (Does that statement qualify for posting this on planetkde? ;-) ), but for a good reason: It’s getting cold outside.
So time to get back to an old project of me: I wanted to measure the gas usage of my gas heating in real-time and come up with the idea to use a mobile phone with a camera for that. The plan was to have the camera of a mobile phone looking on the burner and recognize if the flame is there or not. That should work under the assumption, that the burning duration is directly related to the used gas volume.

So I picked my old Nokia 6680 (Symbian S60 2nd FP2) (oh I am glad that you can now program it in Python using PyS60) and started work on a proof of concept.

To make it short: After not working on it for about 10 month, I manged to get it to work.

A small Python program calculates the amount of blue in a section of the camera view once every second and if it gets above some threshold it assumes the flame to be on and writes a record to a SQL DB on the phone. It also calculates the current gas meter reading and makes all that data available over Bluetooth on request.

Now a picture of the setup:

The gas heating with the phone looking on it (door open)

The gas heating with the phone looking on it (door open)

If the isn’t the coolest usage of a mobile phone ;-) And now a picture of what the phone is seeing when the flame is burning:


A am pretty satisfied with the accuracy of the measuring. The last day I had a measuring error of about 1,3%.

I also wrote a small Qt application to get the data from the phone (over a bluetooth spp connection) and visualize it. Also a screenshot:

Screenshot of gas monitor app

Screenshot of gas monitor app

The next months it will be fun (OK, only energy saving addicts like me will consider this fun) to analyze the usage and see how it relates to the temperature. Hopefully it helps to save energy (and money ;-)). If someone is interested to build something similar, just ask me for the source. (But don’t expect it to be well written…)

Oh, and to somehow justify the syndication to the planet: I am back to work on the Nepomuk music service to hopefully get it into KDE 4.2 (the next post will be about that) so that it can get used in the first Amarok 2 feature release after KDE 4.2 (2.1 or 2.2)

July 10, 2008

Real persistent playlists in Amarok with Nepomuk

Filed under: GSoC 2008 — Tags: , , , , — DanielW @ 10:34 pm

Again too long since my last blog post. For those who are new to my blog: I (DanielW in IRC) am the GSoC student working on bringing Nepomuk into Amarok.

So what has happend the last weeks? Amarok now writes statistics back to Nepomuk (playcount, last played date and so on). With the nepomuk search client and kio slave in playground you can search files for that (list for example all files played more than 10 times).

But what I really want to talk about are “real persistent playlists”:

Thanks to the new Filewatch service (already in svn (trunk and 4.1 branch))  Nepomuk can now track movements of files and update the metadata connected to them. (it uses KDirNotify and can only track file movements done from KDE applications).

I am using this in Amarok to have playlists which still work after renaming/moving files. This means you can:

  • create and store a playlist
  • close Amarok
  • move the files around/rename them
  • start Amarok and your playlist still works

Amarok also monitors changes to the data at runtime. I first planed to make a screenshot (without it, it is not real ;-) but you can not see it on a screenshot. So I made a screencast. Here it is (download in high quality (6 MB))

(sorry for poor Youtube quality, get the real one)

Now the technical part:

It works by creating and storing a uuid for every track used in Amarok. It then uses this uuid in the URL of the playlists. That works but is no perfect solution. In the long term (after SoC) I will have to create track (and album) resources (which link to the actual files) in Nepomuk. This will solve this without the uuid and bring other possibilities but also a lot of new problems.

You can try it out now (it is in svn of Amarok) but expect bugs and missing features.

And..

see you there

June 20, 2008

Dolphin and Amarok share ratings

Filed under: GSoC 2008 — Tags: , , , , — DanielW @ 1:06 am

First: Sorry, I planed to blog more often about my GSoC project. I don’t feel very good when blogging in english. But as Thiago “forced” us to blog here an update:

Let’s start with something to look at:

Screenshot Amarok und Dolphin

Isn’t it nice? Ratings from Dolphin in Amarok :-)

Yeah, you will be able to rate your songs in Dolphin and see the ratings in Amarok or vice versa. They share the same data in Nepomuk. (I will publish in Amarok Wiki which ontologies are used, so that you can make use of it in your scripts or applications.)

The collection you see there in the collection view uses the data from Nepomuk. (As my code can not scan collections yet it works directly on the information Strigi indexed.) I am quite happy about the performance. It is slower than the SQL collection but fast enough in most cases. But you shouldn’t try to add your complete collection to the playlist. On my collection (about 15k songs) it takes about 5 minutes. I am not sure if i can change that.

Also not working yet: Collection filtering and any writing of data back Nepomuk.

If you want to play around with it:

It is in normal Amarok 2 SVN and it will show up in Amarok automatically if you have Nepomuk enabled in KDE (System settings->advanced->Nepomuk). As it can not scan yet, you should have some music indexed from Strigi.

I recommend to use the Sesame2 backend for Soprano/Nepomuk (needs Java at build and runtime of Soprano). But it should work with Redland too. To test it is enough to only add your music directory to the Strigi index folder (also in the Nepomuk settings).
I hope that when I blog again, I will tell you that writing back to Nepomuk works. Will work on that in the next days.

May 23, 2008

Welcome to another SoC-Blog

Filed under: GSoC 2008 — Tags: , , , — DanielW @ 9:08 pm

Well, this is just another blog from a GSoCer. As official start of this years Summer of Code is on Monday I finally installed this blog to tell other SoCers and everyone else who could be interested about my experiences, problems (eh mean achievements) and ideas over the next months. Yes I know, it is locking boring it is the WordPress default theme. I am not really a design guy.

I will implement Nepomuk (Semantic Desktop) features into the upcoming version 2 of Amarok the great KDE music player . So this brings together the exciting Nepomuk project, Amarok and music. :-) Sounds like fun, doesn’t it?

You probably know Amarok but didn’t hear about Nepomuk yet. For the moment I will just refer to the website of the Nepomuk Project and the website of it’s KDE implementation.

What will it look like in Amarok?

  • If you are using Strigi (with your music in index) together with Nepomuk you will be able to just  start Amarok and instantly have your music collection in it without any extra scanning
  • Your ratings, playcounts and so on will all be stored central in Nepomuk. That making it accessible for every other application (for example to change your ratings from Dolphin)
  • The new folder view plasmoid together with the Nepomuk search-kioslave will make it possible to have a folder view on your desktop with your highest scored music, your least played songs, all songs you played last week and so on. I think you get the idea.
  • Nepomuks tagging features will bring back labels to Amarok 2 (although I am not yet sure how this will get integrated into the Amarok GUI)

For those of you, who are now being afraid because you don’t want to use Strigi and Nepomuk: Thanks to the new flexible collection framework in Amarok 2 this will be fully optional. Just another collection in Amarok. So you don’t have to use it at all without any loss.

What have I done so far? To be honest, not very much:

  • get Strigi and Nepomuk running on my system (thanks to my mentor Sebastian Trüg for help). That sounds quite easy but it seems that my laptop doesn’t like Nepomuk ;-)
  • getting in touch with the great kde/amarok community
  • take some first looks into the Amarok code base and got my ssh key for svn updated (forgot my pass phrase again :-/)

That is it for know. I try to write at least once in a week a short update about it.

IPv6 spam experiment

Filed under: IPv6 — Tags: , , — DanielW @ 7:40 pm

Although we all hate spam there are a few hundreds (IPv4) spam deliveries to this server a day. Wouldn’t it be a good indicator of IPv6 deployment to monitor the growth of spam coming over IPv6?

When IPv6 spam starts to come in we can consider IPv6 going mainstream.

So my little spam experiment starts today with the IPv6-only email-address:  mail@lkjhgfdsa.der-winti.de

Feel free to publish this address where ever you think it will help to get it in the spammers address databases. The problem is that the address is virtually useless for anything else (from the top 500 websites only Wikipedia can receive IPv6-mail), so it is quite hard to spread it.

I will report when i got the first IPv6 spam :-)

Powered by WordPress