Tag Archives: silme

Silme is getting ready for 1.0

Not today, maybe not tomorrow, but Silme library is getting ready for its prime time.

I’m currently working on Silme 0.9 which is shaping up to be a release where we packed up all the lessons we learned while working on the project for the last year and a half. It’s going to be the last release with non-frozen API before 1.0 so we have to be sure we’re happy with 0.9 before we release it.

Then, we’ll have Silme 1.0 which is a goo moment to revisit the name of the library. I know native english speakers may find it a good idea 馃槈

Dzieje si臋!

Ca艂e szcze艣cie, 偶e doczekali艣my si臋 czas贸w, gdy o tym co dzieje si臋 w projektach Internetowych informuj膮 media mainstreemowe, portale spo艂eczno艣ciowe, mikroblogi, a nawet mozillowo-zorientowany foxinews. Szcz臋艣cie, bo gdyby kto艣 chcia艂 s膮dzi膰 o aktywno艣ci projektu po planecie MozilliPL, to trudno by艂oby si臋 czego艣 dowiedzie膰.

Sam mam niestety ma艂o czasu (tak, tak, sesja…), ale spr贸buj臋 w telegraficznym skr贸cie, w losowej kolejno艣ci, opisa膰 kilka temat贸w dla zainteresowanych:

  • Wydanie Firefoksa 3.5 zbli偶a si臋 wielkimi krokami. Tym razem, w odr贸偶nieniu od naszej tradycji, chcieliby艣my, aby wydanie RC faktycznie by艂o kandydatem na wersje finaln膮. Koniec z wydawaniem RC1 i planowaniem trzech nast臋pnych r贸wnocze艣nie… Jak co艣 jest kandydatem na wydanie, to ma by膰 gotowe. Dlatego Mike (Beltzner) i Mike (Shaver) bardzo powa偶nie uparli si臋, 偶e nie b臋dzie RC2. No, chyba, 偶e niebo spadnie nam na g艂owy.
  • Nowy addons.mozilla.org. A w nim – 艂atwiejsza nawigacja, wygodniejsze zarz膮dzanie i nowa funkcja – Kolekcje – kt贸ra umo偶liwia tworzenie w艂asnych zestaw贸w rozszerze艅 i motyw贸w. W przysz艂o艣ci mamy nadziej臋 zaoferowa膰 Ci mo偶liwo艣膰 spakowania takiej kolekcji i wydania jako w艂asnego Firefoksa.
  • Projekt hack.mozilla.org – przez 35 dni zostanie zaprezentowanych 35 nowych funkcji dla webmaster贸w, kt贸re pojawi膮 si臋 w przegl膮darkach nowej generacji – Firefoksie 3.5, nast臋pnej Operze, Safari i Chrome.
  • Thunderbird 3.0beta3 zbli偶a si臋. Zosta艂a jedna du偶a rzecz (globalne wyszukiwanie), kt贸ra powinna wyl膮dowa膰 w ci膮gu tygodnia i potem ju偶 przygotowania do wydania.
  • Trwaj膮 prace nad Firefoksem 3.0.12. Tradycyjnie, kilka poprawek wydajno艣ci, kilka bezpiecze艅stwa i kilka b艂臋d贸w zwyk艂ych.
  • Zesp贸艂 Aviary.pl przygotowa艂 polskie t艂umaczenie Poradnika Recenzenta do Firefoksa 3.5. B臋dzie to ma艂a ksi膮偶eczka z opisem nowych technologii i funkcji jakie b臋d膮 dost臋pne dla autor贸w stron WWW i u偶ytkownik贸w wraz z nowym Firefoksem.
  • Zacz臋艂y si臋 przygotowania do planowanego na wrzesie艅 Tygodnia Mozilli (po angielsku – Mozilla Service Week, ale niestety brzydko brzmi t艂umaczenie dos艂owne). B臋dzie to kampania troch臋 podobna do bank贸w czasu – chcemy zach臋ci膰 ludzi posiadaj膮cych zdolno艣ci techniczne do pomagania osobom mniej uzdolnionym i potrzebuj膮cym pomocy. W ramach tej kampanii b臋dziemy szuka膰 ch臋tnych do prowadzenia wyk艂ad贸w na temat obs艂ugi Internetu, osoby chc膮ce pom贸c z konfiguracj膮 Internetu, lub w inny spos贸b pom贸c bli藕niemu. :)
  • Pierwsze prace nad Firefox.Next – tutaj zidentyfikowali艣my 35 b艂臋d贸w, kt贸rych rozwi膮zanie sprawi, 偶e Firefox b臋dzie reagowa艂 szybciej przez co poprawi si臋 wra偶enie z interakcji z przegl膮dark膮. B艂臋dy takie oznaczamy TSnap. W przysz艂ym tygodniu w trunku wyl膮duje Canvas3D, a zesp贸艂 odpowiedzialny za layout zacz膮艂 prace nad XBL2. O innych planach na Firefox.Next mo偶na przeczyta膰 na Wiki.
  • Seamonkey 2.0b1 powinno wyj艣膰 w ci膮gu tygodnia.
  • Microsoft wst臋pnie og艂osi艂, 偶e zamierza wyda膰 Windows 7 bez IE w Europie. Bardzo trudno okresli膰, czy to jest w艂a艣ciwy ruch. Mitchell 艣wietnie podsumowa艂a (jeszcze przed t膮 decyzj膮) jak ten dylemat wygl膮da z naszej strony. Ja mam bardzo mieszane odczucia. Nie do ko艅ca rozumiem co Microsoft zdecydowa艂 tak naprawde (co dok艂adne oznacza “we will offer it separately”?) i mam powa偶ne w膮tpliwo艣ci, czy wydawanie w 2009 roku systemu operacyjnego bez przegl膮darki jest dobre dla u偶ytkownik贸w.
  • JestPack to nowy projekt z Mozilla Labs b臋d膮cy kontynuacj膮 idei projektu FUEL – budowania 艂atwych klock贸w z kt贸rych mo偶na tworzy膰 rozszerzenia. JetPack pozwala tworzy膰 rozszerzenia korzystaj膮c wy艂膮cznie ze znajomo艣ci technologii webowych – HTML, JS, CSS.
  • Projekt Personas – rozszerzenia pozwalaj膮cego na 艂atwe zmienianie motyw贸w Firefoksa bije rekordy popularno艣ci. Nigdy nie s膮dzi艂em, 偶e co艣 mo偶e przebi膰 popularno艣膰 AdBlocka 馃槈
  • Projekt Weave rozwija Mozillowe podej艣cie do “chmury” pozwalaj膮c synchronizowa膰 swoje dane z przegl膮darki mi臋dzy komputerami, ale w spos贸b zaszyfrowany, tak, aby ten kto hostuje serwer Weave nie mia艂 dostepu do Twoich danych. W ostatniej wersji pierwsze eksperymenty z OpenID.
  • Bespin to z kolei edytor w “chmurze” – dostepny przez stron臋 WWW edytor kodu, kt贸ry pozwala pracowa膰 nad projektem w grupie ludzi, a swoje projekty mie膰 dost臋pne z ka偶dej maszyny bez potrzeby przygotowywania 艣rodowiska.
  • Kampania FastestFirefox zbiera filmiki ludzi robi膮cych to co umiej膮 najszybciej. Chcemy zebra膰 je razem i stworzy膰 kompilacj臋 ludzkich pasji zwi膮zanych z szybko艣ci膮, ci膮gle pracuj膮cych by by膰 jeszcze szybszym – tak jak spo艂eczno艣膰 pracuj膮ca nad Firefoksem pracuje, by ka偶dy kolejny Firefox by艂 szybszy.
  • Wydali艣my wersj臋 0.5 i 0.5.1 biblioteki do lokalizacji Silme. Adrian wraz z zespo艂em oraz Romi pracuj膮 teraz nad dwoma projektami korzystaj膮cymi z Silme. Projekt Adriana nazywa si臋 Koala i b臋dzie rozszerzeniem do lokalizacji do Komodo, a projekt Romiego to pr贸ba po艂膮czenia Silme z Narro.

