Skip to main content

the avatar of Andrés G. Aragoneses

It's all about synchronization

It's been a while since I first blogged about iFolder. At that time it was a bit unstable and I didn't have a good experience overall with it. Unfortunately the development of new features stopped, but there were a lot of fixes to improve its stability, which made into the version 3.7. Unfortunately again, this version was not released on the open, but now Novell has rectified and iFolder is gaining momentum again (especially because it's the only really open source alternative to DropBox or UbuntuOne!).

Who could have imagined at that time, that 3 years later I would not only be working for Novell, but also be able to contribute to it at normal work hours! Yes, this is ITO, and our team spent a week hacking on other projects. In my case, I worked with the awesome guys Stephen Shaw and Mario Carrión. We managed to create an iFolder appliance for the server based on openSUSE 11.1, very easy to install thanks to SUSE Studio and to a new OBS repository where we packaged a preview of Mono 2.4.2 and some fixes needed to make it work.

We even created some demos! (Sorry for the quality of the sound, we had some problems when recording them)

The first one: setting up the appliance.
The second one: creating a user and using the Linux iFolder client.

Now, the next two videos are intended to show the second part of our work on that innovation week: new features.

The third one: automatic/immediate local detection of changes, server side trash can.
The fourth one: automatic/immediate remote synchronization of changes.

How cool is that? Unfortunately, the patches still need work and cleanup (help welcome!), but I plan to do it soon and/or on next hack week.

Before coming back to hacking on iFolder, I wanted to finish some stuff am working on for Banshee, which is also about synchronization! Look at this bug for more details. Yes! bidirectional Rating synchronization, not only from Banshee to the iPod but from the iPod to Banshee. The patch is working fine for me, be sure to give it a go and provide some feedback. Thanks!

Another thing I have on my TODO list is integrate some old mono-based GPL ed2k library into monsoon, now that it's getting MonoAddins support! (Lately there's been many people asking me for the source code.) And now that I talk about monotorrent, how cool would be to make iFolder work with this awesome library??

PS: Hello PlanetSUSE! First post. Hola Planeta GnomeHispano ;)

UPDATE Jun-08-2009: It seems someone wants to resurrect the lphant kernel as well, but using WPF! (WTF?): http://sourceforge.net/projects/hathi/.

a silhouette of a person's head and shoulders, used as a default avatar

openSUSE@ARM/GSoC: weekly status

Hi everyone!

This week was exciting – we deployed a first prototype of a minimal ARM environment on build.opensuse.org in the repository Base:build:arm. It’s a set of packages which is capable of bootstrapping itself and still in an early stage as it’s using full emulation. Next station: speed-up !

I submitted also some patches for inclusion into the openSUSE Build Service. One of these patches will help us to a address an issue with rpmbuild when doing builds for the ARM architecture.

In progress / todo:

* tools for speed-up

* submission of needed patches to factory

* cross-compiler integration

a silhouette of a person's head and shoulders, used as a default avatar

openSUSE 11.2 M2 (Gnome)

Well, today I downloaded the Gnome Live CD first, and had no luck at all. That was no fun watching the busy cursor over and over again after selecting the Live CD option from the Menu so I decided to get the DVD just to see if things went different (actually not the only reason for), and sure they were. First, I installed the KDE Desktop, not a deal through the install process. Then came the first log in and all well. Of course I chose the Ext4 file system and I can tell it feels faster than our good old Ext3 ;).

Then it was time for Gnome. As usual, default install took longer than KDE’s. One thing I removed from the software was Desktop Effects, since I started to believe that that could cause the problem with the Live CD Media. So on through the install process, it went down really well. Then at first log in I got alerted over GDM and Metacity. I got this:

waring_metacity

By default, the Slab Menu Icon looks like this when Main Panel’s Size is 24 pixels:

Computer_icon24

Looks like your computer is not your computer, right? Well, I just resized Main Panel up to 26 pixels so it looks like better:

Computer_icon26

