суббота, 23 апреля 2016 г.

A note to those who test kde apps building them from sources

if you encounter a problem with unfindable plugins like the one described here, the answer is simple: move fresh plugins to 'qt5' subfolder, e.g. /usr/lib/x86_64-linux-gnu/qt5/plugins instead of /usr/lib/x86_64-linux-gnu/plugins

Update: or pass -DKDE_INSTALL_USE_QT_SYS_PATHS=ON to cmake command (thanks to csslayer for pointing that out)

суббота, 16 апреля 2016 г.

KTorrent KF5 release

KTorrent for KF5 is available officially, please spread the news.

One known issue that struck many people is downloading to ntfs partition being slow even on ssd (!) and causing ui unresponsiveness (the root cause is inside ntfs driver). In the next release i will introduce an autodetection of ntfs and suggestion to download to a non-ntfs partition with moving files to ntfs after download finishes.

Update: i have found a proper fix for the ntfs problem (i just disabled mmaping codepath for ntfs* and fuseblk filesystems). i'll create a 2.0.1 release of libktorrent tomorrow.

суббота, 28 ноября 2015 г.

KTorrent KF5 port

So finally i have scratched my own itch and worked on ktorrent port (thanks Andrius Štikonas for initial porting of libktorrent). Basic torrent download works (i tried rutracker.org), but ktorrent cannot find its plugins. So if anyone has expertise in KService and stuff, help is welcome.

One can build ktorrent using kdesrc-build script or manually from 'frameworks' git branch.

Also note that new Coverity scan results are available for many kde libs and apps, this time also including plasma and baloo, but without krita

понедельник, 2 ноября 2015 г.

Coverity scan results for KDE 15.12 (master branch)

I have triggered another round of Coverity static analysis of KDE codebase, this time more than 180 repositories were built out of 253 including frameworks, almost all the base/workspace apps, krita, kdevplatform, konversation, marble.

To view analysis results you need to be a member of KDE Coverity project. If you are not yet then please send an appropriate request in Coverity describing your role in KDE and one of KDE Coverity project admins will approve it.

воскресенье, 27 сентября 2015 г.

Lokalize for Windows and OSX with spellcheck

New Lokalize builds for WIndows 7+ and OSX 10.9+ with spellcheck available (both 64-bit):

win mirror 1 win mirror 2
osx mirror 1 osx mirror 2

Lokalize will use spell dictionaries installed with LibreOffice 5 (please install it in default location), also on OSX few system-shipped dictionaries will be used for spellcheck, but for glossary stemming feature you still need to install LibreOffice with at least English dictionaries.

If windows build fails to start saying msvcp140.dll is missing then install this microsoft vc2015 redistributable

Unfortunatelly full open source OpenDocument translation toolchain (get .odt -> extract strings into .xlf -> translate it -> merge translation back into .odt) is unusable at the moment because of bug #3239.

пятница, 20 марта 2015 г.

Coverity scan results for KF5

I have initiated coverity scan for 96 KF5 repositories out of 233 available to kdesrc-build. All the rest didn't build on my machine either because debian still ships Qt 5.3 or for some other reason. The scan has found 610 new defects, and there are more pre-existing ones that were found two years ago.

Please have a look at the results and fix defects that are in the code you know. If you still are not a member of 'KDE' project @scan.coverity.com please register there and send a membership request. Being a member means that you can mark defects as 'done' or 'false positive'.

I will retrigger scan in several weeks.

суббота, 20 декабря 2014 г.

Lokalize for KF5, Windows and OS X

...and how to implement KUniqueApplication functionality on win+osx (scroll down for this).

I have finished porting Lokalize to KF5, you can build it using kdesrc-build script.

Also I'm working on a stripped down version of Lokalize for Windows and for OS X which doesn't need KDE. Follow the links to get .exe and .app prebuilt for you (Windows XP+, OS X 10.9+)



Remember this is the first public preview release, so don't expect more than simple editing of PO and XLIFF files. Features that are missing but are planned for integration into win+osx versions:
- File search and replace window with Quality Assurance feature
- Spellchecking
- Stemming for the glossary
- Calling odf2xliff and xliff2odf console tools from Lokalize
- Polishing

Please report bugs, crashes and features you would like to be implemented first down in the comments.

KUniqueApplication: please see a code inside Q_OS_WIN32 in main.cpp for the way how to open files in an app instance that is already running. For OS X you only need to install an event filter on qApp that reacts to QFileOpenEvent event.

среда, 25 июня 2014 г.

Lokalize for KDE5, QThreadPool

Hello everyone. I have started porting Lokalize to KDE5. Lokalize is computer-aided translation system that can be used to translate KDE and any other open source project into differenet human languages.

Currently it starts and even loads .po files, as well as adds them to translation memory.