Tak wi臋c, dzieje si臋!

Staramy si臋 jak najwi臋cej z tego przenie艣膰 do Polski, ale brakuje nam r膮k do pracy. Je艣li jeste艣 zainteresowany/a pomoc膮, to szukamy na pewno ch臋tnych do pomocy z:

  • SUMO. support.mozilla.com to strona z artyku艂ami do pomocy osobom u偶ywaj膮cym Firefoksa. GmbH (mwawoczny at aviary dot pl) ch臋tnie przyjmie pomoc :)
  • Eventy. Chcemy zorganizowa膰 kilka spotka艅 na temat technologii Web w Polsce. Szukamy os贸b ch臋tnych do organizaci MozCamp贸w, lub innej formy spotka艅. Dzieje si臋 du偶o, jest o czym rozmawia膰 :)
  • I jak zawsze, mamy wakaty dla ch臋tnych do t艂umaczenia. Aviary.pl szuka t艂umaczy, bo projekt贸w nam si臋 zrobi艂o co nie miara. Pami臋taj jednak, zanim wy艣lesz zg艂oszenie, t艂umaczenia to odpowiedzialna praca. A my chcemy by膰 w tym najlepsi. :)
  • Z tego co wiem, nikt nie t艂umaczy hacks.mozilla.org – je艣li kto艣 jest zainteresowany, to z ch臋ci膮 pomog臋 z organizacj膮 tego :)

