Mi blog lah! Το ιστολόγιό μου

23Jul/080

GUADEC 2008 presentation slides

It appears that Google has not found yet the page of the GUADEC 2008 presentation slides.

If you have slides, put them on http://live.gnome.org/GUADEC/2008/Slides, alphabetically by title.

GUADEC slides.

18Jul/080

Éńĥãǹčīṅǧ·ẗḧë·ẃṛīťıñĝ·ṩụṗṗọṙẗ·ıń·ǦŤḰ+

These are the presentation slides of my talk on improving the writing support in GTK+. It relates to several posts I have in my other (now not used anymore) blog at http://blogs.gnome.org/simos/2008/07/23/guadec-2008-presentation-slides/.

Enhancing the writing support in GTK+

Note: The title may not appear properly because I use a fancy effect that does not support the full range of Unicode characters. It's a drawback of being trendy. The title says “Éńĥãǹčīṅǧ·ẗḧë·ẃṛīťıñĝ·ṩụṗṗọṙẗ·ıń·ǦŤḰ+”.

29Feb/081

FOSDEM ’08, summary and comments

I attended FOSDEM '08 which took place on the 23rd and 24th of February in Brussels.

Compared to other events, FOSDEM is a big event with over 4000 (?) participants and over 200 lectures (from lightning talks to keynotes). It occupied three buildings at a local university. Many sessions were taking place at the same time and you had to switch from one room to another. What follows is what I remember from the talks. Remember, people recollect <8% of the material they hear in a talk.

The first keynote was by Robin Rowe and Gabrielle Pantera, on using Linux in the motion picture industry. They showed a huge list of movies that were created using Linux farms. The first big item in the list was the movie Titanic (1997). The list stopped at around 2005 and the reason was that since then any significant movie that employs digital editing or 3D animation is created on Linux systems. They showed trailers from popular movies and explained how technology advanced to create realistic scenes. Part of being realistic, a generated scene may need to be blurred so that it does not look too crisp.

Next, Robert Watson gave a keynote on FreeBSD and the development community. He explained lots of things from the community that someone who is not using the distribution does not know about. FreeBSD apparently has a close-knit community, with people having specific roles. To become a developer, you go through a structured mentoring process which is great. I did not see such structured approach described in other open-source projects.

Pieter Hintjens, the former president of the FFII, talked about software patents. Software patents are bad because they describe ideas and not some concrete invention. This has been the view so that the target of the FFII effort fits on software patents. However, Pieter thinks that patents in general are bad, and it would be good to push this idea.

CMake is a build system, similar to what one gets with automake/autoconf/makefile. I have not seen this project before, and from what I saw, they look quite ambitious. Apparently it is very easy to get your compilation results on the web when you use CMake. In order to make their project more visible, they should make effort on migration of existing projects to using CMake. I did not see yet a major open-source package being developed with CMake, apart from CMake itself.

Richard Hughes talked about PackageKit, a layer that removes the complexity of packaging systems. You have GNOME and your distribution is either Debian, Ubuntu, Fedora or something else. PackageKit allows to have a common interface, and simplifies the workflow of managing the installation of packages and the updates.

In the Virtualisation tracks, two talks were really amazing. Xen and VirtualBox. Virtualisation is hot property and both companies were bought recently by Citrix and Sun Microsystems respectively. Xen is a Type 1 (native, bare metal) hypervisor while VirtualBox is a Type 2 (hosted) hypervisor. You would typically use Xen if you want to supply different services on a fast server. VirtualBox is amazingly good when you want to have a desktop running on your computer.

Ian Pratt (Xen) explained well the advantages of using a hypervisor, going into many details. For example, if you have a service that is single-threaded, then it makes sense to use Xen and install it on a dual-core system. Then, you can install some other services on the same system, increasing the utilisation of your investment.

Achim Hasenmueller gave an amazing talk. He started with a joke; I have recently been demoted. From CEO to head of virtualisation department (name?) at Sun Microsystems. He walked through the audience on the steps of his company. The first virtualisation product of his company was sold to Connectix, which then was sold to Microsoft as VirtualPC. Around 2005, he started a new company, Innotek and the product VirtualBox. The first customers were government agencies in Germany and only recently (2007) they started selling to end-users.

Virtualisation is quite complex, and it becomes more complex if your offering is cross platform. They manage the complexity by making VirtualBox modular.

