1. If most cryptographers and one prominent NSA whistle-blower are to be believed, Signal by Open Whisper Systems - branded TextSecure on Android before it recently got merged with RedPhone  - is the most secure traditional messaging app in use today - that is, not counting those that require Tor, the Bitcoin blockchain or other tech out of the reach of regular users.

    I am pleased to say that a TextSecure compatible client for the Ubuntu phone has been in the store for a while, and today it is stable enough to be used regularly. The basics are all working - end-to-end encrypted texts and group chats, photo, audio, video and contact attachments.

    Note that this is not a replacement for the standard messaging app as it does not send or handle SMS.

    On first run you will be prompted for your phone number, will need to manually confirm the received SMS verification code, then asked to import your address book contacts to see which of them is already using Signal.

    There are still enough bugs lurking and major features missing - encrypted message store, push notifications that require server side work, support for multiple devices synced with the same phone, even encrypted phone calls, which aside from the large amount of work involved may or may not be possible depending on what the Ubuntu phone SDK exposes.

    While new features are being added it is very likely that backwards incompatible changes will be introduced to the way message storage is handled, and while attempts will be made to make migration painless, do not yet store any important information solely in the application's database.
    Both the conversation SQLite database and the attachments are under /home/phablet/.local/share/textsecure.jani in case you need to access them independently of the app.

    The project is written entirely in Go. Working with Go for the backend library and with go-qml for the UI has been a mainly positive experience, although I wish go-qml were more actively maintained and had a more complete coverage of the common APIs and use cases that C++ Qt/QML developers are used to.

    If you try it out, file issues on github. If you know QML and feel like contributing, check out the project at github.com/janimo/textsecure-qml and get it touch on the mailing list

    0

    Add a comment

  2. Cross compiling Go packages to ARM is easy unless they rely on C libraries via cgo, in which case C cross-compilers and libraries built for the target are required on the host, and the invocation is not straightforward at all.

    Dimitri's post shows a way to do it using armhf chroots, and inspired by it I put together a docker image that does slightly more and can be used as if it were a simple command. The image uses a Go
    package built from a PPA , since the one in the archive does not have a CGO enabled ARM cross compiler.

    Install the image

        $ docker pull janimo/goqml-cross

    Set up an alias for convenience

       alias goqml-cross='docker run --rm -it -v $(pwd):/home/developer -v $GOPATH:/home/developer/gopath -w $(pwd|sed "s,$GOPATH,/home/developer/gopath,") janimo/goqml-cross'

    Go to the source tree

      $ cd $GOPATH/src/your/package

    Run the container as if it were the go tool (which in fact it is, /usr/bin/go being the docker container's default entry point)

     $ goqml-cross version
     $ goqml-cross build -i

    This will reuse your host environment's GOPATH and place the resulting Go packages under $GOPATH/pkg/linux_arm/ to be available in subsequent fast incremental builds.

    Check the docker registry for details on how to use it and the project on github if you want to build your image from source.

    0

    Add a comment

  3. I have been meaning to try QML for a while, and a couple of weeks ago I managed to finally do it, the result being a simple memory game for small children, a clone of the GCompris railway activity. In this post I'll summarize my short experience with Ubuntu click app development.

    TL;DR


    QML + Javascript is the easiest way I have seen so far to program a small interactive app. The extra tooling I did not test, I used vim and click from the command line. Documentation is so and so. App deployment and installation on Ubuntu for Phones is working well enough, even if is has rough edges.

    The game itself

    The game is about watching cartoon trains composed of a locomotive and a small number of different wagons scroll on the screen and then trying to reconstruct them from memory. There are no written or spoken instructions given. Let figuring out the rules be part of the game :)

    Unlike GCompris, this clone works with touch input, the lack of availability of a touch-based railway game being the secondary motivation behind the exercise :) All sounds and most images, much like the game idea are lifted from GCompris and credited accordingly.

    If you're impatient and happen to have Ubuntu running on a phone but preferably on a tablet you can install it by searching for 'railroad' in the application screen. If not, apt-get install gcompris :)

    The source code with full non-rebased git history is here, GPLv3 licensed
    https://github.com/janimo/railroad

    File issues there if you find a bug or want a feature.

    QML and QtQuick

    I finally found out that QML stands for only the Javascriptish language and runtime, while QtQuick is the core of the 'stdlib' that comes with Qt/QML, itself mostly written in QML.

    This combo is surprisingly pleasant to work with, yielding quick results from a comparatively small effort and few lines of code. The built in support for animations and multimedia in QtQuick and the reactive programming feature of property binding in QML were all very welcome. As things evolved though, I often found myself having to and even wanting to move most of the logic into a separate JavaScript file and give up on some the nice declarative features given by QML. For example it turned out that while a Grid that would automatically lay out train images given the number of rows and columns to use was very convenient and concise, I eventually used a dumb Rectangle as the container and calculated x and y explicitly for each train as they did in the 70's in order to have more control over where they end up to match the SVG background image.

    This is not unusual, I understand that the idea of using QML only for the graphics and doing the rest in C++ is a popular view among developers with experience. IMHO that is very bad idea to hold onto though if you want to encourage quick prototyping and having a chance to compete with Android or FirefoxOS for developer's attention. There will always be a need for code that cannot or should not be done in QML, but that should be the exception, and even then I'd rather see Go-QML be the glue between QML and the OS. That too relies on C++ but mostly hides it along with the build system from the developer.

    Tooling

    In order not to learn too many new things at once, and to avoid pitfalls unrelated to actual programming I decided to just use vim to edit and qmlscene to test and run the app.
    The only change in vim's configuration was adding syntax highlighting for QML via this snippet in ~/.vimrc

    Bundle 'peterhoeg/vim-qml'

    and then running the BundleInstall vim command.

    It's that easy since I started using  Vundle :)

    I find the Click packaging format refreshingly simple and to the point.

    Documentation

    I used the official Qt documentation site mostly. It is comprehensive but not easy to navigate, it is a collection of rather disconnected islands covering QML, QtQuick, etc, but with quite some overlapping content. I used the in-site search functionality often, and even global googling to find me something on the site I was already on :) Regarding the Ubuntu documentation I agree with all that Stuart had already said

    App building and deployment

    I used the click command line tool on the development computer to build the click package.
    I may have missed out on important packaging scaffolding and validation tools since I did not use the SDK. I wished I could do click newpackage and later click check (or using equivalent tools if not click itself) to get a basic skeleton working and to catch errors such as malformed developer email address, before uploading.  I found out about reviewer-tools only recently.

    The link I followed on the Ubuntu app developer site to publish the already built click package turned out to be the wrong one and non-working, but only after going through the 5 page wizard. I _think_ this is fixed now.
    The app was let into the appstore no more than 30 minutes after it being uploaded the first time. There was a need for a second time and for the obligatory version bump in order to correct the email address typo mentioned above.

    So while these steps seemed confusing it can be partly ascribed to me being new to it all.

    App install and update

    Since I still find the Ubuntu phone interface and navigation confusing and since there are still bugs in the implementation I spent too much time trying to get the app installed by it not showing up in search, or a stubborn on screen keyboard hiding the Install button from view when I found it.
    I made a minor bugfix release of the game yesterday (0.1.2) but I am not sure how to upgrade to it on the device. Still lots of things to learn about and fix on Ubuntu for phones :)
    0

    Add a comment

  4. After exactly two years of neglect which I will henceforth market as 'LTS cadence' last week I released a new version of the Ubuntu remix with Romanian, Hungarian, German and English languages included by default.

    http://kiwilinux.org/en/

    It is based on Ubuntu 12.04.1, and keeping in line with the traditional and largely unwritten goals of the project, it targets Linux newbies who find some of the standard Ubuntu apps lacking or who are taken aback by anything too unfamiliar. Windows XP users for example. It also targets lazy people who would otherwise change about the same things on a vanilla Ubuntu install.

    So it features the Classic Gnome 2 desktop, Chromium, VLC, Pidgin, Flash, multimedia codecs and the rar and p7zip archive format handlers popular in Windows. Small changes compared to plain Ubuntu for someone who knows where to find these packages or change the defaults but for new users such small changes can save a lot of googling and digging in forums. I do not think there needs to be any rite of passage for someone to qualify to simply use a free OS.

    Besides the usplash theme and some changes to the installer slideshow the appearance is 100% Ubuntu. No point in spending time on custom wallpapers let alone entire themes and invalidating the hard work that went into the Ubuntu looks in the past few years just to gain some gratuitous differentiation. Besides, users tend to change their wallpapers.

    Also no separate community is encouraged, it is more or less Ubuntu, people should use the regular forums.

    I also switched the website to use the nice Jekyll tool and to host it on Github Pages while updating and deleting a lot of text from it. Still there is much to trim before perfection is achieved.

    The plan, which was tentative two years ago, to no longer release non-LTS based releases is settled on now. If there's still a market for Linux desktops in two years,  you may see a Kiwi 14.XX then :)

    Next step: upgrade my mom's old Kiwi 8.04 or whatever old version is on her computer :)

    8

    View comments

  5. With the latest upload into the Ubuntu 12.04 archives MongoDB 2.0.4 builds and passes its smoketests on ARM.
    Upstream's git master - the 2.1 branch - also supports at least ARMv7 and Ubuntu.
    0

    Add a comment

  6. Even though some of these tools have been around for years, I have only recently started using them.

    * byobu - nicer than plain screen with good defaults, for example key binding for scrolling is like in a regular terminal.
    * sbuild - nicer than pbuilder, defaults to overlay directory instead of tarball, hence fast by default, nice colors, build summary. I have heard about it for a long time, but the recent mention during Ubuntu devel week made me curious. It is friendlier now - no need for LVM snapshots. http://wiki.debian.org/mk-sbuild
    * syncpackage - which now allows syncing from Debian if you have Ubuntu upload rights. No need to burden the archive team members anymore for every sync or go the roundabout way of getting from Debian and then uploading manually without changes.
    * Modern Debian packaging in the form of the 3.0(quilt) source format and the new dh tools. The former allows a cleaner separation between the upstream and distro bits while the latter makes the debian/rules file much shorter and cleaner even than with CDBS, let alone with the classic debhelper way.
    * Twitter Bootstrap - mostly unrelated to packaging or command line stuff, but very nice regardless. CSS+Javascript UI elements that for me at least make jQueryUI superfluous, while being promoted as 'oh, just a CSS framework and style guide, not much else'.
    1

    View comments

  7. There's a fresh release for the Lightspark Flash player, the third one on an approximately monthly schedule.
    Most new changes in 0.5.3 are robustness and portability fixes and a working Windows port, the vast majority of it being done by Matthias Gehre.

    Coverage of the testsuite from the Tamarin VM is also progressing well.

    The source tarball and .exe installer are found on Launchpad

    Ubuntu user can get updated packages from the daily PPA for Natty and Oneiric.

    You can follow the development version and contribute on github.
    0

    Add a comment

  8. After over two months of work since 0.5.0 by a handful of developers, there's finally a new release of Lightspark, the (other) open source Flash player. Unlike Gnash, Lightspark supports the AVM2 virtual machine and the newest versions of SWF files, while falling back to Gnash when it encounters SWF8 or earlier content.

    News for users

    For users, the most visible change is that YouTube is working again - their player keeps getting updated and sometimes it introduces Flash APIs or VM opcodes which are not fully implemented in Lightspark, resulting in breakage.

    Flowplayer had been made to work in this cycle.

    EGL/GLES2 based rendering has been added so it can run at reasonable speeds on ARM hardware where there is generally no support for hardware accelerated desktop OpenGL.

    Less crashes due to the many small and large fixes added.

    Changelog for 0.5.1

    * Misc fixes to better support YouTube, Vimeo, Flowplayer
    * VM correctness improvements
    * Support for AS templates
    * Dropped half-finished AVM1 support
    * Support for EGL/GLES2 rendering
    * Support for loading external JPEGs
    * Better text handling(e.g. coloring)
    * Improved test runner, support for the Tamarin testsuite
    * Various API fixes for bugs uncovered by the testsuite
    * Dropped mozilla dependency, use internal NPAPI headers
    * Added LIGHTSPARK_PLUGIN_LOGLEVEL environment variable to control the log level of the browser

    News for the project

    Alessandro, the main author and original maintainer of the project is taking a break for a few months, so most development and project management in this cycle has been done by the existing contributors.

    The Lightspark team is planning to release new versions monthly from now on, to get the fixes out sooner.

    We also plan to move away from the sourceforge.net homepage and wiki, and manage the project using only two instead of three hosting services :)

    * github for code, wiki and developer related issues

    * launchpad for user bugtracker, mailing list, release tarballs and Ubuntu PPAs

    Download

    The release is already available in Debian Sid and Ubuntu Oneiric and there are daily builds available in the team's PPA for Ubuntu Natty and Oneiric. The upstream code is progressing rapidly and does not really add regressions so using these daily packages is pretty safe and also helps a lot with testing.

    The release tarball is on Launchpad for other distro packagers or people building from source...

    https://launchpad.net/lightspark/0.5.1

    ...although for the latter category I'd suggest to follow the project on github :)

    https://github.com/lightspark/lightspark
    4

    View comments

  9. In preparation for tomorrow's 'Common ARM build failures' session that is part of Ubuntu Developer Week I started a wiki page. Feel free to read it if you plan on attending :)

    https://wiki.ubuntu.com/ARM/FTBFS
    0

    Add a comment

  10. The Shotwell developers need small AVI files created by diverse cameras to improve metadata handling of such videos. If your camera creates AVI, consider uploading a short video in their wiki.
    This mail has the details.
    6

    View comments

  11. Patches for video upload support to Flickr and Facebook were just accepted and commited to trunk and will be available in Shotwell 0.8, most likely this month :)
    10

    View comments

  12. As an experiment to see if it alleviates slight back pains, for the past four weeks I have been working standing. I don't use an actual standing desk but rather stacked a lot of cardboard boxes on my regular desk, then put the monitor, laptop, keyboard and mouse on top of them. It doesn't look good at all, so I won't provide a picture. Besides, the boxes carry the names and logos of various manufacturers and I don't want to spoil the post with product placement :)
    The mouse sometimes falls on the floor but otherwise the setup is great.

    I don't plan to go back to using a chair for computer work anytime soon.
    Even if I stand 8-10 hours my legs don't mind and my back feels a lot better now. I felt improvements after a few days already. The lower back pain went away and there is almost no bother higher along the spine where I used to ache sometime after sitting - having a very bad posture, I admit, even though the chair is somewhat ergonomic.

    I also feel like I can concentrate better standing but this may be unrelated.
    11

    View comments

  13. Up until two months ago, had I been asked the question "Which is the open source project that you are least likely to ever contribute to?", I would have, without hesitation answered OpenOffice.org. Here by open source project I of course mean one of the reasonably popular ones not any random homework that has a COPYING file attached and uploaded to the internet.

    One of the barriers is of course the large and mostly legacy C++ codebase, but in the case of OpenOffice it was a lack of a real independent community in charge of the project and the extensive control Sun had that made contributing unattractive. I have not experienced it first hand, but the fact that the project had such a reputation is probably telling of the manner in which it was ran. So do the piles of patches distributors had to maintain out of tree.

    But since the LibreOffice fork the answer to that question is different. The OpenOffice people that initiated it made a few nice changes in order to break down the barriers.
    • dropped the annoying contributor agreements
    • restructured and migrated the code-base to git repositories (about 20, because of performance considerations apparently) on freedesktop.org
    • started maintaining a very active wiki with potential easy tasks for newcomers and are very welcoming and helpful on the mailing list and IRC
    I have also sent a trivial cleanup patch in that was accepted, so now I know that if I ever have an annoying bug in LibreOffice I will not treat it with a shrug as I would do with proprietary software and as until now but will feel confident diving in the code.
    I'll also send a few more patches in of course, the list of tasks is huge.

    Office software is unlikely to get one laid and I suspect the motivation of many of new contributors since the fork happened partly comes from seeing the project freed from corporate bureaucracy and a desire to show that better software can be created if it is ran as other meritocratic projects.





    2

    View comments

  14. Shotwell trunk allows downloading movie files from cameras and playing them, as it makes sense to catalogue videos and photos in the same app, using an unified interface.

    My patches to enable uploading videos to YouTube and Picasaweb albums from Shotwell have recently been tweaked and accepted upstream so the list of things I am missing in this great application has just shrinked significantly :)
    7

    View comments

  15. Scopul principal al distribuției Kiwi Linux este de a face Linux cât mai atractiv pentru începători și de a-i introduce în lumea softului liber și în comunitățile aferente. Succesul distibuției e definit de câți utilizatori de Windows sau complet începători în ale calculatoarelor rămân plăcut impresionați și interesați de Linux în urma contactului. Dacă Kiwi e doar primul pas și ulterior aleg Ubuntu, Mint, Debian, Fedora, Gentoo sau orice alt sistem free software, tot succes îl consider.
    Kiwi oferă ceva - chiar dacă puțin - în plus față de distribuțiile menționate mai sus prin simplificarea configurării și setupului inițial, prin timpul mai scurt în care ai un sistem cu aproape toate funcționalitățile active și prin evitarea căutărilor sau confuziei datorate lipsei acestora.

    Mă găndesc care ar fi metoda cea mai bună de a continua să oferim o astfel de soluție pentru utilizatorii locali așa că am pus un poll cu 3 întrebări în engleză aici . Aș reduce frecvența edițiilor (până la urmă a fi la zi nu e o prioritatepentru majoritatea începătorilor, altfel nu ar folosi încă Windows XP) dacă ar fi semnale mai clare legat de ce lipsește din setupul actual care ar putea face și mai ușoară sau plăcută adopția - aplicații instalate implicit, configurări specifice unor scenarii sau medii de lucru/școală. Dacă adunăm căteva idei clare am putea continua pe 10.08 LTS (sau 10.10) cu updaturi timp de un an sau doi și să ne concentrăm pe aplicații specifice locului lăsând sistemul de bază stabil.

    Cine are idei și dorește să contribuie la răspândirea softului liber în România prin Kiwi e invitat să le detalieze în poll, nu neapărat în engleză. Mai încolo le discutăm și pe listă.
    17

    View comments

  16. Mulțumiri celor care au contribuit la Kiwi în ultima perioadă:

    lui Radu pentru ajutorul la grafică, Silviu pentru tema Wordpress pentru site (dar care încă nu e pus online), Árpi, Flaviu și Gelu pentru testele ISO, Imi, Stas, Ciprian, Călin și Emil pentru mirroruri.
    0

    Add a comment

  17. Finally, after a hiatus of over a year, the Ubuntu derivative tailored for Romanian and Hungarian Linux beginners is having a new release! Of course English is still available on the CD :)

    Here is the iso (700M)

    Its focus is to provide much of the commonly needed software conveniently installed by default but without straying away from Ubuntu in looks or by forming a separate community. These two decisions were made in order to keep those that see or use both distributions on a familiar ground.

    Kiwi Linux 10.08 is based on Ubuntu 10.04.1 LTS and as always it only comes in GNOME x86 Desktop CD edition.

    The main differences from Ubuntu are in the default application lineup. The decision to switch out some components are based on my own usage and on input from a subset of the Ubuntu-RO community.
    • Chromium instead of Firefox because it is snappier, more stable, has built-in page translations, and has a cleaner albeit at first non-intuitive UI. HTML5 video codecs included.
    • Shotwell instead of F-Spot - a nice fast tool, it is happening in Ubuntu 10.10 as well.
    • Pidgin instead of Empathy - while I am sure that Empathy and the Telepathy stack is the way in the future, Pidgin is more mature at this point.
    • VLC 1.1.3 along with Totem . VLC just handles better regular movies, DVDs, and subtitles. Totem is kept because Chromium annoyingly (but wisely) does not support Mozilla browser plugins that don't use XEmbed and are written instead in the old way using X Intrinsics.
    • Adobe Flashplugin and the gstreamer ungood bunch for mp3 and various other codecs.
    • Libdvdcss2 for encrypted DVD support
    • Evolution removed as most home users are on webmail. The nice desktop-webmail helper app included
    • p7zip and rar tools added to help file-roller deal with archives sent by Windows users.
    • Gnote instead of Tomboy - more or less equivalent
    • Compiz extra settings config
    • Firmware to support the Speedtouch 330 USB modem driver - the initial reason to create this derivative is still shipped on the CD, but now fewer people need it having migrated to saner ISP connection equipment.
    • Removed Mono, Erlang + CouchDB, Telepathy, Gwibber - as space needed to be freed for the above software the ones that were removed are those I considered stuff for more savvy users and less used by beginners.
    The rest are small changes - custom liveCD boot screen and plymouth theme just to make it clear this is not 100% Ubuntu and no confusion arises in case of support issues.

    The Launchpad PPAs are a great help, I copied VLC and Shotwell from Nate Muench's and Yorba's PPAs to the Kiwi release PPA where the custom packages are kept as well (Ubiquity slideshow and Plymouth theme only).

    Thanks to all who tested release candidate images and helped with graphics!

    Download here

    16

    View comments

Blog Archive
About Me
About Me
Loading