... i wish there was someone around here to sit on a roof-top with and talk until the sky got bright again. you see it in the movies, but so rarely in real life.
when i was a teenager i had a small mattress i'd haul up on to the garage roof. back down and then i'd climb up the ladder one more time with my telescope in tow. i'd watch the stars through its aperature until i grew sleepy. laying out on the mattress, i'd eventually fall asleep.
other nights i'd just sit on the peak of the roof, legs dangling over the edge, and watch people returning home and animals coming out for their nocturnal roamings. i'd sit up there and think about the things that puzzled me, that worried me, that made me happy.
i could see most of the roofs on the other houses in the valley: not a single person on any of them. i used to imagine what it would be like if people came out at night and sat on their roofs and looked heavenward together. i imagined what it would be like to share the roofspace with others; i tried a few times but discovered that it wasn't as enjoyable for others as it was for me.
while people would clamber up to the roof tops to watch fireworks shows or parades ... it didn't seem to be a common place for meditation and sharing moments of thoughtfulness with others.
i can't say that sitting on roof tops has gotten any more popular in the years since then.
so when i read about the earliest known human vilages and how they had no lanes or paths between the houses, such that to get anywhere the inhabitants had to walk on the roofs ... it please me greatly.
Wednesday, October 31, 2007
runners.improve()
krunner is a launcher application of sorts, among other things (it also does screen locking, provides a tasks lists via ksysguard, etc...). think of it as a "run command" dialog on steroids.
the aim is to provide something that not only gives us the ability to run commands as we always have been able to, but also as a one stop shop to do, well ... anything. type in some text and you get results relevant to what you typed in. it's kind of like google for your desktop, and with the search plugin ... it pretty much is.
krunner is plugin based (though it has a few built ins too; i'll probably end up moving most/all of them out to plugins, however) so you can extend it with new functionality. each plugin gets asked what it knows about what you are typing in and those answers are returned to you in a cute little interface.
these plugins, known as runners, are based on a class in libplasma called Plasma::AbastractRunner. this means that any app that links against libplasma can get the same functionality. neat.
not so neat: Plasma::AbstractRunner was a first-draft API. while i've told everyone that libplasma will be changing between 4.0 and 4.1, i want to keep the changes as minimal as possible, especially when it comes to things that affect plugins. why? because i hate rewriting code and i really hate making others do the same. changes that affect plugins affect every programmer who has written a plugin. not good.
so i spent the day today reviewing the API for Plasma::AbstractRunner. i posted revisions on pastebin.ca for #plasma to review. Richard Moore in particular was really helpful and provided some excellent feedback and thoughts that helped make the resulting API better than i could've made it on my own.
essentially instead of only getting a search term, runners now get a full blown SearchContext object. this object handles all the results as well, sorting them into Informational, Exact and Possible categories. the results can be ranked for relevancy from 0.0 to 1.0 as well as have an associated mimetype.
the end result is a much nicer design and one that should be able to survive as is from 4.0 onwards. (having said that, i'm probably going to get hit by the "famous last words" principle ;).
the improvements include:
some regressions have been introduced, however. these include:
future avenues of exploration may include:
as for the "writing a runner is simpler" claim, this is because there is really only one method you are required to override now:
to see what this all means, here is the code for the calculator runner:
and here are the two relevant methods from the much more complex location runner, which handles opening paths, urls and web shortcuts like "gg:kde" for google, "wp:kde" for wikipedia (and unlike in kde3, it uses your default browser properly =):
now i'm off to techbase to write a tutorial on AbstractRunner so that people can start implementing all those great ideas in the comments on my my last blog entry. ;)
tomorrow i'll start working on the gui of krunner to make it non-fugly. if all goes well, i won't have to look much more at krunner before 4.0 is out.
the aim is to provide something that not only gives us the ability to run commands as we always have been able to, but also as a one stop shop to do, well ... anything. type in some text and you get results relevant to what you typed in. it's kind of like google for your desktop, and with the search plugin ... it pretty much is.
krunner is plugin based (though it has a few built ins too; i'll probably end up moving most/all of them out to plugins, however) so you can extend it with new functionality. each plugin gets asked what it knows about what you are typing in and those answers are returned to you in a cute little interface.
these plugins, known as runners, are based on a class in libplasma called Plasma::AbastractRunner. this means that any app that links against libplasma can get the same functionality. neat.
not so neat: Plasma::AbstractRunner was a first-draft API. while i've told everyone that libplasma will be changing between 4.0 and 4.1, i want to keep the changes as minimal as possible, especially when it comes to things that affect plugins. why? because i hate rewriting code and i really hate making others do the same. changes that affect plugins affect every programmer who has written a plugin. not good.
so i spent the day today reviewing the API for Plasma::AbstractRunner. i posted revisions on pastebin.ca for #plasma to review. Richard Moore in particular was really helpful and provided some excellent feedback and thoughts that helped make the resulting API better than i could've made it on my own.
essentially instead of only getting a search term, runners now get a full blown SearchContext object. this object handles all the results as well, sorting them into Informational, Exact and Possible categories. the results can be ranked for relevancy from 0.0 to 1.0 as well as have an associated mimetype.
the end result is a much nicer design and one that should be able to survive as is from 4.0 onwards. (having said that, i'm probably going to get hit by the "famous last words" principle ;).
the improvements include:
- future proofing. we should be able to add features and capabilities without breaking plugins.
- informational answers, such as the value of a numerical calculation, can now be selected. this means that if you enter "=14*.5" you'll see "14*.5 = 7" and if you press enter, the text area will get replace with "= 7". this was a request in a comment from my last blog as well as from Maksim-of-khtml on irc. hugs.
- runners will be able to 'mutate' the search as well as respond to it. this means we could have filtering runners, for instance, or runners that change the state of the SearchContext based on their own returned results. this should help runners keep out of each other's way better in the future.
- expensive analysis of the search term (e.g. "is this a local directory or file? what is its mimetype? is it a network protocol?") can now be centralized and done just once in the SearchContext versus in every runner that needs this information
- it's possible to have multiple searches operating in parallel if so desired
- runners can now provide a configuration for the runner itself
- handling of the options widgets for both matches and the runners is more sensible
- it will be possible to add actions (verbs) to results (nouns). this means that searching for "pizza" might result not only in a match for pizza, but the associated verb "order from pizza hut"
- we'll probably end up supporting non-C++ runners, as the new design should make it trivial to use kross for this: essentially just export the SearchContext and SearchAction objects into the Kross object
- writing a Runner is much simpler and, i think, more obvious
- probably other stuff that i've already forgotten or haven't yet realized
some regressions have been introduced, however. these include:
- the results are refreshed on every search, even if they remain the same. performance still seems to be better than the previous design, however.
- there is no asynchronous interface anymore. no runners were using the old one, anyways, and we can add a better one on top of the new design. i'm actually curious if, with a bit of work, we couldn't put the runners in their own thread(s) and thereby obviate the need for an async interface in the API (at the cost of making some of the key bits of API thread safe).
future avenues of exploration may include:
- multi-threading the searching (as noted above)
- adding a completion API so that as the user types they can get possible completions in real time
- custom visualizations of actions, so a weather response might actually provide a live weather report visualization
- researching what sorts of additional metadata would be interesting for the SearchContext
- adding action verbs to individual search returns and a user interface to make using them feel natural
as for the "writing a runner is simpler" claim, this is because there is really only one method you are required to override now:
void match(Plasma::SearchContext *search) and for most runners that need to do something when a match is selected there is the void exec(Plasma::SearchAction *action) method. to see what this all means, here is the code for the calculator runner:
CalculatorRunner::CalculatorRunner( QObject* parent, const QVariantList &args )
: Plasma::AbstractRunner(parent)
{
Q_UNUSED(args)
setObjectName(i18n("Calculator"));
}
CalculatorRunner::~CalculatorRunner()
{
}
void CalculatorRunner::match(Plasma::SearchContext *search)
{
QString cmd = search->term();
if (cmd[0] != '=') {
return;
}
cmd.remove(0, 1);
if (QRegExp("[a-zA-Z\\]\\[]").indexIn(cmd) == -1) {
QString result = calculate(cmd);
if (!result.isEmpty()) {
Plasma::SearchAction *action = search->addInformationalMatch(this);
action->setIcon(KIcon("accessories-calculator"));
action->setText(QString("%1 = %2").arg(cmd, result));
action->setData("= " + result);
}
}
}
QString CalculatorRunner::calculate( const QString& term )
{
QScriptEngine eng;
QScriptValue result = eng.evaluate(term);
if (result.isError()) {
return QString();
}
return result.toString();
}and here are the two relevant methods from the much more complex location runner, which handles opening paths, urls and web shortcuts like "gg:kde" for google, "wp:kde" for wikipedia (and unlike in kde3, it uses your default browser properly =):
void WebshortcutRunner::match(Plasma::SearchContext *search)
{
QString term = search->term().trimmed().toLower();
m_type = search->type();
foreach (KService::Ptr service, m_offers) {
foreach (QString key, service->property("Keys").toStringList()) {
key = key.toLower() + ":";
if (term.size() > key.size() &&
term.startsWith(key, Qt::CaseInsensitive)) {
QString actionText = QString("Search %1 for %2");
actionText = actionText.arg(service->name(),
term.right(term.length() - term.indexOf(':') - 1));
QAction *action = search->addExactMatch(this);
action->setText(actionText);
QString url = getSearchQuery(service->property("Query").toString(), term);
action->setData(url);
// let's try if we can get a proper icon from the favicon cache
QIcon icon = getFavicon(url);
if (icon.isNull()){
action->setIcon(m_icon);
} else {
action->setIcon(icon);
}
return;
}
}
}
if (m_type == Plasma::SearchContext::Directory ||
m_type == Plasma::SearchContext::Help) {
//kDebug() << "Locations matching because of" << m_type;
QAction *action = search->addExactMatch(this);
action->setText(i18n("Open %1", term));
action->setIcon(m_icon);
return;
}
if (m_type == Plasma::SearchContext::NetworkLocation) {
QAction *action = search->addPossibleMatch(this);
KUrl url(term);
if (url.protocol().isEmpty()) {
url.clear();
url.setHost(term);
url.setProtocol("http");
}
action->setText(i18n("Go to %1", url.prettyUrl()));
action->setIcon(m_icon);
action->setData(url.url());
return;
}
}
void WebshortcutRunner::exec(Plasma::SearchAction *action)
{
QString location = action->data().toString();
if (location.isEmpty()) {
location = action->term();
}
if (m_type == Plasma::SearchContext::UnknownType ||
(m_type == Plasma::SearchContext::NetworkLocation &&
location.left(4) == "http")) {
KToolInvocation::invokeBrowser(location);
} else {
new KRun(location, 0);
}
}
now i'm off to techbase to write a tutorial on AbstractRunner so that people can start implementing all those great ideas in the comments on my my last blog entry. ;)
tomorrow i'll start working on the gui of krunner to make it non-fugly. if all goes well, i won't have to look much more at krunner before 4.0 is out.
Tuesday, October 30, 2007
what runners do we need? want? dream of?
i'm looking for feedback on what things you should be able to type into kde 4's run dialog (krunner) and have happen. the mechanism that drives these are little plugins called "runners", which was the origin of the name krunner. that's a bit of a misnomer these days as a done a bunch of other little things too, but it's close enough still.
here are the runners we have so far:
yes, it's pretty basic at this point. here are additional runners i'd like to see for 4.0:
here are additional runners i'd like to see by 4.1:
here are some ideas for runners that i think would be cool:
those are just things that occurred to me while writing this entry. i haven't really thought much about it. that's where you come in: what would you like to be able to type into krunner and have happen?
dazzle me with your brilliance and imagination.
here are the runners we have so far:
- calculator: type in numbers, it spits out results
- search: type in a phrase and it'll search for it using strigi (or, eventually, whatever xesam backend you have)
- shell: runs shell commands
- sessions: lists and activates user sessions (ala "fast user switching")
- services: find applications by data in their .desktop files (so "file manager" might bring up, for instance, dolphin and konqueror)
- locations: directories, URLs and web shortcuts (e.g. wp:kde)
yes, it's pretty basic at this point. here are additional runners i'd like to see for 4.0:
- mimetype: give it a local file and it'll list the apps you can open it with
here are additional runners i'd like to see by 4.1:
- bookmarks: start typing a bookmark title and up it pops
- contacts: type a name, email/im, phone number, etc and get a list from your address book
- dates: enter a date, get your schedule ... or the option to add a new item to it?
here are some ideas for runners that i think would be cool:
- commands: semi-natural language commands like "do foo" where "foo" is an entry you've trained it on, or "new $SOMETHING" where $SOMETHING might be "document" or "spreadsheet" or whatever, or "help kword" might bring up the user manual for kword
- addresses: enter a street address and get a map?
- microblog: enter the name of a microblog service, e.g. twitter, followed by a message and have it sent to the service
- converter: enter something in one set of units, have it converted to another set
- API docs: enter a class name, get a link to the API docs?
those are just things that occurred to me while writing this entry. i haven't really thought much about it. that's where you come in: what would you like to be able to type into krunner and have happen?
dazzle me with your brilliance and imagination.
Monday, October 29, 2007
mobile computing: embedded gets bigger
i've been running into more and more interest and opportunity in the "embedded" space. i use that word in quotes because the machines i'm talking about are hardly the kind of things people used to use that word about. these devices have nice (relatively) high resolution screens, decent CPUs and amounts of memory and are capable of running sophisticated software stacks.
the Eee PC that recently came out contains a shwak of KDE software on it, and it pretty well sold out on its first day on the market in Asia. this is not only cool, it's a good example of the demand for these kinds of things.
playing with the moblin, watching people interact with it (including the p-man, who's a big fan of it now), has also been quite interesting.
with a media center avenue opening up (i've got a conf call this week about that, hopefully i can then share some more information on where that's all going once that's done), there's yet another place for our software.
i have been approached by people from a few different large tech vendors over the last several months asking for a hard contact point into the KDE community for these kinds of devices. as such, post-4.0 (only because i won't have the time until then), i'll be assembling a task force to do just that.
if you have experience with the KDE stack and small form factor devices and would like to get in on what could be a large addition to the KDE family, please contact me directly. you should be ready and willing to get your hands dirty with free software development on devices and be able to help maintain working relationships with other projects as well as companies in industry. we don't need a large group to get this started, just a dedicated one. i'm hoping that some of those who step can help lead this along so that it doesn't all fall onto my plate.
by starting the wheels moving on this now, we'll have a couple of months to formulate some coherent strategy and get the kernel of a mobile KDE community ... mobilized. (excuse the pun ;) come january we can work on increasing the number of people who are willing and able to participate on all aspects of the initiative.
peace ...
the Eee PC that recently came out contains a shwak of KDE software on it, and it pretty well sold out on its first day on the market in Asia. this is not only cool, it's a good example of the demand for these kinds of things.
playing with the moblin, watching people interact with it (including the p-man, who's a big fan of it now), has also been quite interesting.
with a media center avenue opening up (i've got a conf call this week about that, hopefully i can then share some more information on where that's all going once that's done), there's yet another place for our software.
i have been approached by people from a few different large tech vendors over the last several months asking for a hard contact point into the KDE community for these kinds of devices. as such, post-4.0 (only because i won't have the time until then), i'll be assembling a task force to do just that.
if you have experience with the KDE stack and small form factor devices and would like to get in on what could be a large addition to the KDE family, please contact me directly. you should be ready and willing to get your hands dirty with free software development on devices and be able to help maintain working relationships with other projects as well as companies in industry. we don't need a large group to get this started, just a dedicated one. i'm hoping that some of those who step can help lead this along so that it doesn't all fall onto my plate.
by starting the wheels moving on this now, we'll have a couple of months to formulate some coherent strategy and get the kernel of a mobile KDE community ... mobilized. (excuse the pun ;) come january we can work on increasing the number of people who are willing and able to participate on all aspects of the initiative.
peace ...
to bed on a sunday
well, i'm off to bed. it's 23:18 and i'm pretty tired. need to be up at 07:00 to get the p-man off to school.
after fixing backgroud painting (which is now in DesktopContaiment as it should be, thanks to some refactoring by Sean Harmer) on zoom and trying to fix more xinerama issues (Cedric continues to whack away at them as well), i looked into why the applet config was no longer getting saved.
i was getting a "KConfigGroup::writeEntry: unhandled type" on exit. i'd noticed this for a few days but thought, "hm. the last round of KConfig refactoring must've broken something..." but i didn't expect that it was simply not writing anything at all out. looking at the code i saw that there was a kFatal() call in there which meant that not only was it giving me that error ... it was prematurely exiting the app. since i wasn't expecting any further output at that point anyways, it just looked like the app exited normally. nope!
topping it off, the message didn't tell me what type of object was "unhandled" or in what config group it was failing. so i added some more useful information to the debug message and quickly spotted where the issue was:
turns out KConfigGroup no longer saved QRectF, QSizeF or QPointF. whoops. better yet, kconfiggroup.cpp didn't even compile anymore in trunk/, which was just plain neat-o. so i went and fixed the compile, added QRectF and QSizeF (Braxton beat me to QPointF) and everything went peachy from there.
now i'm back to having a panel which doesn't load applets with the correct geometries that were saved (but hey, at least they are being saved again ;). i believe this is due to using Plasma::BoxLayout for something it really isn't designed for. we need something halfway between FreeLayout and BoxLayout, so tomorrow i begin work on such a thing: Plasma::PanelLayout.
but right now at this very moment in time ... i trundle off to bed.
after fixing backgroud painting (which is now in DesktopContaiment as it should be, thanks to some refactoring by Sean Harmer) on zoom and trying to fix more xinerama issues (Cedric continues to whack away at them as well), i looked into why the applet config was no longer getting saved.
i was getting a "KConfigGroup::writeEntry: unhandled type" on exit. i'd noticed this for a few days but thought, "hm. the last round of KConfig refactoring must've broken something..." but i didn't expect that it was simply not writing anything at all out. looking at the code i saw that there was a kFatal() call in there which meant that not only was it giving me that error ... it was prematurely exiting the app. since i wasn't expecting any further output at that point anyways, it just looked like the app exited normally. nope!
topping it off, the message didn't tell me what type of object was "unhandled" or in what config group it was failing. so i added some more useful information to the debug message and quickly spotted where the issue was:
turns out KConfigGroup no longer saved QRectF, QSizeF or QPointF. whoops. better yet, kconfiggroup.cpp didn't even compile anymore in trunk/, which was just plain neat-o. so i went and fixed the compile, added QRectF and QSizeF (Braxton beat me to QPointF) and everything went peachy from there.
now i'm back to having a panel which doesn't load applets with the correct geometries that were saved (but hey, at least they are being saved again ;). i believe this is due to using Plasma::BoxLayout for something it really isn't designed for. we need something halfway between FreeLayout and BoxLayout, so tomorrow i begin work on such a thing: Plasma::PanelLayout.
but right now at this very moment in time ... i trundle off to bed.
Sunday, October 28, 2007
kde4 krush days: saturday!
this is a formal announcement1 that i will be hosting an all day issue identification, triaging and fixing day on saturday, november 3rd on irc in #kde4-krush.
we will spend the day running kde4 apps to identify outstanding issues, figure out which should be filed on bugs.kde.org, which we can fix right away, etc.
i invite all kde4 hackers and testers to join us to see just how many issues we can nail. if this saturday is a success, i'll try and make sure that these happen every week from here until 4.0 is released.
[1] because (a) blogs are sooo formal, and (b) this sort of announcment obviously must be made formally ;)
we will spend the day running kde4 apps to identify outstanding issues, figure out which should be filed on bugs.kde.org, which we can fix right away, etc.
i invite all kde4 hackers and testers to join us to see just how many issues we can nail. if this saturday is a success, i'll try and make sure that these happen every week from here until 4.0 is released.
[1] because (a) blogs are sooo formal, and (b) this sort of announcment obviously must be made formally ;)
weekend ho.
yesterday i went to a local open source festival where i presented the keynote (talked about kde4), did a talk on developing widgets with libplasma and then participated in a panel discussion. it was a relatively small event, but a good event all the same. met a some people that i had some really good conversations with and made a few useful connections as well, i think. generally positive way to spend my time. was a bit tired by the end of it all, so after taking the p-man out for a sushi dinner (he attended the event with me and was an angel the whole day) we can home, watched a video and then went to bed somewhat early (22:00 or so).
frerich's working on a little plasmoid viewer to make it easier to develop widgets for plasma as you don't have to restart the whole plasma desktop, just fired up this one little app. it doesn't do formfactors yet or anything, but that should be easy to add. it should be joining the engine explorer in svn soon in a new tools/ directory under workspace/plasma.
a few people are now testing and helping to debug plasma on xinerama so we should have that actually working properly by 4.0. yay! thanks a heap especially to Andreas Pakulat for his patience and testing. (if you see debug output that says "APAKU" in front it, that's a reference to Andreas)
the P-man is at a friend's right now on a "play date" (which essentially means "the parents scheduled a time for the kids to get together and play" .. ah, this modern world of parenting!) so i had a couple hours to myself to catch up with the weekend's email and patches.
i was meaning to keep this weekend fairly easy going, though i guess in retrospect i've been pretty busy the whole time. p's school event on friday evening; cossfest on saturday; playdate and some hacking today... but i don't feel tired, which is good. means i've turned a good corner.
this coming week is p's week at his mom's so i'll be able to go pretty hardcore on kde work. i'm looking forward to it.
frerich's working on a little plasmoid viewer to make it easier to develop widgets for plasma as you don't have to restart the whole plasma desktop, just fired up this one little app. it doesn't do formfactors yet or anything, but that should be easy to add. it should be joining the engine explorer in svn soon in a new tools/ directory under workspace/plasma.
a few people are now testing and helping to debug plasma on xinerama so we should have that actually working properly by 4.0. yay! thanks a heap especially to Andreas Pakulat for his patience and testing. (if you see debug output that says "APAKU" in front it, that's a reference to Andreas)
the P-man is at a friend's right now on a "play date" (which essentially means "the parents scheduled a time for the kids to get together and play" .. ah, this modern world of parenting!) so i had a couple hours to myself to catch up with the weekend's email and patches.
i was meaning to keep this weekend fairly easy going, though i guess in retrospect i've been pretty busy the whole time. p's school event on friday evening; cossfest on saturday; playdate and some hacking today... but i don't feel tired, which is good. means i've turned a good corner.
this coming week is p's week at his mom's so i'll be able to go pretty hardcore on kde work. i'm looking forward to it.
Thursday, October 25, 2007
plasma panel meeting
ruphy hosted the collaborative notes session (hopefully he posts those notes later today somewhere =); there were over a dozen people in attendance; i think we managed to enumerate all the big issues to deal with along with the 'how's for the most imminent ones. so, i'm satisfied with that, i suppose.
Wednesday, October 24, 2007
rambling forward to 4.0
warning: i'm not going to use the shift key in this blog entry. i just can't bring myself to do so; it's just not the day for it. ;)
today we have a meeting on irc about panels (what many people mistakenly refer to as "the taskbar", which is like referring to beavers as "the rodent") for plasma. we'll have both developers and artists there, so hopefully it will go well. i'll blog about the results of that meeting this evening after it's all over.
btw, every time i read a "i logged into kde 4.0 today and now i'm going to go on and on about plasma..." blog or email (i get several a day; think about what that must be doing to my soul) i die a little inside. it's not like they are saying anything i don't know, let alone say anything about the positive things happening (thank-you A. Pakulat and liquidat for bucking that trend =).
so when i read about korganizer on Cornelius' blog or avogadro and kalzium on Marcus' blog it makes me smile and cheer up a bit.
as for webkit vs khtml: it's a moot point because the market will decide. there will be two options and they will be used in proportion to how each aligns itself with the users of kde. for me personally that means having a light weight component that works perfectly on QGraphicsView. i already have that in QtWebKit. you do the math.
today we have a meeting on irc about panels (what many people mistakenly refer to as "the taskbar", which is like referring to beavers as "the rodent") for plasma. we'll have both developers and artists there, so hopefully it will go well. i'll blog about the results of that meeting this evening after it's all over.
btw, every time i read a "i logged into kde 4.0 today and now i'm going to go on and on about plasma..." blog or email (i get several a day; think about what that must be doing to my soul) i die a little inside. it's not like they are saying anything i don't know, let alone say anything about the positive things happening (thank-you A. Pakulat and liquidat for bucking that trend =).
so when i read about korganizer on Cornelius' blog or avogadro and kalzium on Marcus' blog it makes me smile and cheer up a bit.
as for webkit vs khtml: it's a moot point because the market will decide. there will be two options and they will be used in proportion to how each aligns itself with the users of kde. for me personally that means having a light weight component that works perfectly on QGraphicsView. i already have that in QtWebKit. you do the math.
Monday, October 22, 2007
sometimes i forget what i need
sometimes i forget
that i am made
of the same stuff
i have always been
made of, and
that the fault line
spanning the center
remains
i forget that i
was not born happy
nor satisfied
nor complete
but have learned to be
through effort
and practice
that i am made
of the same stuff
i have always been
made of, and
that the fault line
spanning the center
remains
i forget that i
was not born happy
nor satisfied
nor complete
but have learned to be
through effort
and practice
i went to the mountains today. or rather, t. took me to the mountains today. it was necessary, timely.
we sat by a river rushing fast. rocks were lain on, stepped on, thrown in and watched. the water pushed on and past these rocks, while trees observed us quietly from the banks moving through the wind with that unmistakable dignity. animals could be heard, and occasionally seen, going about their pre-winter busy-ness.
i feel a lot better, in contrast to the last month or so spent simply moving one foot in front of the other. being near water in a forest with someone that i feel connected with ... it is a recipe for healing.
... now to put a string of days together where i feel this whole again.
Friday, October 19, 2007
moblin, shopping
I received a Moblin device from Intel today via FedEx. It looks something like the picture you see here but with a bunch more hardware gadgetry around it such as a minikeyboard, some status lights, a jog wheel / mouse thingy, etc. It also has a couple of USB ports, an SD card reader, headphones, a camera and probably other things I haven't noticed or figured out yet.update: i had a chance to look at the hardware specs and it has 1GB of RAM, 0.5GB of available disk and a fairly decent CPU (looks like a standard intel chip that clocks at around 800mhz, though that's probably speedstepped down). fairly beefy thing. if only it had come with documentation so i could get complete specs.
It's a Samsung product, and while the hardware is mostly finished and pretty good the software is another story. To be honest, the software on it is atrocious. It's beta stuff though so that's to be expected. I'll be putting Plasma on here at some point, mostly to prove a theory of mine: we don't have to rewrite software to target consumer electronic (CE) devices. That is, if we write the software correctly in the first place we don't have to.
The (touch) screen on this thing is bright and big (1024x600x32) so we don't have to cram things into tiny microspaces. In fact, it's much bigger than necessary for a Plasma based interface. The customization required will be a Corona subclass to reimplement loadDefaultSetup (obviously we want a different set of default plasmoids) and a very simple Containment class (probably much like the Amarok one, actually). There's no need for context menus or toolboxes, so that makes things even simpler. When we get around to implementing a configuration based default setup, the Corona subclass with it's entire one method ;) will also be unnecessary.
The upside of this approach is quicker devel cycles and fewer bugs due to being able to ride the coat tails of desktop development (and vice versa, I suppose). Need an icon to launch an app? Plasma has those already, and unlike the ones in the beta software that came on this Moblin device they actually work properly.
Right now people are rewriting interfaces pretty much from the ground up for these kinds of devices which really shouldn't be necessary. There are some special needs, like the webbrowser, that need special UI attention ... but the main interface should be trivial to construct from existing technology that gets shared with other form factors such as the desktop.
The Moblin Image Creator, which one uses to create bootable images for the device, is pretty nicely done imho. It's a PyGtk app with a bunch of buttons that lets one manage the software added to a base install. Clicking on one of the install buttons at the bottom, you get a USB device with the image installed which you then use to boot the Moblin device off of. You can also test it in a Xephyr window first, of course.
Don't have much time to play with it today though as I've got a full plate of Plasma stuff to do and I have to go shopping for toiletries as when I arrived in Munich my luggage arrived on the baggage carousel open with a bunch of stuff, mostly toiletries, no longer inside of it. I suppose the zipper got snagged on something along the way and got pulled open. I reported the incident, of course, but still ... I really didn't want to go shopping for hair products and razors today.
back home.
Munich was wildly productive. There are some literally huge opportunities for us right now in the consumer electronics market, and I now have more things to think about than ever before. =) The second KDE dev lab which was attended by a good number of KDE hackers including Till who really helped out with the discussions, lasted nearly 5 hours. Which was only 4 hours overtime. ;)
Apparently one of the Trolls waited outside for nearly an hour for us to finish and come out so she could speak with me about some organizational details before she gave up. Whoops. =)
Unfortunately I was without internet for most of the last three days, but I'm back home where the bandwidth runs deep and wide. Yeehaw.
Tomorrow is a plasma hacking day, so I went through the bug reports this evening. Had to close one wishlist item asking for Google Gadget support. Sadly, their EULA is too restrictive to ship anything that uses their Google Desktop APIs. Google can be so friendly to Free software at times and completely bonkers at others. This is far too often the bane of companies as they grow: the culture is not consistent. Oh well... I'm not overly fond of supporting N different kinds of widgets anyways. Why?
For one it'll increase the overhead as we support N different APIs and ways to load things. More importantly, though, these gadgets will always be second class citizens. They won't know about form factors, they won't use engines, etc.. They just won't be As Good(tm). Meantime, they'll blunt the paint enough to discourage people from writing more real plasma widgets. *shrug*
One of the bug reports kind of bugged me, though, as it was a legitimate request but framed in usability punditry. I prefer it when people just state their case clearly and from a first-person perspective versus try and convince me through constructed arguments.
At least the people were nice, though. Way too often these days I'm seeing people who seem to feel I need to put with their crap. To those people I suggest either trading things I need or want with me as an incentive for me to pretend to be Ok with the crap or be nice or go away. I really don't particularly care which of the three happens (though I probably prefer the second option), but the assumption I care enough about whingers to deal with them is probably not particularly valid. ;) It's no lie that part of why I do this stuff is because it's enjoyable. Take that enjoyability away and watch how little I pay attention to what you care about.
Tomorrow is "make the new toolbox work and look nice" day, because I'd really like that wrapped up and it's sort of fun to play with.
Right now I'm off for a good night's sleep ... I had a brief nap before waking up to eat my first decent meal of the day and catch up with some communications, but I'm tired again.
Apparently one of the Trolls waited outside for nearly an hour for us to finish and come out so she could speak with me about some organizational details before she gave up. Whoops. =)
Unfortunately I was without internet for most of the last three days, but I'm back home where the bandwidth runs deep and wide. Yeehaw.
Tomorrow is a plasma hacking day, so I went through the bug reports this evening. Had to close one wishlist item asking for Google Gadget support. Sadly, their EULA is too restrictive to ship anything that uses their Google Desktop APIs. Google can be so friendly to Free software at times and completely bonkers at others. This is far too often the bane of companies as they grow: the culture is not consistent. Oh well... I'm not overly fond of supporting N different kinds of widgets anyways. Why?
For one it'll increase the overhead as we support N different APIs and ways to load things. More importantly, though, these gadgets will always be second class citizens. They won't know about form factors, they won't use engines, etc.. They just won't be As Good(tm). Meantime, they'll blunt the paint enough to discourage people from writing more real plasma widgets. *shrug*
One of the bug reports kind of bugged me, though, as it was a legitimate request but framed in usability punditry. I prefer it when people just state their case clearly and from a first-person perspective versus try and convince me through constructed arguments.
At least the people were nice, though. Way too often these days I'm seeing people who seem to feel I need to put with their crap. To those people I suggest either trading things I need or want with me as an incentive for me to pretend to be Ok with the crap or be nice or go away. I really don't particularly care which of the three happens (though I probably prefer the second option), but the assumption I care enough about whingers to deal with them is probably not particularly valid. ;) It's no lie that part of why I do this stuff is because it's enjoyable. Take that enjoyability away and watch how little I pay attention to what you care about.
Tomorrow is "make the new toolbox work and look nice" day, because I'd really like that wrapped up and it's sort of fun to play with.
Right now I'm off for a good night's sleep ... I had a brief nap before waking up to eat my first decent meal of the day and catch up with some communications, but I'm tired again.
Sunday, October 14, 2007
happy birthday kde =)

KDE turns 11 today. What a ride it's been, what a journey it will be! Thank you to everyone who has made my own personal experience in this community an amazing one. Happy birthday to us all! =)
speaking of being mistaken for someone ...
... under the title "Kubuntu endorsed by Peyton Manning and Tom Green", someone on digg says "The kubuntu.org website depicts the two celebrities showing their support for Kubuntu while the community gears up for the release of 7.10"
and of course, if you go to the kubuntu main page you'll see a couple of mugs who bear resemblance to those two well known people ... but who certainly aren't them. one of them is, in fact, yours truly. the aaron-is-actually-tom-green joke started over three years ago when kde people met me in person for the first time in ludwigsburg and noticed the, shall we say, resemblance. not only has the joke yet to end, but it's finding new places to pop up on the 'net. oh frabjous joy. =)
i was informed about the digg article on irc, which resulted in the following snippet of conversation ...
indeed.
and of course, if you go to the kubuntu main page you'll see a couple of mugs who bear resemblance to those two well known people ... but who certainly aren't them. one of them is, in fact, yours truly. the aaron-is-actually-tom-green joke started over three years ago when kde people met me in person for the first time in ludwigsburg and noticed the, shall we say, resemblance. not only has the joke yet to end, but it's finding new places to pop up on the 'net. oh frabjous joy. =)
i was informed about the digg article on irc, which resulted in the following snippet of conversation ...
[01:10] <SSJ_GZ> aseigo: Now that I've seen it, I can't un-see it :)
[01:12] <Chani> aseigo: maybe we should get you a t-shirt saying "I am not tom green"
[01:14] <SSJ_GZ> We'll need an "I'm not Aaron Seigo" one for Tom, then - just to be fair :)
indeed.
new toolbox, another trip (Munich)
Hey, ho, another day, yo. (It had to be said. The day was not lame enough yet.)
So besides the new menu being just about ready to go, I'm nearly done with the new toolbox. It sits in the upper right corner as a translucent quarter circle with a little icon in it (right now I'm using the configure icon, but I want to replace it with the plasma icon once it's in Oxygen). When you mouse into the area it expands and a set of tools emerge from it (add widgets, zoom, etc) that you can then click on. When you are done, you mouse out and it slides back into the corner out of your way.
This encouraged me to add support for generic, as opposed to stock, animations in Phase which don't use Animator. This allows us to write little animations without having to use separate timers or timelines. Things also just look so much ... "together" when they are all animated on the same tick. So this is another win for power consumption as well as look 'n feel.
I'm also really happy with how the kickoff-inspired menu is coming together for 4.0. We've managed to keep things like mouse over activation of tabs while getting rid of the jumpiness of it (both real and perceived, both of which had a role to play). It could be even more Zackesqy, but we only have so much time before 4.0 and I've got to jump on other parts of things that are way below where they need to be (panels are minimal right now and krunner is still awaiting it's cosmetic surgery). I suppose that gives us stuff to work on for 4.1 ;)
Now, if you were hoping for screenshots: nope. =) Screenshots just aren't that interesting with these interfaces which really have to be experienced. Even the screencasts hardly do things justice as they are too jumpy; projectors ("beamers" to the Deutsch; I love that name for them =) don't do it justice either. Matt Rogers commented on how much nicer the fade out anim on the line edit clear button was when viewed on screen versus the projector I showed it on in Cali the other week due to the projector's refresh and clarity not being up to snuff.
Regardless, I do feel really bad about not having that screen cast together for you. Things have been busy this week trying to work on plasma while having a gaggle of meetings to also take care of. (Waking up with a fever that one day probably didn't help? =) We'll see if I get to it tomorrow morning, but that depends on how the house work goes as I have to have it all done (including being packed) by 16:15 in order to catch my flight to LHA on route to Munich where I'll be until Thursday. If it's any consolation, I've hardly dented the new Gibson book which shows just how crazy things have been.
If you're in the Munich area and would like to meet up for a visit, please get a hold of me. I'll be at the Trolltech Dev Days keynoting about KDE4 again. I've reworked my presentation from the Cali show to fit better into 40 minutes and hit some of the points I wished I had after having talked to some people afterwards. I understand that there will be nearly 500 people at this event, so this is a really nice opportunity to spread the word about cross platform development and what KDE4 is bringing to table in that regard.
Speaking of Munich, I took a quick look online to see what's going on in the city on the days I'm there and holy crap are there a lot of cultural events, like opera and "classical" music concerts, that happen there. At least compared to Calgary which, comparatively, has 80% of the population but probably only 5% of the culture. =)
I should also pop a shout-out to Marcel Gagne, fellow Canadian, F/OSS advocate extraordinaire, writer and all around nice guy, for having presented at the Ontario LinuxFest today about KDE4. I wish I'd been there to hang out a bit and meet one of the plasma devs (Shawn of the Weather) that showed up.
Anyways ...
So besides the new menu being just about ready to go, I'm nearly done with the new toolbox. It sits in the upper right corner as a translucent quarter circle with a little icon in it (right now I'm using the configure icon, but I want to replace it with the plasma icon once it's in Oxygen). When you mouse into the area it expands and a set of tools emerge from it (add widgets, zoom, etc) that you can then click on. When you are done, you mouse out and it slides back into the corner out of your way.
This encouraged me to add support for generic, as opposed to stock, animations in Phase which don't use Animator. This allows us to write little animations without having to use separate timers or timelines. Things also just look so much ... "together" when they are all animated on the same tick. So this is another win for power consumption as well as look 'n feel.
I'm also really happy with how the kickoff-inspired menu is coming together for 4.0. We've managed to keep things like mouse over activation of tabs while getting rid of the jumpiness of it (both real and perceived, both of which had a role to play). It could be even more Zackesqy, but we only have so much time before 4.0 and I've got to jump on other parts of things that are way below where they need to be (panels are minimal right now and krunner is still awaiting it's cosmetic surgery). I suppose that gives us stuff to work on for 4.1 ;)
Now, if you were hoping for screenshots: nope. =) Screenshots just aren't that interesting with these interfaces which really have to be experienced. Even the screencasts hardly do things justice as they are too jumpy; projectors ("beamers" to the Deutsch; I love that name for them =) don't do it justice either. Matt Rogers commented on how much nicer the fade out anim on the line edit clear button was when viewed on screen versus the projector I showed it on in Cali the other week due to the projector's refresh and clarity not being up to snuff.
Regardless, I do feel really bad about not having that screen cast together for you. Things have been busy this week trying to work on plasma while having a gaggle of meetings to also take care of. (Waking up with a fever that one day probably didn't help? =) We'll see if I get to it tomorrow morning, but that depends on how the house work goes as I have to have it all done (including being packed) by 16:15 in order to catch my flight to LHA on route to Munich where I'll be until Thursday. If it's any consolation, I've hardly dented the new Gibson book which shows just how crazy things have been.
If you're in the Munich area and would like to meet up for a visit, please get a hold of me. I'll be at the Trolltech Dev Days keynoting about KDE4 again. I've reworked my presentation from the Cali show to fit better into 40 minutes and hit some of the points I wished I had after having talked to some people afterwards. I understand that there will be nearly 500 people at this event, so this is a really nice opportunity to spread the word about cross platform development and what KDE4 is bringing to table in that regard.
Speaking of Munich, I took a quick look online to see what's going on in the city on the days I'm there and holy crap are there a lot of cultural events, like opera and "classical" music concerts, that happen there. At least compared to Calgary which, comparatively, has 80% of the population but probably only 5% of the culture. =)
I should also pop a shout-out to Marcel Gagne, fellow Canadian, F/OSS advocate extraordinaire, writer and all around nice guy, for having presented at the Ontario LinuxFest today about KDE4. I wish I'd been there to hang out a bit and meet one of the plasma devs (Shawn of the Weather) that showed up.
Anyways ...
birthday party! and, on being mistaken for an employee
Went with the P-man today to a birthday party at the U of C gymnastics centre. It was a lot of fun with kids running all over the padded gym climbing on various pieces of equipment. There was one instructor for all 20-something kids so the parents that stayed served as spotters, supervisors and general helpers. P. had an awesome time and it was another great opportunity for him to bond a bit more with his still new-ish classmates. He particularly liked the rings, swinging back and forth on them.
At one point in the day another one of the parents who I hadn't met yet came up and started to ask me questions about the facility, the equipment, etc. that I really didn't have the answers to. I wasn't quite sure why he was asking me and I certainly didn't have answers for him, so I suggested he ask the instructor who worked there. At which point he said that he had mistaken me for being someone who worked there. Yes, that's right, he mistook me for a gymnastics instructor, which is so absurd that I struggled to not start laughing. (Which I'm sure he would've misinterpreted as me laughing at him; I've learned that one the hard way)
Second to people insisting that we've met before ("Trust me, we haven't," has become my stock reply), this is the second most frequent odd mistake strangers make about me in daily interactions. At least when I'm in a good place inside; when I'm down or not feeling particularly "myself" it never happens. So I guess that's a good sign?
Though it is a little unnerving at times to be walking through a book store or some such and have some complete and random stranger come up and start asking where such-and-such would be found or what the price on a given thing is. It always takes me a few moments to figure out what's really going on, prior to which I usually try and come up with an answer for them as my mind spins a bit. Which only makes the interaction more bizarre.
This is why I always ask someone if they work there before I start peppering them with customer type questions. And besides, that's why they put the workers in uniforms: to tell them apart from innocents like me.
Though I suppose this is an improvement over when I was younger (young?) and it was fairly routine for security to follow me around through stores. I was, after all, so menacing and dodgy looking back then. *smirk*
What sort of odd things do people mistake you for being / doing?
At one point in the day another one of the parents who I hadn't met yet came up and started to ask me questions about the facility, the equipment, etc. that I really didn't have the answers to. I wasn't quite sure why he was asking me and I certainly didn't have answers for him, so I suggested he ask the instructor who worked there. At which point he said that he had mistaken me for being someone who worked there. Yes, that's right, he mistook me for a gymnastics instructor, which is so absurd that I struggled to not start laughing. (Which I'm sure he would've misinterpreted as me laughing at him; I've learned that one the hard way)
Second to people insisting that we've met before ("Trust me, we haven't," has become my stock reply), this is the second most frequent odd mistake strangers make about me in daily interactions. At least when I'm in a good place inside; when I'm down or not feeling particularly "myself" it never happens. So I guess that's a good sign?
Though it is a little unnerving at times to be walking through a book store or some such and have some complete and random stranger come up and start asking where such-and-such would be found or what the price on a given thing is. It always takes me a few moments to figure out what's really going on, prior to which I usually try and come up with an answer for them as my mind spins a bit. Which only makes the interaction more bizarre.
This is why I always ask someone if they work there before I start peppering them with customer type questions. And besides, that's why they put the workers in uniforms: to tell them apart from innocents like me.
Though I suppose this is an improvement over when I was younger (young?) and it was fairly routine for security to follow me around through stores. I was, after all, so menacing and dodgy looking back then. *smirk*
What sort of odd things do people mistake you for being / doing?
Wednesday, October 10, 2007
bleh
Woke up ill today. Took the opportunity to read a bit of Spook Country. Missed a conf call with IBM which is being rescheduled due to that. Starting to feel a bit better as the day wears on, though. Have an idea I want to hack on now as a replacement for the desktop toolbox. One more step towards making plasma ready for prime time. I won't be doing the screen cast today as that takes an amount of a type of energy I just don't have today due to feeling ill as I do. *sigh*
In better news, Kickoff is just about ready to be integrated officially and should be in the next release (rc1?). I'll hopefully show that in the screencast as well, but the recording will have to wait until I feel better.
In better news, Kickoff is just about ready to be integrated officially and should be in the next release (rc1?). I'll hopefully show that in the screencast as well, but the recording will have to wait until I feel better.
i owe a screencast, but first w. gibson
I merged a ton of stuff out of playground today into extragear and kdebase for plasma, not to mention fixed a number of other bugs. I also merged a few patches from completely new people on the scene, too, which is always very cool =) Hopefully much of this made it into beta3.
Here's a secret: I leave bugs in my code just to give new people something to patch. I'm kidding ... or am I? ;P
Short story of it is that I owe everyone a screencast, especially to show the concept of containments. Tomorrow I'm going to work on wrapping KickOff and getting that finally done. Robert Knight has done a great job of essentially rewriting it from KDE3, and the OpenSUSE people did a great job of initially creating the thing. Raptor will come, just not with 4.0.
Tonight's work has all been swept away, however, by attending a book reading with William Gibson for his new book Spook Country. He's an amazingly boring reader with the most monotone voice imaginable, but his actual thoughts and ideas are amazingly sharp and inspirational. A real character.
He signed my book and I managed to get him an invite to a show for an artist he's interested in on behalf of an aquaintance who lives in D.C. William Gibson seemed interested, so the art show guy should be happy when I email him tomorrow =)
For now, people have come over to discuss the night's event before we all turn in.
Hugs 'n love.
Here's a secret: I leave bugs in my code just to give new people something to patch. I'm kidding ... or am I? ;P
Short story of it is that I owe everyone a screencast, especially to show the concept of containments. Tomorrow I'm going to work on wrapping KickOff and getting that finally done. Robert Knight has done a great job of essentially rewriting it from KDE3, and the OpenSUSE people did a great job of initially creating the thing. Raptor will come, just not with 4.0.
Tonight's work has all been swept away, however, by attending a book reading with William Gibson for his new book Spook Country. He's an amazingly boring reader with the most monotone voice imaginable, but his actual thoughts and ideas are amazingly sharp and inspirational. A real character.
He signed my book and I managed to get him an invite to a show for an artist he's interested in on behalf of an aquaintance who lives in D.C. William Gibson seemed interested, so the art show guy should be happy when I email him tomorrow =)
For now, people have come over to discuss the night's event before we all turn in.
Hugs 'n love.
Monday, October 08, 2007
happy thanksgiving
It's Thanksgiving Day here in Canada. The P-man has the day off from school today and we had a big family dinner last night, replete with turkey (both the animal and the tofu kind ;), potatoes in various formats, asparagus and cranberry sauce. Oh, and dessert. Lots of dessert.
Besides pigging out yesterday, I also tracked down with some of the other Plasma hackers some of the more obvious and showstopper bugs so that when Beta3 gets tagged today it'll be mildly useful. Most applets and engines still haven't been moved over from playground yet (my fault, really) so the next release will likely be the most useful one for people.
In any case, Happy Thanksgiving everyone ...
Besides pigging out yesterday, I also tracked down with some of the other Plasma hackers some of the more obvious and showstopper bugs so that when Beta3 gets tagged today it'll be mildly useful. Most applets and engines still haven't been moved over from playground yet (my fault, really) so the next release will likely be the most useful one for people.
In any case, Happy Thanksgiving everyone ...
Sunday, October 07, 2007
personal
went out tonight. was terrific. canadian bands traveling the land (it rhymes!) played tonight. on the way home we passed some people on the sidewalk outside a posh place going on about the homeless plight in the city. one of them quoted our recently previous premiere, ralph "the clown" klein. he was telling the story, as if it were something great, about how klein had stopped his limo whilst completely smashed (as in "drunk out of his skull") to berate the homeless at a shelter by telling them to "go get jobs, you bums!".
i had to stop. i had to call him down for the idiot he was being.
see, people love to look superior. the easiest way to do that when you aren't is to quote others who have positions of gifted authority. the hard way is to actually come up with something actually brilliant. i feel compelled to debate when they don't.
tonight their women came to my defense and tried to explain to me that they had been drinking .. blah blah blah blah blah ... and i should just move on because their men were soooo dangerous , obviously.
i don't negotiate with terrorists. (that's a g. w. bush joke.) or drunk idiots. (same difference?)
so, while very much appreciating their protection, i told their girlfriends that i've been in much more dangerous situations in my life and really ... if i didn't stand up for the city i lived in who would? when would i?
so the fellow came over and said he was from the east where everyone was a bum, so why would he say something like that in seriousness? insert laughter. at which point i asked him, "exactly. why would you?" re-enter the aggression and the girlfriends.
one fellow asked who i was to come in with all the big words (indeed, "espouse" is a big word isn't it?) and then another spotted the kde pin i was wearing and said ... "go back to linux land!"
i paused.
"wow," said i, "that's so cool. you recognized. good for you." and i turned away back home.
witness the power of the kde logo ;)
i have to say ... being in a situation like that and having someone actually notice, know and verbalize the kde identity, it made me feel enthused. recently, i have been thinking about how to deal with all the shallow and short-sighted behaviour, much the same as which i witnessed tonight, in the technology community.
i had to stop. i had to call him down for the idiot he was being.
see, people love to look superior. the easiest way to do that when you aren't is to quote others who have positions of gifted authority. the hard way is to actually come up with something actually brilliant. i feel compelled to debate when they don't.
tonight their women came to my defense and tried to explain to me that they had been drinking .. blah blah blah blah blah ... and i should just move on because their men were soooo dangerous , obviously.
i don't negotiate with terrorists. (that's a g. w. bush joke.) or drunk idiots. (same difference?)
so, while very much appreciating their protection, i told their girlfriends that i've been in much more dangerous situations in my life and really ... if i didn't stand up for the city i lived in who would? when would i?
so the fellow came over and said he was from the east where everyone was a bum, so why would he say something like that in seriousness? insert laughter. at which point i asked him, "exactly. why would you?" re-enter the aggression and the girlfriends.
one fellow asked who i was to come in with all the big words (indeed, "espouse" is a big word isn't it?) and then another spotted the kde pin i was wearing and said ... "go back to linux land!"
i paused.
"wow," said i, "that's so cool. you recognized. good for you." and i turned away back home.
witness the power of the kde logo ;)
i have to say ... being in a situation like that and having someone actually notice, know and verbalize the kde identity, it made me feel enthused. recently, i have been thinking about how to deal with all the shallow and short-sighted behaviour, much the same as which i witnessed tonight, in the technology community.
Wednesday, October 03, 2007
qt roadmap
Matthias Ettrich is up now doing the Qt platform directions talk, speaking about where Qt is goingin 4.4 and 4.5. He covered:
There are apparently plans for at least a 4.7 and there are no current plans for Qt5. If a Qt5 were to happen, it wouldn't be before 2011/2012 and it would not be a major API design break with Qt4 as Qt4 was to Qt3. However, they feel that Qt4 has what is needed for years of innovation to come and so there are no plans at all for a Qt5 right now.
Neat =)
- WebKit: merging web technologies and desktop applications. Things like accessing signals/slots from javascript or moving things around in the DOM from C++
- Mobile: mobile
- Enhanced XML support: xml streams (in 4.3 actually) and they are looking at a better xml tree implementation; XQuery/XPath are coming
- IPC: shared memory and locks, file mapping and local sockets ... all crossplatform
- Concurrency framework: multithreaded apps with mutexes and wait conditions in your app code
- Multimedia: audio and video playback. Yes, this is Phonon. =) QuickTime, DirectX and GStreamer backends are all coming.
- Help system: WebKit for rendering, componentized (viewer, index, contents, full text search)
- Fully resolution independent user interfaces (and then we can use this in Plasma instead of our own set of widgets)
- Qt for Cocoa: 64-bit Mac version based on the Cocoa API
- QPlainTextEdit
- Next generation of Itemviews to make them rock a lot more, though just how was light on details; apparently this is an ongoing field of research right now for the Trolls
- More Qt Jambi, following the Qt release cycle
There are apparently plans for at least a 4.7 and there are no current plans for Qt5. If a Qt5 were to happen, it wouldn't be before 2011/2012 and it would not be a major API design break with Qt4 as Qt4 was to Qt3. However, they feel that Qt4 has what is needed for years of innovation to come and so there are no plans at all for a Qt5 right now.
Neat =)
qt coolness
Just watched a live demo of the same Qt app running, with a rather different form factors, on a Windows Mobile device and then on a desktop. A stated goal is now to unify development for desktop and mobile operating systems, just as Qt has already done this for desktop operating systems. Now they are talking about eliminating the differences between web 2.0 apps and desktop apps via WebKit and Qt.
More platforms, more continuity, less code to write. Qt 4.4 is going to be freaking sweet. As if 4.3 wasn't good enough already ;)
On a related note, Richard Hughes has put out a call for a Qt front end for PackageKit. Might make for a really cool project, no?
More platforms, more continuity, less code to write. Qt 4.4 is going to be freaking sweet. As if 4.3 wasn't good enough already ;)
On a related note, Richard Hughes has put out a call for a Qt front end for PackageKit. Might make for a really cool project, no?
dev days kicks off
I'm sitting in the front row of a large banquet hall in Redwood City, California having happily found a working access point so I do important things like .. blog. ;)
Right now Haavard, co-founder of Trolltech and fearless leader, is presenting his opening talk. It's going quite nicely, starting with an overview of where they came from and now where they are going on the business side. Between acquiring FONAV and beefing up the business management team across the board, the future looks bright.
I'm up next to talk to the 200 or so people here about KDE4. I'll be highlighting the connections between KDE, Qt, Trolltech and the community at large. Unlike most of the events I do, this one is not community oriented but much more corporate. It's still a technical audience, though, so I get to express my inner geek as always. I am, however, wearing the sort of clothes one has to iron. No t-shirts with crazy slogans today. =P
Right now Haavard, co-founder of Trolltech and fearless leader, is presenting his opening talk. It's going quite nicely, starting with an overview of where they came from and now where they are going on the business side. Between acquiring FONAV and beefing up the business management team across the board, the future looks bright.
I'm up next to talk to the 200 or so people here about KDE4. I'll be highlighting the connections between KDE, Qt, Trolltech and the community at large. Unlike most of the events I do, this one is not community oriented but much more corporate. It's still a technical audience, though, so I get to express my inner geek as always. I am, however, wearing the sort of clothes one has to iron. No t-shirts with crazy slogans today. =P
Tuesday, October 02, 2007
yes, sarah, i'm still alive
Man oh man, it's been a while since my last blog. A week or something. Yeesh. Sadly, I don't have much time for a blog entry right now either ... I have to be somewhere in 45 minutes and have stuff to commit before I do that, and then tomorrow morning it's off to California for Trolltech Dev Days where I'll be keynoting.
So I see that the Ubuntu Fridge is covering our visit to the Canaries. Neat.
Work on Plasma today and yesterday was mostly about tracking down annoying bugs and clearing up some of the API so that it's more flexible. The containment stuff is working pretty well and thanks to Alex Merry we have a Containment based Panel basically working. Huzzah.
Over the last week I've also been talking to a number of people: Canonical folk, AMD folk, IBM folk ... various pots bubbling on the ol' stove.
I did take some time out to watch a rugby match or two. I have soft spot in my heart for the South Pacific islands, so I had to watch Tonga's and Fiji's matches. I think Tonga did terrific against England, and Fiji's upset of Wales was one of the most exciting (if not the prettiest =) games of rugby I've seen in a long time. New Zealand is, as always, rediculously impressive; to see them clean out Australia would be great fun. ;)
That was really just a way to get some attention from all my friends (and enemies? ;) in Australia. =P Speaking .au, looks like I'll be heading to Linux.conf.au 2008. Whee!
p.s. I have no idea who the title character, "Sara", is. It just sounded right. Love, hugs and jubilations.
So I see that the Ubuntu Fridge is covering our visit to the Canaries. Neat.
Work on Plasma today and yesterday was mostly about tracking down annoying bugs and clearing up some of the API so that it's more flexible. The containment stuff is working pretty well and thanks to Alex Merry we have a Containment based Panel basically working. Huzzah.
Over the last week I've also been talking to a number of people: Canonical folk, AMD folk, IBM folk ... various pots bubbling on the ol' stove.
I did take some time out to watch a rugby match or two. I have soft spot in my heart for the South Pacific islands, so I had to watch Tonga's and Fiji's matches. I think Tonga did terrific against England, and Fiji's upset of Wales was one of the most exciting (if not the prettiest =) games of rugby I've seen in a long time. New Zealand is, as always, rediculously impressive; to see them clean out Australia would be great fun. ;)
That was really just a way to get some attention from all my friends (and enemies? ;) in Australia. =P Speaking .au, looks like I'll be heading to Linux.conf.au 2008. Whee!
p.s. I have no idea who the title character, "Sara", is. It just sounded right. Love, hugs and jubilations.
Subscribe to:
Posts (Atom)