Silme 0.5.1 released

3 weeks after Silme 0.5 release, we’re proud to announce the first minor update to Silme – 0.5.1.

Silme 0.5.1 carries 5 changes, each of them making it a little better. In particular it fixes bugs that were blocking Adrian Kalla‘s version of compare-locales to get its first release.

So, what’s new in 0.5.1?

  • New method: silme.diff.EntityList.has_entity() should make testing entities in diff faster
  • Two bugs in silme.io.jar that made it impossible to use
  • Performance improvements in silme.io.jar.get_package() (can we upload silme script to Fastest Firefox? ;)) by just ignoring to load zip entries for directories
  • We don’t close ZIP file in get_package if we didn’t open it there. It was a bug that caused silme.io.jar to fail with subpackages
  • Major rework of URI schema accepted in silme.io.jar. It is now possible to do:
    ioc = silme.io.Manager.get('jar')
    l10npack = ioc.get_package('jar:chrome/package.jar!locale/ab-CD/package')

This is the very first minor release in the history of Silme projects, and we’re happy to make it!

You can download it from HG repository or use pypi for silme0.5.1.

I’d like to thank Adrian who helped by identifying bugs and writing patches for this release. You may also want to check his newest project which uses Silme to create a sleek localization extension for Komodo! It’s called Koala :)

Next in line is Silme 0.7 which will bring new features and optimizations and we’re planning an alpha release to happen early next week. If you’re interested in hacking localization related code and never tried silme, it may be a good moment to give it a try and help us on the way to 0.7 :)

Silme 0.5 now at easy_install

Adrian Kalla added Silme 0.5 to pypi repository so that you can download it and build dependencies in the python style.

It can’t get any simpler than:

easy_install silme

Also, if you missed it (I know you did), here comes the very first documentation. It comes out of doxygen (which is probably the best of the worst choices for python docs) but it works and it’s there for your convenience. :)

If you happen to be a master of doxygen and you know how to make it work better, contact me pls!

Silme 0.5 released

silme logoProjects need releases. It’s important. It’s like a birthday for a project – they get a milestone to mark the progress.
On the other hand we have developers. They need unlimited time and no deadlines. When one meet another, we have an interesting arm-wrestling battle between those two, but ultimately one has to obey to the Oath of the Bazaar, if you know what I mean.

Release

So, here we are, Silme was asking for a release for long enough and I postponed it over and over so it’s time to make the cut. Today, I’m proud to announce the very first official release of Silme – python l10n library. Silme has been announced to mozilla.dev.l10n long time ago, and since then it has been continuously developed in a small, but quite interesting project structure with support from Adrian Kalla, Stefan Plewako, Ricardo Palomares, Sta艣 Ma艂olepszy and management guidance from Seth Bindernagel.

It’s very, very hard to explain Silme concept to those who never tried to work on localization development.

Let me try: It’s like a DOM API for localization.

Works? Probably not… Well. Let me try the descriptive way. Silme is a toolset for a developer who wants to work on localization tools. It can read localization files, it can write them, it can modify them, it can search through them, it can process them, merge, split, localize and help you get some statistics out of the localization files. It probably can juggle them, although support for this is rather experimental.

Continue reading Silme 0.5 released

Slides from Silme talk

Just got back home after

Expedia screenshot
Expedia screenshot

wondering if that gives me the “longest trip home” award from EuMozCamp crew. William, beer will do this. :)

The event was great, I’ve been at so many mozilla events during last 8 years yet beyond “normal” awesomeness of those events, once againt some elements of what happened were a big surprise (Mix group – you know who you are) :)

For now I’m attaching Silme talk slides, for those who couldn’t make it to the talk. (it’s also the very best documentation we have so far):

It requires tengwar-gandalf font to display some elements, but is pretty readable without it.

If you have any other questions regarding silme, jump in on #l10n channel, silme folks are there.

Right now I’m working on logging system and then PEP08, API freeze, documentation and then release! :)

Silme progress

First update after public announcement. During last week, Silme received several minor stability patches in trunk and got initial support (patches [1], requests, feedback on API) from several developers including Stefan Plewako from Aviary.pl and Flock projects, Adrian Kalla from Aviary.pl and an intern in Mozilla Corp., and Pike himself :)