I must admit that I like the default theme. Absolutely new, darkish, professional. First time I feel comfortable “out of the box”. One feature that is not workig 100% is the System Monitor. At this time I cannot switch between tabs. The rest of the system is pretty running smoothly to me. Here you have a screenshot of my desktop:

opensuse112m2

the avatar of Stephan Kulow

-fomit-all-instructions

Now that milestone2 is almost done, we get into the next round and we decided (basically during coffee break) to try something and change the compile flags for our i586 distribution (which is still the major one for openSUSE). If there aren’t major problems coming up with it, the next milestone will be compiled with -fomit-frame-pointer -mtune=generic instead of the old -march=i586 -mtune=i586.

It will feel around 20% faster, I’m sure 🙂

On unrelated news: I’m away for a very long Pentecost weekend. If there are issues with Factory, I won’t be able to fix them. See you in June!

the avatar of Sandy Armstrong

Tomboy 0.15.1 Release Brings New Online Note Synchronization Preview

"Red Westie", Copyright Ellery Armstrong, Milk Teeth Photography, Used With Permission


On Monday we released Tomboy 0.15.1, the latest development release on the road to 1.0. It features a lot of the same fixes from 0.14.2, and some other improvements:
  • Preview of new Web Synchronization add-in
  • Work around problems on Windows caused by having multiple GTK+ applications modify PATH
  • Search for phrases by surrounding them with quotes, save the width of the Notebook pane, and other improvements to the search UI
  • Better HIG compliance in synchronization UIs
  • All the same fixes from 0.14.2
  • And much more!

I'd like to talk to you a little bit about this "Web Synchronization" add-in. From a feature perspective, the biggest problem with Tomboy has been how difficult it is to synchronize your notes between multiple computers, and to share your notes with your friends and colleagues. We have note synchronization but it's hard to set up unless you have your own server. You can share notes with Giver, but that has its limitations as well. And how do you view your notes when you're on a device without a Tomboy notes client?

A long time ago I blogged about how great a free "Tomboy Online" web service would be as a fix for these issues, but I never had the time to follow up on it. Until now.

Snowy, Your Tomboy Notes Online

Meet Snowy. Snowy is a project started by Brad Taylor to bring your Tomboy notes online. It's "Tomboy's best friend on the web", as Brad says. Here is what you can expect from Snowy in the coming weeks and months:
  • "Tomboy Online" - a free hosted service (running Snowy), where anybody can create an account for securely synchronizing their notes.
  • Fine-grained privacy settings to let you mark your notes as public, private, or shared with specific friends.
  • Edit your notes directly in your browser!

Editing notes in Snowy

Brad started Snowy in his spare time, and recently our team at Novell had a Hackweek at our disposal. So last week, Brad and I decided to really get this project off the ground. It is still an extremely new project, but we feel it's far enough along to solicit feedback and contributions from the community. Some basic facts about the project:
  • Snowy is AGPL-licensed. I firmly believe that our community needs to step up and start offering competitive AGPL web services. If we want to stay relevant, that is!
  • Snowy is developed in Python on the Django web framework. Most people who expressed an interest in working on this were most familiar with Python for web apps.
  • Snowy is developed in GNOME git. If you watch the commits list, you've no doubt seen the recent activity.
  • Snowy is easy to deploy on your personal server. If you don't want to trust Tomboy Online with your notes, you can still use Snowy to give yourself web access to your notes, or just to provide a more convenient way to synchronize.

Snowy is brand new! I hope in the screenshots you see the potential, but I'm sure you also see how much room there is for improvement.

What works:
  • Tomboy<->Snowy note synchronization
  • Online note-viewing
  • User registration
  • Database administration and other fancy Django stuff

Logging in to Snowy

Where we need help:
  • Authentication review, OAuth
  • HTML/CSS/JS to prettify everything
  • Design and implement all that cool note-sharing stuff
  • Little features like copying a friend's note into your collection, or downloading/emailing/printing any note straight from your browser
  • Security audit
  • Your ideas!