VirtualBox comes in two versions; an open-source version and a binary edition. The difference is that with the binary edition you get USB support and you can use RDP to access the host. If you installed VirtualBox from the repository of your distribution, there is no USB support. He did not commit whether the USB/RDP support would make it to the open-source version, though it might happen since Sun Microsystems bought the company. I think that if enough people request it, then it might happen.

VirtualBox uses QT 3.3 as the cross platform toolkit, and there is a plan to migrate to QT 4.0. GTK+ was considered, though it was not chosen because it does not provide yet good support in Win32 (applications do not look very native on Windows). wxWidgets were considered as well, but also rejected. Apparently, moving from QT 3.3 to QT 4.0 is a lot of effort.

Zeeshan Ali demonstrated GUPnP, a library that allows applications to use the UPnP (Universal Plug n Play) protocol. This protocol is used when your computer tells your ADSL model to open a port so that an external computer can communicate directly with you (bypassing firewall/NAT). UPnP can also be used to access the content of your media station. The gupnp library comes with two interesting tools; gupnp-universal-cp and gupnp-network-light. The first is a browser of UPnP devices; it can show you what devices are available, what functionality they export, and you can control said devices. For example, you can use GUPnP to open a port on your router; when someone connects from the Internet to port 22 on your modem, he is redirected to your server, at port 22.

You can also use the same tool to figure out what port mapping took place already on your modem.

The demo with the network light is that you run the browser on one computer and the network light on another, both on the local LAN (this thing works only on the local LAN). Then, you can use the browser to switch on/off the light using the UPnP protocol.

Dimitris Glezos gave a talk on transifex, the translation management framework that is currently used in Fedora. Translating software is a tedious task, and currently translators spent time on management tasks that have little to do with translation. We see several people dropping from translations due to this. Transifex is an evolving platform to make the work of the translator easier.

Dimitris talked about a command-line version of transifex coming out soon. Apparently, you can use this tool to grab the Greek translation of package gedit, branch HEAD. Do the translation and upload back the file.

What I would like to see here is a tool that you can instruct it to grab all PO files from a collection of projects (such as GNOME 2.22, UI Translations), and then you translate with your scripts/tools/etc. Then, you can use transifex to upload all those files using your SVN account.

The workflow would be something like

$ tfx --project=gnome-2.22 --collection=gnome-desktop --action=get
Reading from http://svn.gnome.org/svn/damned-lies/trunk/releases.xml.in... done.
Getting alacarte... done.
Getting bug-buddy... done.
...
Completed in 4:11s.
$ _

Now we translate any of the files we downloaded, and we push back upstream (of course, only those files that were changed).

$ tfx --project=gnome-2.22 --collection=gnome-desktop --user=simos --action=send
 Reading local files...
Found 6 changed files.
Uploading alacarte... done.
...
Completed uploading translation files to gnome-2.22.
$ _

Berend Cornelius talked about creating OpenOffice.org Wizards. You get such wizards when you click on File/Wizards..., and you can use them to fill in entries in a template document (such as your name, address, etc in a letter), or use to install the spellchecker files. Actually, one of the most common uses is to get those spellchecker files installed.

A wizard is actually an OpenOffice.org extension; once you write it and install it (Tools/Extensions...), you can have it appear as a button on a toolbar or a menu item among other menus.

You write wizards in C++, and one would normally work on an existing wizard as base for new ones.

When people type in a word-processor, they typically abuse it (that's my statement, not Berend's) by omitting the use of styles and formatting. This makes documents difficult to maintain. Having a wizard teach a new user how to write a structured document would be a good idea.

Perry Ismangil talked about pjsip, the portable open-source SIP and media stack. This means that you can have Internet telephony on different devices. Considering that Internet Telephony is a commodity, this is very cool. He demonstrated pjsip running two small devices, a Nintendo DS and an iPhone. Apparently pjsip can go on your OpenWRT router as well, giving you many more exciting opportunities.

Clutter is a library to create fast animations and other effects on the GNOME desktop. It uses hardware acceleration to make up for the speed. You don't need to learn OpenGL stuff; Clutter is there to provide the glue.

Gutsy has Clutter 0.4.0 in the repositories and the latest version is 0.6.0. To try out, you need at least the clutter tarball from the Clutter website. To start programming for your desktop, you need to try some of the bindings packages.