Beside of that I spent some time during Firefox Summit on talking with people of Pootle/TranslationToolkit fame to identify potential problems that they faced. It was extremely supportive for me and gave my major take away is that if I want to reach my goal of having one, common abstraction layer for l10n objects I have to merge two very different concepts – single locale files (like DTD, properties, ini) and multi-locale files (XLIFF, GetText, tc).

Multilocale branch has been ignited to address this. I already did several tests and it seems that I will be able to support both models in one API without making both feel like hacks.

Pike raised another concern, that I tried to keep for later which is a concept of entity/l10nObject processing. Initially I assumed that it’s a minor topic, and on this level of abstraction I assumed that leaving the entity values unprocessed is OK for now. Unfortunately, especially with L20n being the next Big Thing for Silme, entity processing becomes very important and has to become a legimate element of the library skeleton.

I started early hacks of l20n.py format parser leaving my brain in free conceptual thinking mode and waiting for Pike’s time to talk about grammar inconsistencies.

Last big thing to come is a soon to happen switch from svn repo on my server, to shiny new hg.mozilla.org. This requires me to spend a few hours on svn-to-hg migration tools, but should help with later branching and support easier collaboration between many developers.

Current roadmap is pretty dense for stage3, and may be latter splitted, but does not currently involve work on end-user oriented apps like a webtool. Once I have this two major restructurizations ready (multilocale/pre-processing), I’ll get back to providing proof-of-concept tools. We’re of course looking for more developers so let me know if you’re interested :)

Silme goes public

Mitchell Baker speaking
Mitchell Baker speaking

Last half a year was amazing for me. I joined Mozilla Corp., reignited my participation in Mozilla project, worked on several exciting projects and it’s an amazing coincident that this half a year is almost over exactly now, when I’m sitting at Whistler, with 400 creative, innovative people and we’re all listening to Mitchell Baker speaking about our open source roots, and the trunk of the project being about “Human interaction with the Internet”… It’s thrilling.

There are several projects that I’m trying to launch related to Mozilla, I will be speaking about them during the Firefox Summit, and I will blog about it once the summit people share their feedback on it.

One of the elements of Mozilla ecosystem that has been super exciting for me is localization and internationalization. And the great news is that there’s a lot happening around L10n in Mozilla these days. We’re improving the l10n build system, l10n processes, but there’s one very visibly missing area in L10n land – tools. We finally have a project that is going to target this – Verbatim. Verbatim is a project aiming for a webtool that will allow localizers focus on the translation instead of having to spend time trying to figure out how to do the actual translation. If you’re in Whistler, we have a presentation on Verbatim today :)

But that’s not all! There is one project that was something I’ve been coding over weekends and while at the airports and on flights and in many other places. It’s inspiring and challenging for me enough to keep working on it over evenings, nights, sundays, and holidays which I have to apologize for to my girlfriend :(

Yesterday, I tagged stage2 of the project which means it’s more or less ready to go public and be reviewed by you all, and has a chance to explain itself to the level that may attract others to join me and participate in it.

The project name is Silme, and it is a python localization library that has been structured in a multi-abstract level model. Thanks to it, the library works natively with DTD, Properties, GetText, can work with XLIFF, L20n, ini files and any other l10n data format. Beside, it can work with files stored on drive, in SVN, in CVS, in MySQL, SQLite and virtually any other data source.

On the other hand it’s extensible and flexible enough to work in web app, command line tools, or GUI tools. It’s not only for Mozilla, as any other project can build apps on top of this library. Be it Songbird, Miro, Seamonkey, Firefox, Thunderbird, Addons.mozilla.org, Flock, GNOME, KDE, etc., etc.

If you find above description interesting, please read the original announcement and join the project. It’s totally open and very alpha. If I try to express where I am with it, I think I just passed the mark when the code self explains the idea. Nothing more.

Beside, it’s a lib. Unless people like to localize directly in python env, we need apps on top of it. And it’s at least as challenging as a library itself, but if you want to write a localization app, I think it’ll be easier if you will be able to focus on UI and features of the app, and minimize the work on sole entity operations that Silme does cover.

So… here we are. I’m confident I will keep working on it, and some small simple apps will be created for my own use, but it’s very, very far from being useful, and need a lot of work to get there. Ultimate goal will be to work smoothly with an exciting project that is being mindcrafted in Mozilla these days – L20n.

Please, remember that it’s a hobby library for now, a product of several years of work as localizer, countless nights spent with my friends from Aviary.pl – Polish Localization Team, and the creative environment of Mozilla project. It’s up to you all what will happen next with it :) So mail me, or reach me on IRC if you want to discuss things about possibilities that Silme opens!