You may be wondering how Snowy and Tomboy communicate for synchronization. I will talk about this more in a future post, but we have designed a REST API for web synchronization. This API is easy to consume from the client end, and easy to implement on the server end. This means we should have no trouble adding sync capabilities to Tomdroid and other Tomboy note clients. It also means that if you don't like Snowy, you can create your own web service that implements the same API, and still use the same web synchronization add-in included in Tomboy.

We still have a lot of work to do to make synchronizing and sharing your Tomboy notes effortless and fun! Outside of Snowy, here are some things we'd like help working on:
  • Automatic background synchronization in Tomboy
  • Web synchronization support in Tomdroid
  • More features in the web synchronization add-in, like:
    • One click to get from your Tomboy note to its Snowy page
    • Control your sharing preferences for a note without opening your browser
    • Easy access to friends' notes

By the way, if you plan on using Tomboy 0.14.x for a long time, you'll be able to use the Web Synchronization add-in, too! When we launch Tomboy Online, downloads will be available for 0.14.x users on all platforms.

Stay tuned for more updates, and a demo server for everybody to play with!

This post brought to you by the Tomboy Blogposter add-in.

a silhouette of a person's head and shoulders, used as a default avatar

Tagging (not parsing)..

Part of Speech (POS) Tagging refers to a problem in NLP which requires to tag each word of a sentence in a natural language with an identification mark (related to its function in the grammatical structure of the sentence). For eg. NN for noun, singular, VB for verb, base etc. The first part of the project, which involves the text to bash command conversion will make use of POS tagging (I decide to scrap the usage of parser for now because tagging will provide enough data).

Here are the results of a POS Tagger (Claws), however since it is propreitary I will not be using this (alternatives are Open NLP Tools, Stanford University POS Tagger, Language Tool).

1.Play all songs by coldplay from album viva la vida and all songs by death cab for cutie (by Prateek Maheshwari)

Play_VV0 all_DB songs_NN2 by_II coldplay_NN1 from_II album_NN1 viva_NN1 la_FU
vida_NN1 and_CC all_DB songs_NN2 by_II death_NN1 cab_NN1 for_IF cutie_NN1

2. Find an application that edits photos. (by Prateek Maheshwari)

Find_VV0 an_AT1 application_NN1 that_CST edits_VVZ photos_NN2 ._.

3. Open bits mail. (by Nunna Jaikish)

Open_JJ bits_NN2 mail_NN1 ._.

4. Find TODO.txt in Home (by Brad Taylor)

Find_VV0 TODO.txt_NP1 in_II Home_NN1

5. Open this website related to the Indian history from the browsing history. (by me).

Open_VV0 this_DD1 website_NN1 related_VVN to_II the_AT Indian_JJ history_NN1
from_II the_AT browsing_NN1 history_NN1 ._.

The tagging is not completely accurate, as the "Open" in example 3 is incorrectly tagged as JJ ("adjective") instead of VV.

However, a few observations from the above examples-

1. The application that the user is trying to mention can be reasonably ascertained from the verbs.

2. The arguments for that command can be mined from the nouns or noun phrases (again reasonably).
a silhouette of a person's head and shoulders, used as a default avatar

Project Name?

Well, it has started, but its still not titled.. and there has been limited progress in that regard--

Some of the few I had thought over were--

1. Vaani (hindi, meaning "Voice")
2. Shrimp (pointless albeit cool)
3. Psittacula (scientific name for parrot :P )
4. Voice-do (suggested by Stephen, my mentor)

Can anyone suggest a better one?
a silhouette of a person's head and shoulders, used as a default avatar
the avatar of Rupert Horstkötter

Time to say Goodbye

Almost one year ago, the openSUSE Project launched the openSUSE forums as a merger of former suselinuxsupport.de, suseforums.net and the openSUSE support forums at forums.novell.com. Right from the beginning of this project, I served as the Project Manager and afterwards contributed as a Moderator at the OSF to the openSUSE community. Therefore the happenings at the openSUSE forums are certainly in my personal interest.