I had the chance to spend time with the DejaVu guys (Hi Denis, Ben!). Also met up with Alexios, Dimitris x2, Serafeim, Markos and others from the Greek mission.

Overall, FOSDEM is a cool event. In two days there is so much material and interesting talks. It's a recommended technical event.

11Aug/070

Vote NO with comments (on DIS 29500 / OOXML)

  • Vote “No, with comments,” which is the JTC1-prescribed way of indicating “conditional approval” (JTC1 Directives (DOC, pops), Section 9.8)
  • Recommend that OOXML be resubmitted as normal working item in JTC1/SC34:
    • Split into a multi part standard: WordProcessingML, SpreadsheetML, DrawingML, Office Open Math Markup, VML, etc.
    • Have each part progress independently, at its own speed, within normal ISO processing stages
    • Encourage participation from OASIS to identify opportunities for harmonization with existing ISO 26300 “ODF”
  • OOXML, as the default format in MS Office, is important. But as a standard it is full of inconsistencies, omissions, inaccuracies and errors. No standard is perfect, but OOXML, in its current state, does even not meet the minimum requirements.

source: Rob Weir's presentation slides, last slide (pdf)

 

 

OOXML is being rushed to become an ISO standard using the fast-track process. This is not good. As end-users we want real commodity document formats that are easy to implement and do not tie us to a specific office suite. Sadly, the purpose of rushing to standardise OOXML is simply to avoid letting it become a commodity document format. By letting OOXML become an ISO standard as it is now, a few companies get to gain a lot, but we are going to lose.

Spread the word.

 

I copy below the voting country list.

According to Rob Weir, all countries can cast a vote on this; sorry for this misinformation.

 

The voting countries (Participating countries) are (the list is being updated, please see Participating countries for new list)

  Brazil (ABNT)
Bulgaria (BDS)
China (SAC)
Colombia (ICONTEC)
Cyprus (CYS)
Czech Republic (CNI)
Côte-d'Ivoire (CODINORM)
Denmark (DS)
Finland (SFS)
France (AFNOR)
Germany (DIN)
India (BIS)
Italy (UNI)
Japan (JISC)
Kazakhstan (KAZMEMST)
Kenya (KEBS)
Korea, Republic of (KATS)
Netherlands (NEN)
Norway (SN)
Sweden (SIS)
Switzerland (SNV)
Thailand (TISI)
Trinidad and Tobago (TTBS)
Turkey (TSE)
USA (ANSI)
United Kingdom (BSI)

In addition, the following countries have observer status (Observer countries), (the list is being updated, please see Observer countries for new list)

  Australia (SA)
Chile (INN)
Greece (ELOT)
Hong Kong, China (ITCHKSAR)
Hungary (MSZT)
Ireland (NSAI)
Israel (SII)
Lithuania (LST)
Mexico (DGN)
Romania (ASRO)
Spain (AENOR)
Sri Lanka (SLSI)
Ukraine (DSSU)

The observer countries, though the cannot vote, they can submit comments.

23Jul/071

Important MO file optimisation for en_* locales, and partly others

During GUADEC, Tomas Frydrych gave a talk on exmap-console, a cut-down version of exmap that can work well on mobile devices.

During the presentation, Tomas showed how to use the tool to find the culprits in memory (ab)use on the GNOME desktop. One issue that came up was that the MO files taking up space though the desktop showed English. Why would the MO translation files loaded in memory be so big in size?

gtk20.mo                             : VM   61440  B, M   61440  B, S   61440  B

atk10.mo                      	     : VM    8192  B, M    8192  B, S    8192  B

libgnome-2.0.mo			: VM   28672  B, M   24576  B, S   24576  B

glib20.mo			     : VM   20480  B, M   16384  B, S   16384  B

gtk20-properties.mo           : VM     128 KB, M     116 KB, S     116 KB

launchpad-integration.mo  : VM    4096  B, M    4096  B, S    4096  B

A translation file looks like

msgid "File"

msgstr ""

When translated to Greek it is

msgid "File"

msgstr "Αρχείο"

In the English UK translation it would be

msgid "File"

msgstr "File"

This actually is not necessary because if you leave those messags untranslated, the system will use the original messages that are embedded in the executable file.

However, for the purposes of the English UK, English Canadian, etc teams, it makes sense to copy the same messages in the translated field because it would be an indication that the message was examined by the translation. Any new messages would appear as untranslated and the same process would continue.