During the porting i found out that ThreadWeaver has changed dramatically and decided to port to QThreadPool instead. The only feature missing in QThreadPool for me is dequeueing individual jobs (that have not been stated to execute yet). I have implemented this feature and created the jira issue with patch review request. So if any of Qt developers read this, I ask you to review this short patch so that it ends up in Qt 5.4.

среда, 20 июня 2012 г.

non-distracting movie playback in kubuntu/vlc

For quite some i tried to find a way how to stop my screen (and projector) turning off during movie playback every 10 minutes. also i'm using the latest standard kubuntu, various googled solutions didn't help.
Now i found the solution: i added a 'xset s off' line to /usr/bin/startkde init script and everything is great now.
If you suffer from the same problem, please vote for the issue i have filled for the vlc player

суббота, 14 апреля 2012 г.

making kubuntu use less memory

i run kubuntu on a 1gb ram netbook, and optimizing KDE memory usage is cruicial for me because i use this machine for development (kdevelop is a large beast, and i want to have chromium and gcc running as well). I'd like to share a few tips to achieve that.

1. sudo apt-get install kubuntu-low-fat-settings
2. if you don't need bluetooth: sudo apt-get purge bluez* bluedevil
3. sudo apt-get purge akonadi-backend-mysql mysql* (this will automatically install sqlite backend)
4. if you don't use activities: sudo rm /usr/share/kde4/services/kactivitymanagerd.desktop (i filled bug 298088 with request to make kactivitymanagerd ran only when really needed)
5. if you don't need akonadi: sudo rm /usr/share/autostart/akonaditray.desktop
6. if you don't use nepomuk (i.e. disabled it in systemsettings): sudo rm /usr/share/autostart/nepomukserver.desktop
7. sudo rm /usr/share/autostart/kaddressbookmigrator.desktop
8. if you don't use printer often: sudo rm /usr/share/autostart/printer-applet.desktop (you can still start this applet manually by issuing 'printer-applet' command in konsole)
9. sudo mv /etc/rc5.d/S50saned /etc/rc5.d/K50saned

(hint by Dave: instead of removing .desktop files, just do 'cp FILE ~/.kde/share/autostart && echo Hidden=true >> ~/.kde/share/autostart/FILE)

Currently my Kubuntu uses 222mb right after startup.

Also i'm investigating why the programs I really need (kmix, klipper, etc) are taking so much ram. first results showed that at least 4megs are used to store font data (allocated by qHBNewFace() call in src/gui/text/qfontengine_ft.cpp, and this is not shared across different processes!)

Please share any additional ideas on how to reduce memory footprint of KDE.

четверг, 22 декабря 2011 г.

Lokalize in 4.8

What's new in Lokalize from KDE 4.8:

Translation memory based QA: you can have a permanent list of translator's false friends and check your TM (which can be made to reflect all your project) against them whenever you like. Because the check is done based on TM and not real files, this should work much faster [than pology]. And you can even add this list to your language dir in SVN repository to share it among other team members, the way it is done with glossaries.

Also:
* better support for real world glossaries, including large ones;
* improvements in XLIFF support (part of them contributed by Albert Astals Cid)
* faster UI
* some 14 bugfixes (apart from what was available in 4.7.x updates)

I'd like to say 'thank you' to all bug reporters. Apart from QA feature, all other changes were made as a reaction to user requests.

пятница, 22 июля 2011 г.

internationalization at desktop summit

So i got my German visa today, this means i will attend Desktop Summit.

I registered proposal for i18n-related BoF and hope to see as much translators as possible there ;)

пятница, 22 апреля 2011 г.

free software and outside world

i'd like to say a word on kde 'marketing' topic as well.

i think for free software developers marketing should really mean paying attention to bugzilla and fixing/implementing what users are asking.

this way users whose wish was fulfilled will readily spread the word about us.

i know few people who have ideas on how to improve the software they use (for example DJ software),
but chances that owners of non-free software will implement them are low. so the point is to show that it is worth filling the bug reports, i.e. that a user will be heard.

P.S. i closed 9 lokalize bugs in the last 2 weeks :)

creating passion, not creating product

this phrase have caught me in Dion Moult's blogpost "The kde-www war: part 4"

this is actually the main idea behind some scientific theory of society. 'economics should be transformed into pedagogics': people should learn how to make products like food, clothes, buildings, railways, electronic equipment, and the side effect of their learning would be real products.

but nowadays most of the people take part in activities focused on creating consumer products, and get [minimal needed] knowledge only as a side-effect.

the point in the pedagogics society is that when you have learned smth, and also tought it to others, you move on to another industry field. this way you never get bored, and you feel yourself a human, not a non-conscious machine that does same thing all the time.

четверг, 9 декабря 2010 г.

Do you know about World Festival of Youth and Students?

This gathering can be of interest IMO for the free software community, as a self-organizing movement.

The gathering is a general one, has a long history and, I believe, can particularly touch intellectual property subject. It's happening on 13-21 of December. See Wikipedia article and offical site for the current 17th gathering.