Today, Wolfgang Koller, the founder of former suselinuxsupport.de and one of the three Site Admins of the openSUSE forums, announced his immediate resignation from the OSF staff. I myself feel this as a loss, that is both unexpected and severe. From my perspective, he deserves our respect and appreciation for everything he has done for the openSUSE community and thus this post is dedicated to his person and contribution.

Also in answer to his decision, I myself announced my own immediate resignation from the OSF staff as well. Herewith I’d like to make the openSUSE community aware of these recent changes – this shouldn’t happen silently from my perspective.

Let me take the opportunity to wish the remaining OSF staff all the best for upcoming activities. Lead the openSUSE forums community into an even better future!

a silhouette of a person's head and shoulders, used as a default avatar

Automatic installation via PXE

This post is more howto than regular blog. I tried to setup PXE based automatic installation server.
There are some docu pages:
http://en.opensuse.org/SuSE_install_with_PXE_boot
http://en.opensuse.org/SDB:Network_Installation_of_SuSE_Linux_via_PXE_Boot
but they're both old and step-by-step doesn't work.


First of all, download openSUSE11.1.iso and create installation source:
wget http://download.opensuse.org/distribution/11.1/iso/openSUSE-11.1-DVD-i586.iso
mkdir /srv/www/htdocs/11.1
mount -o loop,uid=wwwrun openSUSE-11.1-DVD-i586.iso /srv/www/htdocs/11.1



Install apache web server:
zypper in apache2

Configure apache to use symlinks:
in /etc/apache2/default-server.conf, in section <Directory "/srv/www/htdocs">
change "Options None" to "Options FollowSymLinks"
restart apache:
rcapache2 restart

Note: my PXE server mas 172.168.1.1 IP address. PXE client will have 172.168.1.2 IP address and 08:00:27:B9:42:52 MAC address

Install DHCP server
zypper in dhcp-server

Configure DHCP server, to offer PXE, dhcpd.conf:
option domain-name-servers 172.168.1.1;
option routers 172.168.1.1;
default-lease-time 14400;
ddns-update-style none;
subnet 172.168.1.0 netmask 255.255.255.0 {
range 172.168.1.2 172.168.1.30;
default-lease-time 14400;
max-lease-time 172800;
}
group { # id="pxe-client"
next-server 172.168.1.1;
filename "pxelinux.0";
host PXEclient { hardware ethernet 08:00:27:B9:42:52; }
}

rcdhcpd restart


Install yast2-tftp-server and configure tftp service:
yast2 tftp (confirm to create /tftpboot)

Install syslinux and copy into /tftpboot:
zypper in syslinux
cp /usr/share/syslinux/pxelinux.0 /tftpboot/
rcxinetd restart

Copy and configure isolinux:
mkdir /tftpboot/pxelinux.cfg
cp iso/boot/i386/loader/isolinux.cfg /tftpboot/pxelinux.cfg/default

Copy kernel and initrd
cp iso/boot/i386/loader/linux
cp iso/boot/i386/loader/initrd

Edit config file to boot this as default:
/tftpboot/pxelinux.cfg/default:
default linux
label linux
append initrd=initrd splash=silent showopts install=http://172.168.1.1/11.1 insecure=1

implicit 1
display message
prompt 1
timeout 40

Configure your client (in BIOS setup) to "Boot from LAN", "PXE", "network boot" or something similar (depends on BIOS version).
Now we can start installation. On the last dialog, check "create reference profile" checkbox and click OK. When this will be done, copy profile from /root/autoyast.xml on your PXE server as /srv/www/htdocs/AY.xml.

Now you can update your /tftpboot/pxelinux.cfg/default (add autoyast option):
append initrd=initrd splash=silent showopts install=http://172.168.1.1/11.1 insecure=1 autoyast=http://172.168.1.1/AY.xml



Ok, the result is what we wanted:
When you reboot client machine, it will be be automatically reinstalled to default installation (from autoyast profile). If you comment filename option (and restart dhcp server), client machine will only boot into installed system.


I hope it's clean to understand/reproduce and I hope it will help to somebody.
If not, I'm looking for your feedback ;-)