Now, the problem is that the gettext tools are not smart enough when they compile such translation files; they replicate without need those messages occupying space in the generated MO file.

Apart from the English variants, this issue is also present in other languages when the message looks like

msgid "GConf"

msgstr "GConf"

Here, it does not make much sense to translate the message in the locale language. However, the generated MO file contains now more than 10 bytes (5+5) , plus some space for the index.

Therefore, what's the solution for this issue?

One solution is to add to msgattrib the option to preprocess a PO file and remove those unneeded copies. Here is a patch,

--- src.ORIGINAL/msgattrib.c 2007-07-18 17:17:08.000000000 +0100
+++ src/msgattrib.c 2007-07-23 01:20:35.000000000 +0100
@@ -61,7 +61,8 @@
REMOVE_FUZZY = 1 << 2,
REMOVE_NONFUZZY = 1 << 3,
REMOVE_OBSOLETE = 1 << 4,
- REMOVE_NONOBSOLETE = 1 << 5
+ REMOVE_NONOBSOLETE = 1 << 5,
+ REMOVE_COPIED = 1 << 6
};
static int to_remove;

@@ -90,6 +91,7 @@
{ "help", no_argument, NULL, 'h' },
{ "ignore-file", required_argument, NULL, CHAR_MAX + 15 },
{ "indent", no_argument, NULL, 'i' },
+ { "no-copied", no_argument, NULL, CHAR_MAX + 19 },
{ "no-escape", no_argument, NULL, 'e' },
{ "no-fuzzy", no_argument, NULL, CHAR_MAX + 3 },
{ "no-location", no_argument, &line_comment, 0 },
@@ -314,6 +316,10 @@
to_change |= REMOVE_PREV;
break;

+ case CHAR_MAX + 19: /* --no-copied */
+ to_remove |= REMOVE_COPIED;
+ break;
+
default:
usage (EXIT_FAILURE);
/* NOTREACHED */
@@ -436,6 +442,8 @@
--no-obsolete remove obsolete #~ messages\n"));
printf (_("\
--only-obsolete keep obsolete #~ messages\n"));
+ printf (_("\
+ --no-copied remove copied messages\n"));
printf ("\n");
printf (_("\
Attribute manipulation:\n"));
@@ -536,6 +544,21 @@
: to_remove & REMOVE_NONOBSOLETE))
return false;

+ if (to_remove & REMOVE_COPIED)
+ {
+ if (!strcmp(mp->msgid, mp->msgstr) && strlen(mp->msgstr)+1 >= mp->msgstr_len)
+ {
+ return false;
+ }
+ else if ( strlen(mp->msgstr)+1 < mp->msgstr_len )
+ {
+ if ( !strcmp(mp->msgstr + strlen(mp->msgstr)+1, mp->msgid_plural) )
+ {
+ return false;
+ }
+ }
+ }
+
return true;
}
However, if we only change msgattrib, we would need to adapt the build system for all packages.

Apparently, it would make sense to change the default behaviour of msgfmt, the program that compiles PO files into MO files.

An e-mail was sent to the email address for the development team of gettext regarding the issue. The development team does not appear to have a Bugzilla to record these issues. If you know of an alternative contact point, please notify me.

Update #1 (23Jul07): As an indication of the file size savings, the en_GB locale on Ubuntu in the installation CD occupies about 424KB where in practice it should have been 48KB.

A full installation of Ubuntu with some basic KDE packages (only for the basic libraries, i.e. KBabel - (ls k* | wc -l = 499)) occupies about 26MB of space just for the translation files. When optimising in the MO files, the translation files occupy only 7MB. This is quite important because when someone installs for example the en_CA locale, all en_?? locales are added.

The reason why the reduction is more has to do with the message types that KDE uses. For example,

msgid ""
"_: Unknown State\n"
"Unknown"
msgstr "Unknown"

I cannot see a portable way to code the gettext-tools so that they understand that the above message can be easily omitted. For the above reduction to 7MB, KDE applications (k*) occupy 3.6MB. The non-KDE applications include GNOME, XFCE and GNU traditional tools. The biggest culprits in KDE are kstars (386KB) and kgeography (345KB).

Update #2 (23Jul07): (Thanks Deniz for the comment below on gweather!) The po-locations translations (gnome-applets/gweather) of all languages are combined together to generate a big XML file that can be found at usr/share/gnome-applets/gweather/Locations.xml (~15MB).