On a side note, during the last weeks I returned to Lokalize development: fixed few bugs reported via bugs.kde.org, did few optimizations. I hope you'll like a more polished Lokalize in KDE 4.6 (sorry, the wishes that require new messages will have to wait until KDE 4.7...).

вторник, 14 сентября 2010 г.

KDE on Mac test report

So I tried running KDE apps I miss on Mac on Mac Snow Leopard (kdevelop and kopete mainly).

I installed macports following procedures on their site, issued sudo port install kdenetwork4 (kde version is 4.4.x).
I also wrote simple Portfiles for kdevelop 1.0.2., but couldn't run a dbus session using the command given me in the terminal after each kde package install. To fix this i edited /Library/LaunchAgents/org.freedesktop.dbus-session.plist and changed OnDemand and Disabled options in it to the opposite values.



Unfortunately KDevelop crashed after i tried importing a project (you can see the backtrace on the screenshot). Other apps like KTorrent, Kopete, Lokalize are usable (although being a little ugly in the terms of appearance).

четверг, 20 мая 2010 г.

Lokalize in KDE SC 4.5

Lokalize, the KDE translation tool, saw an evolutional development during 4.4-4.5 period. Most of the changes are bug fixes. I'd like to say 'thanks' to Papp Laszlo, Hungarian translator and Chakra developer (among other things), for doing a lot of work in this regard.

As for the features, the most essential changes are:
* filestats is cached on a disk now, so the initial project scan is alot faster now.
* translation memories are improved in terms of target language: now Lokalize should be more suitable for separate projects (when .po files for all languages are in the same folder)
* simple project creation is back
* glossary storage is rewritten to use QDom classes (should eliminate any previous related crashes).

суббота, 2 января 2010 г.

Skreener 0.1 Preview Release

For the last 4 month me and several other people (see the sourcecode) had been working on a new piece of software called Skreener, to FLOSS-replace the proprietary and GTK-based Wink, tutorial and presentation creating software.

Skreener is most suited for showing how to use software, and not for showing animation effects. The main difference between Skreener and recordmydesktop (and the like) is that Skreener takes usual screenshots only once per second, and mouse cursor smooth movement is then restored during the playback. For this purpose SVG format is used (Wink generates Flash movies). This allows you to easily cleanup recorded screencast by removing non-essential frames, making the mouse cursor go strictly to the target position.

Today I decided to release the first public preview release of Skreener, just for the case if someone else decides that he is fed up with uncontributable Wink. Basic functionality is implemented, To be done is adding comments (continuing only when user clicks 'continue'), polishing.

example screencast (archived, 800 kb)
example screencast (immediate, safari-displayable, firefox-not, other browsers flicker)

On the project page, .deb package and win32 build are available.

пятница, 24 июля 2009 г.

Testing KDE 4.3 translation with Lokalize

I created Lokalize script to automate UI translation testing: it compiles currently opened PO file and puts it under ~/.kde where KDE can see it, so that when you start your application next time, it will use your translation.

To use it for your language (you'll need Lokalize coming with KDE 4.3):

cd trunk/l10n-kde4
svn up scripts
dolphin scripts/lokalize

then open Lokalize with project for your language, go to Project -> Configure project -> Scripts and drag-n-drop msgfmt.rc from dolphin to the settings area in Lokalize. Restart Lokalize. You should see a new item under Tools menu.

To make this script available automatically for all your team members copy this msgfmt.rc to l10n-kde4/LANG/lokalize-scripts (they will also need to svn up trunk/l10n-kde4/scripts).


Now a few words on packages.
I have been given write access to Debian KDE packaging repository (thanks to Sune Vuorela), where I was able to specify right dependencies and recommended packages for Lokalize. If any of other distro packagers are reading this, please sip on the spec.

P.S. I installed kde 4.2.96 packages from debian experimental (it conflicts with kdevelop package, so I reinstalled kdevelop manually with dpkg -i kdevelop_3.9.94-1_i386.deb afterwards).

вторник, 12 мая 2009 г.

Qt's DOM whitespace specifics

So I've just finished writing xliffmerge scipt that is direct analog of msgmerge@gettext and pomerge@translate-toolkit, but specially for XLIFF, i.e. it leverages all the advantages XLIFF brings, like saving information about each template update, specifying tha phase in which each unit was modified last time, and so on.

I was surprised to find out that translate-toolkit parses XML files into its own internal representation, which means they loose everything they don't support.

So to do it in a nice way, I chose to work directly with DOM representation of XLIFF file (using QDomDocument and friends). In Lokalize XliffStorage class is just a wrapper around QDomDocument.

I enabled preserving the whitespace, but in some cases it added additional whitespace, which means it modified user-editable text. The cases were clear: when no character data is between tags, it 'formats' them: inserts newline character + indent spaces. To override this behaviour I just added insertion of empty text nodes between tags. You can see the code in the end of xliffmerge.py (fixWhiteSpace*())