news aggregator
May 9, 2008
I had submitted two abstracts in April to two conferences over the summer. The good news is both of them have been accepted!
o OpenSolaris Developer Conference, June 25-27, 2008 Prague, Czech Republic.
o GUADEC 2008, July 7-12, 2008, Istanbul, Turkey.
The schedule for both conferences have now been published OSDEVCON 2008 schedule and GUADEC 2008 schedule.
The OSDEVCON is also about Printing Tools, it is primarily concentrated on Presto on OpenSolaris Desktop. While I have been looking forwards going to Prague (never been there before) to talk about Presto and also meet face to face with many of the OpenSolaris developers. Despite all the good reasons to go, I could not make it due to unforeseen family circumstances. So to this end, Michal Pryc has kindly agreed to present the paper on my behalf. Thanks Migi!
The GUADEC session is a BOF on Printing Tools, so in order to make it to work well, I need input/involvement of the communities. So I really look forwards to see everyone who is interested in printing or your applications have printing elements in them to be there! I plan to provide you an update on the GSOC project that I am mentoring on Integrated Printer Management. So Rui, pressure is ON!
In which our heros (mostly uwog) talk about all things AbiWord.
http://www.redhatmagazine.com/2008/05/08/abiword-team-interview/
Thanks mether!
I finally got a copy of Getting things done from Amazon about 3 weeks ago. Now if only I could find the time to read it…
Your application used to be single threaded, and is consuming a resource that is not thread-safe. You’re splitting your application into two or more threads. Both threads want to consume the non-thread-safe resource.
In this GNOME-Live item I explain how to use GThreadPool for this
It’s a wiki so if you find any discrepancies in the sample and or text, just correct them. I’m subscribed so I’ll review it that way.
The GNOME-Live item is done in a similar way to the item about using asynchronous DBus bindings and the AsyncWorker item.
There are days when one takes a step back and thanks whosoever is watching above us for being generous, kind and making magic happen. Magic has been happening for a decade now
A few years back, like everything else, the RoyalMail got privatised – can’t exactly remember when, since I wasn’t really paying attention, and they did it in stages. Anyway since privatisation things haven’t always gone well, but there is at least something they are doing right – you can buy postage online!
Just weigh and measure your letter or parcel, enter the address, and pay (either from a prepay account or on a credit card) and presto a pdf label in a choice of formats (DL envelope, quarter, half, or whole A4) is created. Print, stick, and then post in any postbox. I don’t think I’ve sent as much mail in the last 5 years as the last couple of months – partly because now I’ve discovered this service, putting DVD’s and books on Amazon is a lot less daunting and friends and family have benefited from my new found postal renaissance. It’s easy to work out the postage beforehand (to see if the item is even worth selling) and then no mad rush to the post office to get the parcel sent once it’s gets sold.
Now, despite all this gushy gushy stuff, the service is far from perfect. The doesn’t appear to be a developer API, so no direct integration with Amazon, Ebay, Evo Addressbook, or other service is possible (yet). Hence lots of annoying copying and pasting. It would be useful to be able to build up a page of labels to avoid wasting paper printing each label in the top left corner. Also they use some layer feature on the pdf’s that doesn’t work (yet) in Evince, so I had to install the official Adobe reader.
Now if they can just stop losing mail (and money) things will be golden.
Deirdre did a rocking job at recording the intros at the summit. I totally recommend anyone who couldn’t attend the summit to check them out and match faces with names. Thanks Deirdre!
May 8, 2008
Well. Everyone's a winner as long as your software doesn't suck.
I've talked about the benefits of the tickless kernels and reducing wakeups and spending longer in deep C states before, so if you don't know about them then go and read that first. This time I'm going to focus on a different level of hardware, and a different level of suck.
For a long time, laptops supported changing the speed of processors when switching between AC and battery. CPU power consumption is proportional to frequency, so dropping the frequency meant a longer battery life. Of course, it also meant that it took longer to get anything done - the reason this was still a win was because CPUs in those days consumed just as much power when idle as when running. Transmeta introduced a technology called Longrun with their Crusoe processors, bringing the ability to drop both the frequency and the voltage of the CPU simultaneously. With power consumption being proportional to the square of the voltage, even a small drop resulted in worthwhile power savings. As the only really worthwhile thing Transmeta brought to the x86 world[1], this was unsurprisingly ripped off by everyone else. Intel introduced their Enhanced Speedstep, AMD gave people PowerNow and VIA have Longhaul.
Obviously, reducing the frequency of the CPU increased battery life. Everyone's happy?
No[2].
The problem is that nowadays, processors don't consume as much energy when they're idle as when they're running. The aforementioned C states mean that an idle processor consumes a tiny percentage of a loaded one - an ultra-low voltage Intel part will draw on the order of a watt. Executing code, even at the lowest voltage and frequency, will draw far more power. Obviously, we want to keep the processor idle for as long as possible. The easiest way to do this would be to never run anything, but that's not a real option. The alternative is to run when we have to, but make sure that we get it over with as quickly as possible so we can return to the idle state. Counterintuitively, that means switching to the highest voltage and frequency, executing the code and then dropping back into the idle state. By going faster, we save power[3].
In summary, the only sensible way to use a CPU is to run it as fast as possible in order to let it idle as much as possible, and drop the frequency and voltage when it's not doing anything. The. Only. Sensible. Way.
Some people write software that lets you choose different power profiles depending on whether you're on AC or battery. Typically, one of the choices lets you reduce the speed of your processor when you're on battery. This is bad. It is wrong. The people who implement these programs are dangerous. Do not listen to them. Do not endorse their product and/or newsletter. Do not allow your eldest child to engage in conjugal acts with them. Doing this will reduce your battery life. It will heat up your home. It will kill baby seals. The sea will rise and your car will float away. If you are already running it, make sure that it always sets your cpufreq governor to ondemand and does not limit the frequencies in use. Failure to do so will result in me setting you on fire[4].
The only legitimate reasons for limiting the speed of your CPU are to avoid overheating (which should be fixed in the kernel, really - having userspace in charge of ensuring the continued functioning of the machine is madness) or to make the machine quieter. And if you want your machine to be quieter, there should be a tickbox marked "Reduce performance in order to reduce noise" or something, which would take into account all the sources of heat in your machine rather than just your CPU. Encouraging the managing of acoustic levels by asking users to restrict the functionality of their CPU is just another way of saying "Look! We suck!". Letting the user choose a specific CPU governor or a specific frequency is not a useful thing to do. Don't do it unless you want to see dead kittens. Delivered by UPS.
[1] And, presumably, whatever else Intel and everyone else ended up licensing off them which resulted in their reinvention as an IP company rather than a CPU one, but that's just not interesting to me.
[2] Even ignoring the people that are unhappy for entirely unrelated reasons, such as injured toenails or the brutal murder of their family
[3] There's a corner case here, which is a system that is always entirely CPU bound. Say we halve the CPU's speed. Along with the voltage drop, that gets us down to about 20% of the original power consumption. Of course, it now takes twice as long to do anything and your screen, RAM, hard drive, chipset and so on are still drawing power, so will end up costing you twice as much power as they would have done if you'd run at full speed. If you do the maths, it works out that you save power if your processor's full-speed power consumption is more than 1.7 times that of the rest of the platform. In the real world, things are made more complicated by the rest of your platform consuming more power if you're working over a longer period of time - your hard drive is going to end up spending more time spun up, your memory bus is going to be active for longer and so on. You're basically not going to hit this case.
[4] While the burning of your body will result in carbon emissions, the reduction in power usage should offset this in the long run
An option to use stock GTK+ close buttons on tabs.
An option?!
Anyway, Totem's playlist parser is now ported to GIO. I'll make a release soon, but I'd like to ask people to please test the hell out of it. If opening or saving a particular playlist produces warnings, errors, or crashes, please file a bug.
You can test easily by recompiling and using as normal: Rhythmbox (Podcast and playlist parsing, playlist saving), and Totem and its web browser plugin.
If your in the greater Salt Lake area and love python swing by the meeting this evening! We’re doing a python editor head-to-head, should be fun!
lazyweb, poll time!
When you sleep, how do you use your pillow ?
- the middle part of the back of your head rests on the lower end of your pillow, your neck floats freely, your shoulder blades rest on the bed
- the middle part of the back of your head rests on the pillow, your neck rests lightly on the lower end of your pillow, your shoulder blades rest on the bed
- the middle part of the back and your shoulder blades rest on the pillow
- something else (please specify)
About this version
Many new features, development unstable version.
Let’s say Welcome! to our GSoC students! From now on, you’ll see their blog posts on Planet GNOME with this GSoC mini-banner:
Not many of them have sent me their blog feed info but I’m working on getting most of our students on Planet as soon as possible. Students, it’s time to introduce yourselves! :-)
My coworkers at the police department did some experimental work with the Asus Eee PC and got it working on Linux. It dials the EVDO card perfectly. The NX client loaded and they were able to log into the City network and access the full suite of City applications. Very cool.
So I got my hands on the device and did some cleanups on the servers to make it work better. The screen is 800x480 so when users log in, their desktop icons were displaying "off screen" because they had been configured for 1024x768 or higher. So, I put in a few lines of code pre gnome-session that detects resolution and lowers the icon scaled size:
THUMBS_NAUTILUS="standard"
TMP1=`/usr/bin/xdpyinfo | grep dimensions`
TMP2=` echo $TMP1 | awk -F " " ' {print $2}'`
SCREEN_WIDTH=` echo $TMP2 | awk -F "x" ' {print $1}'`
SCREEN_HEIGHT=` echo $TMP2 | awk -F "x" ' {print $2}'`
if [[ $SCREEN_HEIGHT = 600 ]]
then
THUMBS_NAUTILUS="small"
fi
if [[ $SCREEN_HEIGHT = 480 ]]
then
THUMBS_NAUTILUS="smaller"
fi
/opt/gnome/bin/gconftool-2 --type String --set /apps/nautilus/icon_view/default_zoom_level $THUMBS_NAUTILUS
I'm formulating a plan in my head now to lower the font point size to 8 when they log into this device, but want to make sure I am able to restore their desired fonts when logging into a regular resolution. I'm sure a simple flat file storage of settings will be pretty easy.
Obligatory picture, with regular keyboard for scale size.
Edit: We are testing the 4G model, prices start at $299. 4G On Amazon
If you were planning on going to the Summer Olympics in Beijing this year, but have not yet purchased your tickets, then be glad you waited. Turn your trip to see the Olympics into a tour of China, and save money with the whole package. Go to http://skyhoppertravel.com/china2008/ to book your tickets for a 9 day or more tore of china, including the Beijing Olympics, starting at $1499.00 departing from LAX.
It’s time to start looking into a new search method for Thunderbird. One of the major changes planned for Thunderbird is a new and improve search, but what does that mean?
What do we have?First lets look at what we have for a search system. At a very simple level most search systems break down into two pieces, a search interface for filtering and a results interface for listing. Thunderbird does this in a couple places.
Quick Search
The quick search entry is always at the top right of the Thunderbird window and allows people to search over the current view. The results of a quick search fill into the current view, replacing whatever listing was previously shown.
The Quick Search defaults to searching only the Subject or Sender and will only search mail that Thunderbird has downloaded already. Messages that are not listed in the current view (like in another folder) will not be searched unless that folder is selected, otherwise a person needs to use the Advanced Search.
Advanced Search
Hidden under the Edit Menu and Find Sub-Menu is an advanced search dialog that can make use of the remote mail or news protocol to perform a full search instead of just a local search. The Search Messages dialog provides it’s own search interface as well as it’s own results view directly below the search. While the Search Messages dialog provides some more advanced search methods over the quick search it’s hard to find and difficult to use effectively.
The Search Messages dialog allows for complex search queries to be built with multiple search terms composed of a number of different field type selectors. The queries require a lot of input from the user because of the tight structure used to create them. The same search and results interface code is used for creating mail filters.
Edit -> Find -> Search Messages…
Advanced Search Dialog
What do we want?I was lucky enough to chat with Andrew Gilmartin yesterday and he framed a future goal very well. “We’re not looking to make search an added feature box on the side of Thunderbird“, we’re looking to make search the definitive method for viewing mail.
What does “Search as the definitive viewing method for your mail” mean? That’s a good question and I’m not sure exactly what a good answer is yet. A search would help you find the message you’re looking for, and perhaps a search view never lets you lose that message in the first place. There’s a lot to explore.
Here are two important pieces of a search system and view that need to be examined and somehow exposed in the interface.
Search and Filter
An impediment of the current search system is requiring people to choose a search type (Subject or Sender) before they even enter any text. To help people hunt for the correct item you want to allow for starting their search very broad and then allow them to narrow down that broad search with filters like subject or sender.
The current search system has some speed issues that likely prevented a broad to filter system of searching to be implemented. The mail client Mail.app provides a decent filter bar when searching mail that allows people to see what the current filters are (folder, account) and change them.
Browse and Filter
The SEEK extension is an excellent example of how offering a system of browsing mail by grouped attributes from the start can help people find the item or group of items they were looking for. Instead of starting with a search term you give the person a list of attributes they might use to filter the list of messages.
An inspiring system for a similar searching, browsing, and filtering methods is things, you should try it if you haven’t already.
Getting What we WantMoving towards a new search based paradigm will take some adventurous steps and it’s important not to disturb current usage while making those steps. Here are a number of changes to look at making.
Merging Search Interfaces
Each of the two current search interfaces provide some needed features and capabilities, however having two separate interfaces for searching is confusing and difficult to understand. We need to combine the ability to do a quick search with the ability to perform a full search into a single interface with an improved results view.
With a single search interface Thunderbird will be searching the local and remote mail (like IMAP) at the same time. However local results will be listing quickly and remote results will likely take a little more time. Both sets of results, local and remote, can be merged into the same search results view by showing local results instantly and filling in remote results as they arrive.
Offline Cached and Indexed Mail
In order to have a fast search system even while offline Thunderbird needs to do a much better job of caching and indexing mail as it encounters it. With new messages instantly cached and indexed they can be made available to search queries, filters, and views immediately.
This is an excellent time to start thinking about the data mining mail in a way that helps searching messages later. It’s also time to think about making the defaults tuned towards offline usage while still allowing people to control online / offline caching.
Auto Complete
With mail data indexed locally and quickly available Thunderbird should be able to provide a slick and fun auto-complete on search terms it knows about. Auto complete when searching for items you’re already aware exists helps with miss-spelling errors and more complete matching. The awesomebar shows how with just a little broken memory of a title or url you can easily find the page you saw once before.
Fetching ResultsOur current drive is to investigate some indexing on messages (at least subjects), pull the new auto-complete into Thunderbird, and get a search bar using that fancy auto-complete on mail subjects and hopefully the addition of a couple more fun things. Leave some comments or jump on the newsgroup to participate.
A wire frame of a possible mail search auto-complete
We do expect to have the podcast extension ready by Beta 2. And Beta 2 will have auto-rip support which I just committed last night. After enabling it in your Preferences, whenever you insert a CD it will automatically begin importing it, if it's not already in your library and if MusicBrainz information can be found for it. Very useful if you are ripping many CDs.
(sorry for my painful english)
In the last weeks, I had trouble using SVN in my University. I talked to the network admin, he said it should be working, and now he is going to fix it. That’s good news for next week. But I couldn’t wait: I did an incredible workaround (”gambiarra” in portuguese… do you know Gambiarra? ), so incredible that I’m ashamed of writing about it in details.
I’ve been reading several tomboy addins code, and got the idea of the implementations. I’ve already coded something I think will be the “skeleton” for my addin. C# is very easy - but I think it’s weird. Even Java is more elegant… Anyway, I prefer Python ;D.
Monodevelop is very nice. Monodoc is cool. I just didn’t get the point on not using devhelp instead. (Okay, maybe they wanted to keep .NET documentation grouped and isolated from the rest…).
Everything seems to be alright, the only problem now is: I haven’t eat pizza for two weeks. I ran out of money traveling to Porto Alegre (FISL) and now I’m desperated!
P.S.: 10% of my GSoC money is reserved to pizza. Plus other 10%, for home-delivered pizza, and 10% for that frozen pizzas we can buy in supermarkets.