This file is not kept in memory while the gweather applet is running.
However, the file is parsed when the user opens the properties dialog to change the location.
I would say that the main problem here is the file size (15.8MB) that can be easily reduced when stripping copied messages. This file is included in any Linux distribution, whatever the locale.

The po-locations directory currently occupies 107MB and when copied messages are eliminated it occupies 78MB (a difference of 30MB). The generated XML file is in any case smaller (15.8MB without optimisation) because it does not include repeatedly the msgid lines for each language.

I regenerated the Locations.xml file with the optimised PO files and the resulting file is 7.6MB. This is a good reduction in file space and also in packaging size.

Update #3 (25Jul07): Posted a patch for gettext-tools/msgattrib.c. Sent an e-mail to the kde-i18n-doc mailing list and got good response and a valid argument for the proposed changes. Specifically, there is a case when one gives custom values to the LANGUAGE variable. This happens when someone uses the LANGUAGE variable with a value such as "es:fr" which means show me messages in Spanish and if something is untranslated show me in French. If a message has msgid==msgstr for Spanish but not for French, then it would show in French if we go along with the proposed optimisation.

16Jul/070

GUADEC Day #2

(see http://www.guadec.org/schedule/warmup)

At the first presentation, Quim Gil talked about GNOME marketing, what have been done, what is the goal of marketing. He showed a focused mind on important marketing tasks; it is easy to get carried away and not be effective, a mistake that happens in several projects.

The next session was by Tomas Frydrych (Open Hand - I have their sticker on my laptop!) on memory use in GNOME applications. Many people complain that XYZ is bloated. However, this does not convey what exactly happens; pretty useless. In addition, the common tools that show memory use do not show the proper picture because of the memory management techniques. That is, due to shared libraries, the total memory occupied by an application appears very big. A tool examined is exmap. This tool uses a kernel module that shows memory use of applications by reading in /proc. It takes a snapshot of memory use; it's not real-time info. It comes with a GTK+ front-end (gexmap) that requires a big screen (oops, PDAs). However, it is not suitable for internet tablets and other low-spec devices. Therefore, they came up with exmap-console which addresses the shortcommings. It has a console interface based on the readline library.

Here are the rest of my notes. Hope they make sense to you.

. exmap --interactive
. ?: help
. Head: quite useful (dynamic allocation)
. Mapped:
. Sole use: memory that app is using on its own (rss?)
. "sort vm"
. "print" or "p"
. "add nautilus"
. "clear"
. "detail file" (what executables/libs loaded and how much consume)
. "detail none"

Sole use
. valgrind, to analyse Sole Use memory?
. "detail ????"

Lots of small libraries: overhead

Looking ahead
. Pagemap: by Matt Macall
. http://projects.o-hand.com/exmap-console/

Python
. Sole use: ~18MB ;-(

Tomas was apparently running Ubuntu with the English UK locale. The English UK translation team is doing an amazing job at the translation stats. Actually, most messages are copied, however with a script one can pick up words such as organization and change to organisation. The problem here is that, for example, the GAIM mo file is 215KB (?), however for the British English translation the actual changes should be less than 2-3KB. Messages that are missing from a translation mean that the original US English messages will be used. I'll have to find how to use msgfilter to make messages untranslated if msgid == msgstr. Where is Danilo?

After lunch time (did not go for lunch), I went to the Accerciser session. Pretty cool tool, something I have been look for. Accerciser uses the accessibility framework of GNOME in order to inspect the windows of running applications and see into the properties. A good use is to identify if elements such as text boxes come with description labels; they are important to be there for accessibility purposes (screen reader), as a person that depends on software to read (text to speech) the contents of windows.

The next session was GNOME accessibility for blind people. Jan Buchal gave an excellent presentation.

My notes,

. is from Chech republic, is blind himself. has been using computers for 20+ years

. from user perspective
. users, regular and irregular ;-)
. software
. firefox 3.0beta - ok for accessibility other versions no
. gaim messenger ok
. openoffice.org ok but did not try
. orca screenreader ^^^ works ok.
. generally ready for prime time
. ubuntu guy for accessibility was there
. made joke about not having/needing display slides ;-]
. synthesizer: festival, espeak, etc - can choose
. availability of voices
. javascript: not good for accessibility
. links/w3m: just fine!
. firefox3 makes accessibility now possible.
. web designer education, things like title="", alt="" for images.
. OOo, not installed but should work, ooo-gnome
. "braillcom" company name
. "speech dispatcher"
. logical events
. have short sound event instead of "button", "input form"
. another special sound for emacs prompt, etc.
. uses emacs
. have all events spoken, such as application crashing.
. problems of accessibility
. not money main factor, but still exists.
. standard developers do not use accessibility functions
. "accessor" talk, can help
. small developer group on accessiblity, may not cooperate well
. non-regular users (such as blind musician)
. musicians
. project "singing computer"
. gtk, did not have good infrastructure
. used lilypond (music typesetter, good but not simple to use)
. singing mode in festival
. use emacs with special mode to write music scores (?)
. write music score and have the computer sing it (this is not "caruso")
. gnome interface for lilypond would be interesting
. chemistry for blind
. gtk+
. considering it
. must also work, unfortunately, on windows
. gtk+ for windows, not so good for accessibility
. conclusion: free accessibility
. need users so that applications can be improved
. have festival synthesizer, not perfect but usable
. many languages, hindi, finnish, afrikaans
. endinburgh project, to reimplement festival better
. proprietary software is a disadvantage
. q: how do you learn to use new software?
. a: has been a computer user for 20+ years, is not good candidate to say
. a: if you are dedicated, you can bypass hardles, old lady emacs/festival/lilypond
. brrlcom, not for end-users(?)
. developer problem?
. generally there is lack of documentation; easy to teach what a developer needs to know
. so that the application is accessible
. HIG Human Interface Guidelines, accessible to the developers
. "speakup" project
. Willy, from Sun microsystems, working on accessibility for +20 years, Lead of Orca.
. developers: feel accessibility is a hindrance to development
. in practice the gap is not huge
. get tools (glade) and gtk+ to come with accessibility on by default
. accessibility
. is not only for people with disabilities
. can do amazing things like 3d interfaces something

These summaries are an important example of the rule that during presentation, participants tend to remember only about 8% of the material. In some examples, even less is being recollected.

16Jul/070

GUADEC Day #1

I am writing this in the morning of the second day (posted at the end of the second day). Just had breakfast and there is a bit of time before making it to the conference venue.

Yesterday Sunday, was the first of the two days of warm-up for the GUADEC conference. At 11am the registration started. I was in front of the queue and got my badge quickly, then picked up the bag with the goodies; three cool t-shirts, a copy of Ubuntu 7.04, Fedora 7 Live, Linux stickers, two Linux pens, a mini Google Code notebook (no, that's an actual notebook (not that type of notebook, it was just the paper-based thing)).

During registration I met up with Dimitrios Glezos (of Greek Fedora fame) and a bit later with Dimitrios Typaldos. It was the first time I met both of them in person.

Between a choice of two sessions I went to the one on X.org developments (XDamage, xrender, etc extensions and how to use them). Ryan Lortie gave the presentation.

Next was lunch time, and Dimitrios T. recommended a pub for traditional English food and drink. Sayamindu came along.

The next session I went to was the Hildon desktop, which is what we used to call Maemo; GNOME for internet tables such as the Nokia 770 and Nokia 800. There are special technical issues to solve. Lucas Rocha mentioned refactoring issues with the source code. In addition, as far as I understood, there is an issue with the internationalisation support for the platform.

Next, Don Scorgie talked about the GNOME documentation project. Several things can be improved and one of them is the introduction of a simplified XML schema for the needs of GNOME documentation. When compared to DocBook XML, the new GNOME documentation schema has only 6 elements (or do they call them tags?). In addition to this, there is a documentation editor with a special rich-edit widget for this schema. Mallard is a type of duck(?).

I also attended the last 10 minutes of the presentation on project Jackfield (sadly no special significance between Jackfield and what the project is about). Jackfield is apparently a way to run Javascript scripts on the desktop. OS/X is supposed to have it, and there are already scripts available. With Jackfield, you can run those scripts unmodified on Linux. The demos where really impressive.

The final session for the day was a presentation by Richard Rothwell on free software for the socially excluded. No, you do not have to go to Africa for this. His work relates to families in Nottingham, UK. It reminds me the situation and effort in Farkadona, Greece, that was described by Kostas Boukouvalas. I think it would have been helpful if Kostas Boukouvalas could have attended this. Richard is running a 3-year project that provides a number of PCs (in the hundreds?) with Linux to socially excluded families. Even in the UK, funding is hard to come by.

25Jun/071

Say No to OOXML

Click on the image above to visit the petition page.

I copy here the terms of the petition to say no on the standardisation of MSOOXML at ISO.

I ask the national members of ISO to vote "NO" in the ballot of ISO DIS 29500 (Office OpenXML or OOXML format) for the following reasons:

  1. There is already a standard ISO26300 named Open Document Format (ODF): a dual standard adds costs, uncertainty and confusion to industry, government and citizens;
  2. There is no provable implementation of the OOXML specification: Microsoft Office 2007 produces a special version of OOXML, not a file format which complies with the OOXML specification;
  3. There is missing information from the specification document, for example how to do a autoSpaceLikeWord95 or useWord97LineBreakRules;
  4. More than 10% of the examples mentioned in the proposed standard do not validate as XML;
  5. There is no guarantee that anybody can write a software that fully or partially implements the OOXML specification without being liable to patent damages or patent license fees by Microsoft;
  6. This standard proposal conflicts with other ISO standards, such as ISO 8601 (Representation of dates and times), ISO 639 (Codes for the Representation of Names and Languages) or ISO/IEC 10118-3 (cryptographic hash);
  7. There is a bug in the spreadsheet file format which forbids to enter any date before the year 1900: such bugs affects the OOXML specification as well as software versions such as Microsoft Excel 2000, XP, 2003 or 2007.
  8. This standard proposal has not been created by bringing together the experience and expertise of all interested parties (such as the producers, sellers, buyers, users and regulators), but by Microsoft alone.

This project is an initiative by the Foundation for a Free Information Infrastructure (FFII), the non-profit that helped achieve the rejection of the EU software patent directive in July 2005.

Update #1: Currently (26Jun07 - noon) there are 8805 signatures.
Update #2: Currently (26Jun07 - evening) there are 9481 signatures.
Update #3:

IT IS URGENT THAT YOU CONTACT YOUR STANDARDISATION BODY IN YOUR COUNTRY AND EXPLAIN THEM WHY OOXML IS BROKEN; SENDING A NICE LETTER TO YOUR STANDARDISATION BODY IN YOUR COUNTRY IS MORE IMPORTANT THEN SIGNING THE PETITION

29Nov/060

International Call for Artists’ film and video

AT HOME IN EUROPE

Generous European Culture2000 funding enables ISIS Arts (UK) and it’s
international project partners BEK (Norway), InterSpace (Bulgaria) and
RIXC (Latvia) to curate a NEW SCREENING PROGRAMME around the theme of
European Identity for the Big M, ISIS Art’s inflatable touring space.

Daily, more and more European people decide to live in other European
countries. With a shifting concept of nationality it becomes
increasingly important to consider what it means to be European. Is
there such a thing as European Identity and how does it relate to
national identity?
For this programme we invite submissions of films or video works on this
theme from artists of any nationality.

Selected works will become part of the new screening programme which
will tour to the four partnering countries between May 2007 and
September 2007.
Work will be selected through open submission. In order to be considered
individual works must:

  • Have a running time of 5 minutes or less
  • Be single channel and non interactive
  • Address the project theme

Selected artists will receive an exhibition fee of € 300 (The Big M is
not a commercial venture and admission is free). Copyright remains
solely with the artist.

The Big M is a highly stylised inflatable structure that functions as a
temporary and mobile venue for the presentation of video and digital
media. Unique in both design and function, the Big M provides an
alternative to the conventional gallery setting and exhibits work by
emerging and established artists to diverse audiences.
See: http://www.isisarts.org.uk/index2.html

To submit pieces for consideration please send work on DVD, CD Rom (720x
576 dpi QuickTime movie) or mini DV, titled and with a synopsis of 50
words maximum, a CV and a stamped addressed envelope (if you want your
materials returned) to:

BEK
C Sundtsg 55
9. etage
5004 Bergen
Norway

Deadline for receipt of submissions is the 3rd of February 2007

Further inquiries to isis at isisarts dot org dot uk

Further project information can be found on
http://www.athomeineurope.eu/

28Jun/060

Federico on GNOME optimisation



Federico on GNOME optimisation

Προέρχεται από τον simosx.

The presentation of Federico on GNOME optimisation.
He covered issues of optimising GNOME so that the end-user experience follows a "flow"; that there are no bottlenecks or annoying delays in the duration of a desktop session.

10May/060

Είσαι προγραμματιστής;

Το Google διοργανώνει Διαγωνισμό Πληροφορικής αυτό το μήνα, το Google Code Jam Europe. Ο διαγωνισμός διεξάγεται μέσω Διαδικτύου μέσα από μια ενδιαφέρουσα πλατφόρμα. Γραφτείτε τώρα και έχετε τη δυνατότητα να δοκιμάσετε την πλατφόρμα με προβλήματα-δείγματα.

Only four of the 48 best computer programmers in the world are Americans, at least according to a computer-programming competition run by TopCoder. Poland had 11 of the final 48, and Russia had 8. Wall Street Journal columnist Lee Gomes asks whether this is more evidence of a sad decline in American education and competitiveness: 'Surprisingly, the Eastern Europeans don't seem to think so. Poland's Krzysztof Duleba, 22, explained that in countries like his own, there are so few economic opportunities for students that competitions like these are their one chance to participate in the global economy. Some of the Eastern Europeans even seemed slightly embarrassed by their over-representation, saying it isn't evidence of any superior schooling or talent so much as an indicator of how much they have to prove.'

Πηγή: The Wall Street Journal

Υπάρχουν άραγε οικονομικές ευκαιρίες στην Ελλάδα;

4Dec/04Off

Ελληνικά στην αλληλογραφία, μέρος πρώτο

Πρέπει να λαμβάνετε γράμματα / ανακοινώσεις από μερικούς δικτυακούς τόπους όπου η κωδικοποίηση για τα ελληνικά δεν είναι σωστή, είτε στο σώμα του μηνύματος, είτε στην κεφαλίδα (From: "Ανακοίνωση" ).

Συγκεκριμένα, δεν καθορίζεται η κωδικοποίηση οπότε είναι θέμα εξ ορισμού ρυθμίσεων του παραλήπτη για να δει το αποτέλεσμα.

Ας δούμε πως μπορείτε μέσα από μια εφαρμογή PHP να στείλετε αλληλογραφία με ελληνικά. Το ίδιο μπορεί να γίνει και από άλλες γλώσσες, όπως Perl και Python.

<?php
include('Mail.php');
include('Mail/mime.php');

$from = "From: \"" . mb_encode_mimeheader('Όνομα Αποστολέα') . "\" < αποστολέας στο gmail τελεία com>";
$to = mb_encode_mimeheader('Όνομα Παραλήπτη') . " < παραλήπτης στο gmail τελεία com>";
$subject = 'Θέμα γράμματος';
$body = 'Περιεχόμενο του γράμματος.';

mb_send_mail($to, $subject, $body, $from);
?>

Το γράμμα που θα παραχθεί θα μοιάζει με

Από: Όνομα Αποστολέα < αποστολέας στο gmail τελεία com>
Προς: Όνομα Παραλήπτη < παραλήπτης στο gmail τελεία com>
Θέμα: Θέμα γράμματος

Περιεχόμενο του γράμματος.

Απαιτεί την εγκατάσταση του πακέτου php-mbstring που το έχουν όλες οι καλές διανομές Linux. Διαφορετικά είναι δυνατόν
να έχετε το ίδιο αποτέλεσμα αλλά θα κάνετε τα παραπάνω χειρωνακτικά.

Ακόμα, πρέπει να ρυθμίσετε το /etc/php.ini με τα παρακάτω:

[mbstring]
; language for internal character representation.
; Neutral σημαίνει Unicode
mbstring.language = Neutral

; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
mbstring.internal_encoding = UTF-8

; http input encoding.
mbstring.http_input = UTF-8

; http output encoding. mb_output_handler must be
; registered as output buffer to function
mbstring.http_output = UTF-8

; enable automatic encoding translation accoding to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic encoding translation for
; portable libs/applications.
mbstring.encoding_translation = On

; substitute_character used when character cannot be converted
; one from another
; σημαίνει ότι στην μετατροπή αν κάτι πάει στραβά, θα εκτυπώσει των κωδικό U+xxxx του χαρακτήρα.
mbstring.substitute_character = long;

Αν είστε χρήστης της εφαρμογής phplist, ενημερώστε τη σελίδα αυτή.

Σημείωση: Όλα τα παραπάνω είναι σε κωδικοποίηση utf-8 (Unicode).

   

Switch to our mobile site