<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://maemo.octonezd.me/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=203.177.74.138</id>
	<title>Maemo Wiki Mirror - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://maemo.octonezd.me/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=203.177.74.138"/>
	<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php/Special:Contributions/203.177.74.138"/>
	<updated>2026-04-22T02:19:49Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=Easy_Debian&amp;diff=8621</id>
		<title>Easy Debian</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=Easy_Debian&amp;diff=8621"/>
		<updated>2011-01-19T23:27:07Z</updated>

		<summary type="html">&lt;p&gt;203.177.74.138: /* What you need: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This package, when installed on your tablet or phone, will give you OpenOffice.org, Gimp, the LXDE Desktop Environment, Evince, Firefox (called Iceweasel in Debian) with Java and Flash support, printing support, and access to thousands of precompiled applications from [http://www.debian.org Debian] that can be easily browsed and downloaded to your hand-held device. All these applications will be installed in an image file containing the Debian operation system without interfering with Maemo, but taking advantage of its infrastructure and connectivity.&lt;br /&gt;
&lt;br /&gt;
This package will give you all of these applications without any need for installing dependencies or other applications, and it should work on the Nokia N800, N810 and N900 mobile devices.&lt;br /&gt;
&lt;br /&gt;
== Cocktails - How To Garnish A Cocktail ==&lt;br /&gt;
&lt;br /&gt;
For you to have a flavored &#039;&#039;&#039;[http://www.mymixeddrinks.com cocktails]&#039;&#039;&#039; you have to put something on it just like for example a garnish. Many &#039;&#039;&#039;cocktails&#039;&#039;&#039; are incomplete without a garnish, and a drink may only become specific, famous cocktail after it has been properly garnished.There are many kinds in garnishing a cocktail which can be place on a glass, floated on the drink, or merely placed in the drink, A certain artistry is involved in their preparation and placement. Most of the garnishes can be maybe bu using a knife. A larger knife will be needed for the larger fruits in preparing a garnishes.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;[http://www.mymixeddrinks.com cocktails]&#039;&#039;&#039; recipe will usually call for a certain garnished, but this is not always the case. First thing you have to do is to decide what kinds of garnishes your going to use for your &#039;&#039;&#039;cocktail&#039;&#039;&#039;. Then prepared a rim of the empty glass, to coat the rim of the empty glass, first spread or mound the garnish ingredient on a small plate or tray, then briefly rub around the rim of the glass with something such as lemon. You have to prepare also the standard or simple garnishes of your cocktail. Prepare more elaborate or exotic garnishes then garnish the prepared &#039;&#039;&#039;cocktail&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Install instructions ==&lt;br /&gt;
&lt;br /&gt;
* You need to install the [http://maemo.org/packages/view/easy-deb-chroot/ easy-deb-chroot package]. It can be found in the [[Extras]] repository. There may be a newer version in the [[Extras-devel]] repository. (Enabling Extras-devel is a dangerous area and you should disable it as soon as you are done installing Easy Debian, but Easy Debian is rather safe and it is optified.)&lt;br /&gt;
* Once installed several new shortcut icons will be available on the applications menu. You will need to first run the one called &amp;quot;Debian Image Installer&amp;quot;. A terminal program will open and ask you where to place the image file (after decompression it will be a 2 GB file), either on the [[Nokia N900|N900&#039;s]] built in storage (under MyDocs), or on an external MicroSD card (if available). That will start the download of the compressed image (about 300 MB) and eventual extraction of the image file. It may take more than 15 minutes to download if you have fast Internet connection, and another 30 minutes  or more to extract it on your tablet. Make sure that there are no other processes running and that the extraction is not interrupted.&lt;br /&gt;
** You can check for a successful download and extraction by typing&amp;lt;pre&amp;gt;ls -l /home/user/MyDocs/debian*&amp;lt;/pre&amp;gt; in [[terminal|XTerminal]]. The compressed image name has the ending .img.ext2.lzma; when decompressed the file name ends in .img.ext2 and it should have a file size of exactly 2147483648 bytes.&lt;br /&gt;
* This step is an alternate way to do the previous step: You can manually download the image file from [http://qole.org/files//debian-m5-v3d.img.ext2.lzma here]. Afterward you will have to copy it into &amp;lt;code&amp;gt;/home/user/MyDocs/&amp;lt;/code&amp;gt; or into &amp;lt;code&amp;gt;/media/mmc1/&amp;lt;/code&amp;gt; depending on whether you want it installed on the internal storage or on a removable storage.  Then, when you run &amp;quot;Debian Image Installer&amp;quot; it will detect that you already have the file and proceed to extract it and set it up for you. For detection of your already placed debian* file stated above, the Debian Image Installer still need to connect to the internet for file checking purpose. If you have a faster computer with [http://www.7-zip.org/ programs] to unpack [[:wikipedia:Lempel%E2%80%93Ziv%E2%80%93Markov_chain_algorithm|lzma]]-compressed files, you may also skip the Debian Image Installer by copying the uncompressed file by USB to the &amp;lt;code&amp;gt;/home/user/MyDocs/&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
* If you have more than one image file, you should edit &amp;lt;code&amp;gt;/home/user/.chroot&amp;lt;/code&amp;gt; to select the one you want to load. Default is first in &amp;lt;code&amp;gt;/home/user/MyDocs/debian*.img*&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/media/mmc1/debian*.img*&amp;lt;/code&amp;gt;&lt;br /&gt;
* When you get the &amp;quot;Congratulations!&amp;quot; message from the installer (or immediately if you have placed an uncompressed image file into /home/user/MyDocs/ yourself), you can launch Easy Debian by one of the Debian application icons or by typing &amp;quot;debbie&amp;quot; in XTerminal.&lt;br /&gt;
* &#039;&#039;&#039;PR 1.2&#039;&#039;&#039;: The new firmware broke the workarounds for loss of keyboard focus in LXDE when switching between Maemo and Debian. This is fixed in the new version 0.9.50.&lt;br /&gt;
&lt;br /&gt;
== Easy Debian application icons ==&lt;br /&gt;
&lt;br /&gt;
Easy Debian installs the following shortcuts in the Application Manager:&lt;br /&gt;
&lt;br /&gt;
; Close Debian : for unmounting the Debian image and shutting down all running Debian processes&lt;br /&gt;
&lt;br /&gt;
; Deb Img Install : for the initial download and extraction of the Debian image. For installing a new version of the Debian image from http:qole.org/files, delete the old image (or move/rename it appropriately) and rerun Deb Img Install.&lt;br /&gt;
&lt;br /&gt;
; Debian chroot : this runs &amp;quot;sudo debian&amp;quot; in XTerminal, which gives root access to the Debian image. This can be used for modifying the Debian image and installing further applications from the command line. The root file system of Maemo is not visible from within Debian chroot, except /home and /home/user/MyDocs, so you cannot ruin the Maemo firmware from here.&lt;br /&gt;
&lt;br /&gt;
; Debian LXDE : this launches the [http://lxde.org Lightweight X11 Desktop Environment] from where you can start all installed Debian application. Alternatively, you can start Debian applications from XTerminal with &amp;quot;debbie&amp;quot; (see below).&lt;br /&gt;
&lt;br /&gt;
; Fix LXDE kbd : fixing lost keyboard focus in LXDE (no longer needed with the new version of easy-deb-chroot, see below)&lt;br /&gt;
&lt;br /&gt;
; GNOME ALSA mix : for configuring sound&lt;br /&gt;
&lt;br /&gt;
; Iceweasel Web B : unbranded Debian version of the Firefox Web Browser&lt;br /&gt;
&lt;br /&gt;
; OpenOffice : for starting OpenOffice without LXDE&lt;br /&gt;
&lt;br /&gt;
; Set Deb HW Keys : additional useful keybindings through &amp;lt;em&amp;gt;xbindkeys&amp;lt;/em&amp;gt; (see below)&lt;br /&gt;
&lt;br /&gt;
; Synaptic Pkg Mg : graphical interface for installing additional Debian applications (in the Debian image only, not Maemo proper)&lt;br /&gt;
&lt;br /&gt;
== Using the LXDE Environment: ==&lt;br /&gt;
&lt;br /&gt;
* To launch a session of LXDE (a light weight desktop environment) with several applications already installed in it, including OpenOffice.org, simply click on the &amp;quot;Debian LXDE&amp;quot; icon shortcut on the application menu.&lt;br /&gt;
* LXDE&#039;s application menu is found at the top left corner of the screen.&lt;br /&gt;
* To momentarily go back into the Maemo environment, simply press Ctrl Backspace. To return to LXDE, click on the &amp;quot;Fix LXDE kbd&amp;quot; icon in the Maemo menu, since just going back from the Task Manager you would only be able to use the stylus thereafter.&lt;br /&gt;
* Exiting LXDE: Log out, don&#039;t just close the window. Make sure to have LXDE closed properly before powering down the device, it will not function properly when started next time before doing the next proper shutdown.&lt;br /&gt;
&lt;br /&gt;
=== Window is too big for the screen ===&lt;br /&gt;
&lt;br /&gt;
Press Ctrl and the period key simultaneously. This will make the &amp;quot;Move Window&amp;quot; cursor appear (a cross with four arrows). Use the stylus to drag the window to expose the parts that are not visible.&lt;br /&gt;
&lt;br /&gt;
=== LXDE Top Menu Disappears ===&lt;br /&gt;
&lt;br /&gt;
The newer Easy Debian images (m5-v3b and later) have a new LXDE version.&lt;br /&gt;
&lt;br /&gt;
If you upgrade Easy Debian and your LXDE top menu disappears, you can do one of two things:&lt;br /&gt;
* Install the newest version (m5-v3e): Close Easy Debian (use the icon with the red arrow and box), delete the old image (use the File Manager to do this), and then use the &amp;quot;Deb Img Install&amp;quot; icon to download and extract the new image.&lt;br /&gt;
* Keep your old image, and fix the top menu manually. Start LXDE. Tap and hold on a blank area of the left-side bar. Choose &amp;quot;Create New Panel&amp;quot;. Choose &amp;quot;Top&amp;quot; and &amp;quot;OK&amp;quot;. Tap and hold on new top panel. In the &#039;&#039;General&#039;&#039; tab, set the following things: Alignment: Left, Width: 25, Height: 32, Properties: Uncheck &amp;quot;Reserve Space...&amp;quot; In the &#039;&#039;Panel Applets&#039;&#039; tab, Add &amp;quot;Menu&amp;quot;, &amp;quot;Digital Clock&amp;quot;, &amp;quot;System Tray&amp;quot; (check &amp;quot;Stretch&amp;quot; column), &amp;quot;Net status monitor&amp;quot; (use edit button and change eth0 to wlan0, then tap on icon and set to wlan0 there too), and &amp;quot;CPU Usage Monitor&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If after the upgrade some menu entries (e.g. Gimp) are missing, you can manually install them from the Debian chroot terminal by&lt;br /&gt;
&lt;br /&gt;
 xdg-desktop-menu install --novendor /usr/share/applications/gimp.desktop&lt;br /&gt;
&lt;br /&gt;
In order to have the document viewer Evince show up in the LXDE menu, you would have to first set &amp;quot;NoDisplay=false&amp;quot; in /usr/share/applications/evince.desktop and then run xdg-desktop-menu similar to above.&lt;br /&gt;
&lt;br /&gt;
=== Keyboard issues and tips ===&lt;br /&gt;
&lt;br /&gt;
Keyboard focus loss issues in LXDE are fixed in the new version of easy-deb-chroot, 0.9.54-1fremantle1, which is now in Extras. &amp;lt;b&amp;gt;Note that upgrading easy-deb-chroot does not require reinstalling the image file!&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the record, in the older versions of easy-deb-chroot keyboard issues can be [http://talk.maemo.org/showpost.php?p=706413&amp;amp;postcount=1451 solved] by the following modification of the script /usr/bin/xephwm5 in the Debian image. Edit this file in the Debian chroot terminal and change the lines containing qobi-wmhint-fix and set-focus (close to the end) so that they read&lt;br /&gt;
 sudo /sbin/qobi-wmhint-fix $PARWIN&lt;br /&gt;
 #/usr/bin/set-focus $PARWIN&lt;br /&gt;
&lt;br /&gt;
The new version of easy-deb-chroot implements the same through Maemo-side scripts.&lt;br /&gt;
&lt;br /&gt;
==== Localization ====&lt;br /&gt;
&lt;br /&gt;
The keyboard in LXDE is by default US. To get a different keyboard layout for the LXDE window manager, you have to modify the Debian image which requires root privileges.&lt;br /&gt;
For this, &lt;br /&gt;
launch the &amp;quot;Debian chroot&amp;quot; app (icon with red swirl symbol), which opens a terminal with root access to the Debian image (as well as to your home directory). The following instructions assume that you are working from that terminal and not from within the LXDE window manager.&lt;br /&gt;
&lt;br /&gt;
For the task of configuring a special keyboard layout for LXDE (German in the following example), start an editor of your choice in the Debian chroot terminal (e.g., leafpad), and insert the appropriate keymap label in the following line of &amp;lt;u&amp;gt;/etc/xdg/lxsession/LXDE/autostart&amp;lt;/u&amp;gt; according to: &lt;br /&gt;
&lt;br /&gt;
  @setxkbmap de&lt;br /&gt;
&lt;br /&gt;
Available keymaps are: ch (Swiss), cz and cz_qwerty (Czech), dano (Danish/Norwegian), fise (Finnish/Swedish), nordic (Danish/Norwegian/Finnish/Swedish), de (German), fr (French), it (Italian), pl (Polish), ptes (Portuguese/Spanish), ru (Russian).&lt;br /&gt;
&lt;br /&gt;
You may also wish to set the language environment under Debian to a non-US one so that system messages come in your native language. This can be done by issuing the command (again from within the Debian chroot terminal)&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
and selecting from the list that is then displayed the UTF variant of the desired language, for example for German, de_DE.UTF-8. &lt;br /&gt;
&lt;br /&gt;
==== Set Deb HW Keys app and xbindkeys ====&lt;br /&gt;
&lt;br /&gt;
Easy Debian provides also a &amp;quot;Set Deb HW Keys&amp;quot; application which runs xbindkeys, mapping &amp;lt;u&amp;gt;Fn+Shift+(upper row keys)&amp;lt;/u&amp;gt; of the hardware keyboard to function keys F1-F12. Here the Fn (blue arrow) key has to be pressed first, which is best done by pressing with the thumb and rolling down to also press the Shift key. The function keys are sometimes needed to get in and out of certain modes of programs in particular when started from the desktop (often F1 for help; F5 for presentation or navigator mode; F11 for &amp;quot;Styles and Formatting&amp;quot; in Openoffice.) Moreover, &amp;lt;u&amp;gt;Ctrl+Up&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Ctrl+Space&amp;lt;/u&amp;gt; provide full screen toggles. In the newest Easy Debian versions, Escape and Tab are mapped to &amp;lt;u&amp;gt;Fn+Shift+Left&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Fn+Shift+Right&amp;lt;/u&amp;gt;, respectively.&lt;br /&gt;
&lt;br /&gt;
If F1-F12 do not work reliably for you, try replacing all occurrences of &amp;quot;xvkbd -text&amp;quot; in /home/user/.xbindkeysrc by &amp;quot;xvkbd -xsendevent -text&amp;quot;. (Already fixed in newer Easy Debian versions.)&lt;br /&gt;
&lt;br /&gt;
Under LXDE, the Enter key is actually KP_Enter, while some application only accept ordinary &amp;quot;Return&amp;quot;. For this eventuality, &amp;quot;Set Deb HW Keys&amp;quot; maps &amp;lt;u&amp;gt;Shift+Enter&amp;lt;/u&amp;gt; to Return.&lt;br /&gt;
&lt;br /&gt;
You can edit /home/user/.xbindkeysrc to include more key mappings that you might find desirable in the absence of the virtual keyboard (which on the N900 in Debian chroot is only accessible in the XTerminal). For example&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;xvkbd -xsendevent -text &#039;\e&#039;&amp;quot;&lt;br /&gt;
   Shift + BackSpace&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
maps Shift+BackSpace to Escape. (See e.g. http://linux.die.net/man/1/xbindkeys and http://linux.die.net/man/1/xvkbd for more possibilities.)&lt;br /&gt;
&lt;br /&gt;
You can have xbindkeys started in LXDE automatically by including&lt;br /&gt;
&lt;br /&gt;
 @xbindkeys -f /home/user/.xbindkeysrc&lt;br /&gt;
&lt;br /&gt;
in /etc/xdg/lxsession/LXDE/autostart.&lt;br /&gt;
&lt;br /&gt;
In order to have xbindkeys started generally for all Debian applications&lt;br /&gt;
(including even Maemo applications until the Debian chroot is closed) you can have it included in the Debian startup script as follows. In the Debian chroot terminal do&lt;br /&gt;
 echo &amp;quot;su - user -c xbindkeys&amp;quot; &amp;gt;&amp;gt; /var/run/onfirstchroot.rc&lt;br /&gt;
 chmod a+x /var/run/onfirstchroot.rc&lt;br /&gt;
(Don&#039;t do this more than once, otherwise you will have several xbindkeys processes running.) Starting xbindkeys outside of LXDE disables the keyboard shortcuts for full screen toggle within LXDE, but the other key bindings should work.&lt;br /&gt;
&lt;br /&gt;
To manually stop xbindkeys do &amp;quot;killall xbindkeys&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Note that the relevant file /home/user/.xbindkeysrc does not reside in the Debian image but in the home directory. If you upgrade to new versions of Easy Debian, and this file already exists, it will not be overwritten, but the package will install instead a newer version in /home/user/.xbindkeysrc.dist.&lt;br /&gt;
&lt;br /&gt;
It is then up to you to merge new additions to your existing /home/user/.xbindkeysrc file, or if you have not modified it to your needs, to simply take it over by typing in the XTerminal&lt;br /&gt;
 cp .xbindkeysrc .xbindkeysrc.old&lt;br /&gt;
 cp .xbindkeysrc.dist .xbindkeysrc&lt;br /&gt;
&lt;br /&gt;
Another work-around for getting additional special characters is to [[Remapping_keyboard|remap your hardware keyboard]].&lt;br /&gt;
&lt;br /&gt;
A known issue is that in national keyboards where Up and Down arrows are composed as Fn+Left/Right arrows, Up and Down do not work under LXDE. If applications cannot be used without Up and Down keys, those should better be started outside of LXDE with debbie.&lt;br /&gt;
&lt;br /&gt;
==== sticky keys hack ====&lt;br /&gt;
&lt;br /&gt;
In the v3b image, /etc/xdg/lxsession/LXDE/autostart includes a hack to have sticky Shift and Fn keys also in LXDE. You can activate this behavior also outside of LXDE by running &amp;quot;debbie stickykeys&amp;quot; (or &amp;quot;debbie stickykeys xx&amp;quot; where xx is a language code different from us). Note however that this also affects XTerminal applications in Maemo.&lt;br /&gt;
&lt;br /&gt;
The sticky keys hack also makes Ctrl sticky and may have other unexpected effects with non-US keyboards. To disable this feature in LXDE, comment out (include #&#039;s in the beginning of) the following two lines in /etc/xdg/lxsession/LXDE/autostart according to&lt;br /&gt;
&lt;br /&gt;
 #xkbset exp 60 =sticky =twokey =latchlock&lt;br /&gt;
 #xkbset sticky -twokey latchlock&lt;br /&gt;
&lt;br /&gt;
In the newest image (v3e), the sticky keys hack is not enabled by default. To enable it, remove the #&#039;s.&lt;br /&gt;
&lt;br /&gt;
==== xvkbd ====&lt;br /&gt;
&lt;br /&gt;
In LXDE one can also use the xvkbd utility to get a virtual keyboard. If clicking on it with the stylus keeps repeating keys indefinitely,&lt;br /&gt;
go to the xvkbd menu (bottom left of keyboard), choose &amp;quot;Property&amp;quot;, and set &amp;quot;Automatic Click&amp;quot; to &amp;quot;OFF&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Using debbie ==&lt;br /&gt;
&lt;br /&gt;
From XTerminal the following scripts are available:&lt;br /&gt;
&lt;br /&gt;
; debbie : starts debian chroot shell as user (doesn&#039;t evaluate /home/user/.profile)&lt;br /&gt;
&lt;br /&gt;
; debbie &#039;&#039;command&#039;&#039; : runs debian command as user (if &#039;&#039;command&#039;&#039; includes file names, those need to be given with absolute path)&lt;br /&gt;
&lt;br /&gt;
; sudo debian : starts debian chroot shell as root (this is the command issued by the &amp;quot;Debian chroot&amp;quot; app)&lt;br /&gt;
&lt;br /&gt;
; sudo debian &#039;&#039;command&#039;&#039; : runs debian command as root&lt;br /&gt;
&lt;br /&gt;
The above scripts run with environment variables determined largely by those set in Maemo and with working directory / . Another option is to enforce login shell behavior as follows:&lt;br /&gt;
&lt;br /&gt;
; sudo debian su - user: starts debian chroot shell as user with $CHROOT/etc/profile and /home/user/.profile evaluated and with working directory /home/user. In the new Easy Debian version this is provided by the new script &amp;lt;b&amp;gt;debbie-sue&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
; sudo debian su - user -c &#039;&#039;command&#039;&#039; : runs debian command as user with $CHROOT/etc/profile and /home/user/.profile evaluated and with working directory /home/user. In the new Easy Debian version: &amp;lt;b&amp;gt;debbie-sue &#039;&#039;command&#039;&#039;&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; sudo debsu : debian chroot shell as root with login (root) shell behavior&lt;br /&gt;
&lt;br /&gt;
; sudo debsu &#039;&#039;command&#039;&#039; : runs debian command as root with login (root) shell behavior&lt;br /&gt;
&lt;br /&gt;
In all of the above, &#039;&#039;command&#039;&#039; can be simple command-line commands with standard output or GUI programs to be run under a window manager, such as ooffice.&lt;br /&gt;
&lt;br /&gt;
If &#039;&#039;command&#039;&#039; involves a file name, it should be given with full path because after the chroot the working directory will usually have changed. A simple way to transform a file name into one with full path information is to precede it with &amp;quot;readlink -f&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Creating desktop shortcuts in Maemo ===&lt;br /&gt;
&lt;br /&gt;
The above scripts are particularly useful for creating shortcuts. For example, a file oowriter.desktop with content&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Desktop Entry]&lt;br /&gt;
Version=1.0&lt;br /&gt;
Encoding=UTF-8&lt;br /&gt;
Name=oowriter&lt;br /&gt;
Icon=ooo-writer&lt;br /&gt;
Exec=debbie oowriter&lt;br /&gt;
Type=Application&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
that is put into&lt;br /&gt;
/usr/share/applications/hildon or (since fw 2009.51) /home/user/.local/share/applications/hildon allows one to start the OpenOffice writer&lt;br /&gt;
directly from the Maemo Applications Menu without having to launch LXDE first.&lt;br /&gt;
Unless you are re-using existing icon files, you can install icons files (.png) by putting them likewise either in /usr/share/icons/hicolor/scalable/hildon or /home/user/.local/share/icons/hicolor/scalable/hildon. You may need to create the .local folders first by&lt;br /&gt;
 mkdir -p /home/user/.local/share/applications/hildon&lt;br /&gt;
 mkdir -p /home/user/.local/share/icons/hicolor/scalable/hildon&lt;br /&gt;
Newly installed application icons usually need a reboot to become visible in the application menu. If you want to be able to also install them as shortcuts on the desktop, it seems necessary to install the desktop file in /usr/share/applications/hildon and not in /home/user/.local/share/applications/hildon.&lt;br /&gt;
&lt;br /&gt;
=== Command-line shortcuts in Maemo ===&lt;br /&gt;
&lt;br /&gt;
Aliases and new shell functions can be defined in /home/user/.profile. Combining debbie and readlink, the following shell function for example allows one to quickly open files with OpenOffice from XTerminal.&lt;br /&gt;
 oo() { /usr/bin/debbie-sue ooffice `readlink -f $1` ; }&lt;br /&gt;
After adding this line to /home/user/.profile and restarting XTerminal, &amp;quot;oo filename&amp;quot; starts OpenOffice with the given file.&lt;br /&gt;
&lt;br /&gt;
=== Keyboard focus issues in debbie ===&lt;br /&gt;
&lt;br /&gt;
Some applications (e.g. calibre, eric, PuTTY) don&#039;t get keyboard focus when started outside of LXDE. This can be repaired with the [http://talk.maemo.org/showpost.php?p=818545&amp;amp;postcount=1769 simple .kbdactive script] that is included in the new version of easy-deb-chroot. &lt;br /&gt;
With xbindkeys running (launched by the &amp;quot;Set Deb HW Keys&amp;quot; icon) keyboard focus is gained by pressing &amp;lt;u&amp;gt;Fn+Return&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Startup scripts ==&lt;br /&gt;
&lt;br /&gt;
If they exist, the following scripts (which need to be executable) serve as startup scripts as follows&lt;br /&gt;
&lt;br /&gt;
; $CHROOT/var/run/onfirstchroot-ext.rc : This script will run commands as root in maemo the first time you &amp;quot;open&amp;quot; a chroot. So this is where you could force the processor to &amp;quot;performance mode&amp;quot; or some such thing.&lt;br /&gt;
&lt;br /&gt;
; $CHROOT/var/run/onfirstchroot.rc : This script will run commands as root in the chroot the first time you &amp;quot;open&amp;quot; a chroot. For example, if you have installed &#039;&#039;cups&#039;&#039; within Easy Debian, this script should contain &amp;quot;/etc/init.d/cups restart&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
; $CHROOT/var/run/onchroot-ext.rc : This script will run commands as root in maemo every time you run a chroot command.&lt;br /&gt;
&lt;br /&gt;
; $CHROOT/var/run/onchroot.rc : This script will run commands as root in the chroot every time you run a chroot command.&lt;br /&gt;
&lt;br /&gt;
; $CHROOT/var/run/onclosechroot.rc : This script will run commands as root in the chroot before closing the chroot.&lt;br /&gt;
&lt;br /&gt;
Here $CHROOT is the mount point of the Debian system (to be omitted when aleady in chroot).&lt;br /&gt;
&lt;br /&gt;
In order to run a command in one of these scripts as &amp;quot;user&amp;quot;, preface the command with &#039;&#039;su user -c&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Installing Applications ==&lt;br /&gt;
&lt;br /&gt;
Applications can be installed using [http://www.debian.org/doc/manuals/debian-reference/ch02.en.html apt-get, aptitude] or [http://beginlinux.com/desktop_training/ubuntu/1102-synaptic-package-manager Synaptic]. Apt-get is a command-line tool, and aptitude a terminal-based frontend, both of which can be accessed from within the Debian chroot terminal app (red swirl icon in the Hildon Application Manager). Synaptic Package Manager is a graphical frontend that can be launched from another icon in the Hildon Application Manager. It cannot be started from the (misleadingly present) menu entry in the LXDE menu, because it is not in the standard path and requires root privileges. (In LXDE one can however start it from a terminal typing &amp;quot;sudo synaptic&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
Note that the image cannot be expected to have an up-to-date package list. It is important that you perform &amp;quot;apt-get update&amp;quot; or use Edit -&amp;gt; Reload Package Information within Synaptic before installing new packages. After such installs you can invoke &amp;quot;apt-get clean&amp;quot; to free your disk space from downloaded package files.&lt;br /&gt;
&lt;br /&gt;
In image v3d, only the stable Debian Lenny repository was activated, although the Easy Debian image also involves a number of packages from the newer Debian Squeeze (testing) repository. As a result, some additional packages can only be installed with Squeeze activated (indicated by &amp;quot;unmet dependencies&amp;quot; errors when attempting to install with Lenny alone). If you need to or want to install additional packages specifically from Squeeze or even from Sid (unstable), you should uncomment the corresponding line in /etc/apt/sources.list by launching an editor in the Debian chroot terminal (app with red swirl icon), i.e., remove &amp;quot;#&amp;quot; in the beginning of the lines&lt;br /&gt;
&lt;br /&gt;
 #deb http://http.us.debian.org/debian squeeze main contrib non-free&lt;br /&gt;
 #deb http://www.debian-multimedia.org squeeze main&lt;br /&gt;
&lt;br /&gt;
After updating the package information, you can then install from this newer repository. However, heed the following warning:&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Warning: Those of you familiar with Debian or other similar Linux distributions know that it is very easy to keep the distro up to date by means of the apt-get command.  However, there is currently a problem with some of the central Easy Debian apps in the Debian Squeeze repositories (gconf2 in particular).  Therefore, it is recommended that for the moment you simply use the image as is.  Do not perform a full &amp;lt;em&amp;gt;upgrade&amp;lt;/em&amp;gt; (apt-get update is safe, though) when Squeeze (or even Sid) is enabled in /etc/apt/sources.list.  This warning will be removed when this issue is resolved.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
By the same token, watch out when new applications to be installed from Squeeze or Sid require an upgrade of gconf2. This can lead to configuration errors in other applications.&lt;br /&gt;
&lt;br /&gt;
However, you can hardly do real harm by experimenting with your Debian installation. You can always start over by re-installing the original Debian image. Since user files are usually not stored in the Debian image, you won&#039;t lose much by doing so. But if you have enough space, it may be a good idea to make a copy of your Debian image so that you don&#039;t have to download and extract the original Debian image again, in particular if you are planning some more extensive and untested upgrades.&lt;br /&gt;
&lt;br /&gt;
When using apt-get install to install applications, remember to always use the --no-install-recommends command-line option. This will keep extra, unneeded packages from being installed or upgraded. So you would install cups like so:&lt;br /&gt;
&lt;br /&gt;
  apt-get install --no-install-recommends cups&lt;br /&gt;
&lt;br /&gt;
=== CUPS Installation Instructions ===&lt;br /&gt;
&lt;br /&gt;
If you have a network printer that can be accessed by [http://encyclopedia.thefreedictionary.com/Common+Unix+Printing+System CUPS], the Common Unix Printing System, you can do so under Easy Debian, which has &amp;lt;I&amp;gt;cups-client&amp;lt;/I&amp;gt; installed (since version v3c). &lt;br /&gt;
&lt;br /&gt;
This allows you to access one CUPS server at a time, which can be specified alternatively by &lt;br /&gt;
* the option -h hostname[:port]&lt;br /&gt;
* the file client.conf in /etc/cups or ~/.cups (see &amp;quot;man client.conf&amp;quot;)&lt;br /&gt;
* the environment variable CUPS_SERVER&lt;br /&gt;
&lt;br /&gt;
You can then check for available printers by&lt;br /&gt;
&lt;br /&gt;
 lpstat -a&lt;br /&gt;
&lt;br /&gt;
and print out files from your device by&lt;br /&gt;
&lt;br /&gt;
 lp -d printername filename&lt;br /&gt;
&lt;br /&gt;
If a full CUPS installation is desired (which allows to schedule jobs to more than one CUPS server in the network, to scan for printers, and also to [http://www.debianadmin.com/howto-install-and-customize-cups-pdf-in-debian.html install cups-pdf], a PDF writer backend):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install cups&lt;br /&gt;
apt-get clean&lt;br /&gt;
echo &amp;quot;/etc/init.d/cups restart&amp;quot; &amp;gt;&amp;gt; /var/run/onfirstchroot.rc&lt;br /&gt;
chmod a+x /var/run/onfirstchroot.rc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The last two lines ensure that the CUPS server is started when Easy Debian is launched. (Ignore the errors you get when cups is installed for the first time.)&lt;br /&gt;
&lt;br /&gt;
=== Other useful applications to install in addition ===&lt;br /&gt;
&lt;br /&gt;
The following packages are also not part of the current image (v3e) but may be of wider interest:&lt;br /&gt;
&lt;br /&gt;
; vpnc : The VPN client for accessing Cisco concentrators works well when started under Debian, while under Maemo vpnc is not yet available as a stable application. Install by &amp;quot;apt-get install vpnc&amp;quot; and configure through /etc/vpnc.conf .&lt;br /&gt;
:This works particularly well in WLAN connections. There even microB connects via vpn. With GPRS connections, however, a browser in Debian has to be used.&lt;br /&gt;
&lt;br /&gt;
; openssh-client (now included in image v3e) : To access the Debian system by ssh, one can of course use the ssh server under Maemo (which presumably every power user will have installed), for a login followed by &amp;quot;debian&amp;quot; or &amp;quot;debian su user&amp;quot;. To initiate ssh connection from within the Debian system, installation of openssh-client is sufficient and does not conflict with ssh installations in Maemo.&lt;br /&gt;
&lt;br /&gt;
; gftp : X/GTK+ FTP client. Works well when started outside of LXDE by &amp;quot;debbie gftp&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
; djview4 : Provides a reader for djvu files&lt;br /&gt;
&lt;br /&gt;
; flpsed : WYSIWYG PostScript and PDF annotator, useful for filling forms, adding notes etc. Works well when started outside of LXDE by &amp;quot;debbie flpsed&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
; pdfchain : a graphical user interface (only in squeeze distribution) for the PDF Tool Kit (&amp;lt;b&amp;gt;pdftk&amp;lt;/b&amp;gt;, the command line tool that is already available in the stable lenny distribution). Noteworthy also: &amp;lt;b&amp;gt;pdfgrep&amp;lt;/b&amp;gt; (from squeeze) to quickly search through pdf files on the command line.&lt;br /&gt;
 &lt;br /&gt;
; abiword : Alternative to OpenOffice Writer. However, needs to be installed from the squeeze repository and does upgrade gconf2 to the squeeze version, which breaks certain other things (e.g. the configuration of evince).&lt;br /&gt;
&lt;br /&gt;
; kile : KDE Integrated LaTeX Environment. Works well when started outside of LXDE by &amp;quot;debbie kile&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
; gnumeric : A leaner alternative to OpenOffice Calc. Works well when started outside of LXDE by &amp;quot;debbie gnumeric&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
; xournal : GTK+ application for notetaking, sketching and keeping a journal using a stylus. It can also be used to add annotations to PDF files. Works well when started outside of LXDE by &amp;quot;debbie xournal&amp;quot;. Richer interface than in the native Maemo application and available in newer version from squeeze.&lt;br /&gt;
&lt;br /&gt;
; zim : [http://zim-wiki.org/ zim] is a desktop wiki application that is well suited for the N900 device (a Maemo version is under development, too). To get the newest version install this package from squeeze (but don&#039;t upgrade the rest of the packages). Start from XTerminal (or a self-made application icon, see above) by &lt;br /&gt;
&lt;br /&gt;
 sudo debian su - user -c zim &lt;br /&gt;
&lt;br /&gt;
: The default theme provided by Easy Debian does not work well with this application, but can be changed by creating the file /home/user/.gtkrc-2.0.mine with content e.g.&lt;br /&gt;
 gtk-theme-name=&amp;quot;Raleigh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; encfs, sshfs : sshfs allows one to mount a remote file system through ssh (and therefore depends on ssh-client, see above); encfs is a user-space encrypted file system, which allows to encrypt entire folders, see http://www.arg0.net/encfs. Both, encfs and sshfs, require the fuse kernel module, which is already available in the Maemo system, although normally not yet loaded. Because there is no group &amp;quot;fuse&amp;quot; under Maemo, it&#039;s best to change the group ownership of /dev/fuse to users, and have all that automated through the startup script $CHROOT/var/run/onfirstchroot-ext.rc (needs to be executable). Add the following lines to this script:&lt;br /&gt;
 modprobe fuse&lt;br /&gt;
 sleep 1&lt;br /&gt;
 chown root.users /dev/fuse&lt;br /&gt;
:Install by running the following commands in the Debian chroot terminal:&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get install encfs&lt;br /&gt;
 apt-get install sshfs&lt;br /&gt;
 adduser user fuse&lt;br /&gt;
 apt-get clean&lt;br /&gt;
:After that user (and not only root) can create and use encrypted file systems in Easy Debian. See http://www.arg0.net/encfs for how to use it.&lt;br /&gt;
:To mount a remote file system one just issues &amp;quot;sshfs user@remote.domain: mountpoint&amp;quot;&lt;br /&gt;
:To unmount either an encrypted or ssh-mounted file system one does &amp;quot;fusermount -u mountpoint&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; nicotine : graphical client for the SoulSeek peer-to-peer system&lt;br /&gt;
&lt;br /&gt;
; build-essential : C++ compiler and associated development packages. Needs to be installed from the squeeze repository.&lt;br /&gt;
&lt;br /&gt;
=== Upgrading OpenOffice ===&lt;br /&gt;
&lt;br /&gt;
The new image v3e includes OpenOffice 3.2.1.&lt;br /&gt;
&lt;br /&gt;
Previous images (up to v3d) included an OpenOffice version (3.1.1) for which support for the armel architecture was later withdrawn. This problem has been fixed with version 3.2 which is available in the Debian Squeeze distribution. If you want to install OpenOffice in images prior to version v3e, or if you want to update or extend your OpenOffice version in v3e, you need to activate Squeeze in /etc/apt/sources.list for upgrading. To install all openoffice.org packages do&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get install openoffice.org&lt;br /&gt;
 apt-get clean&lt;br /&gt;
To only upgrade the packages installed (leaving out base but including math), do (each apt-get command is one line)&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get install openoffice.org-writer openoffice.org-impress openoffice.org-calc openoffice.org-math openoffice.org-style-crystal openoffice.org-style-galaxy openoffice.org-style-hicontrast openoffice.org-style-tango openoffice.org-emailmerge ttf-opensymbol python-uno&lt;br /&gt;
 apt-get clean&lt;br /&gt;
which requires some 80 MB less space in the image. The reason for leaving out base is that according to [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=585829 this bug report], OpenOffice base is broken for the armel architecture.&lt;br /&gt;
&lt;br /&gt;
Upgrading to the current version in squeeze will also upgrade a number of other packages, including Gimp.&lt;br /&gt;
&lt;br /&gt;
== Sound ==&lt;br /&gt;
&lt;br /&gt;
=== Initializing sound ===&lt;br /&gt;
&lt;br /&gt;
In order to initialize sound on a fresh installation of Easy Debian, open XTerminal and do:&lt;br /&gt;
 debbie &lt;br /&gt;
 xmms2d -o pulse&lt;br /&gt;
Leave that running, open a second XTerminal session and do:&lt;br /&gt;
 debbie lxmusic&lt;br /&gt;
&lt;br /&gt;
=== ALSA device setup ===&lt;br /&gt;
&lt;br /&gt;
Although Easy Debian has setup and mount the host pulseaudio (/var/run/pulse) into the chroot (done by qchroot in the easy-chroot package), pulseaudio was not set as the default ALSA device in images before version 3ve. To do so, edit /etc/asound.conf in the chroot, and comment out (or remove) the default alsa_dsp plugin, and add a pulse plugin. For example:&lt;br /&gt;
 #pcm.!default {&lt;br /&gt;
 #  type alsa_dsp&lt;br /&gt;
 #  playback_device_file [&amp;quot;/dev/dsptask/pcm3&amp;quot;] &lt;br /&gt;
 #  recording_device_file [&amp;quot;/dev/dsptask/pcm_rec1&amp;quot;]&lt;br /&gt;
 #}&lt;br /&gt;
 &lt;br /&gt;
 pcm.!default {&lt;br /&gt;
   type pulse&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q:&#039;&#039;&#039; I have started Openoffice (evince, ...) from the desktop, entered a certain mode (presentation, navigator, formatting, full screen, ...) and cannot get out of that again.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; See [[Easy_Debian#Set_Deb_HW_Keys_app_and_xbindkeys]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q:&#039;&#039;&#039; I chose Iceweasel, but nothing happened!&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; Be patient. Iceweasel has no splash screen and a very long startup time. Use Epiphany for faster startup while retaining the ability to use Java and Flash plugins.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q:&#039;&#039;&#039; How do I get to the OK button in the huge dialog box that just popped up?&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; DIABLO/N8x0: If you choose the &amp;quot;Toggle Movable Windows&amp;quot; icon in the menu, you will switch to a patched version of the Matchbox Window Manager that lets you move the big dialog boxes used by some Debian apps so you can get to the OK button. When you want to go back to &amp;quot;Normal&amp;quot; OS2008 window behavior, select this menu item again.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; FREMANTLE/N900: You&#039;ll need to use LXDE to access the entire dialog. Use the Ctrl-. key combination to move windows with the stylus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q:&#039;&#039;&#039; How do I get the virtual keyboard to pop up in Debian Apps?&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; DIABLO/N8x0: Select the &amp;quot;Set Debian HW Keys&amp;quot; menu item; wait a bit, then you can press the minus (-) hardware key followed by the menu hardware key to toggle the Matchbox Keyboard. Press the (-) key then the (+) key to toggle between normal and mini (one-line) keyboards.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; FREMANTLE/N900: There is no virtual keyboard in Maemo for Debian apps.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q:&#039;&#039;&#039; How do I make Debian apps fullscreen?&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; Select the &amp;quot;Set Debian HW Keys&amp;quot; menu item; wait a bit, then you can press (DIABLO/N8x0) the minus (-) hardware key followed by the &amp;quot;fullscreen&amp;quot; hardware key or (FREMANTLE/N900) Ctrl-Uparrow or Ctrl-Space to toggle fullscreen for any app.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q:&#039;&#039;&#039; DIABLO/N8x0: How do I get the best turbo speed from OpenOffice, Firefox and other big apps?&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; Make sure you have the maximum amount of virtual memory enabled in your Control Panel / Memory dialog. Then select the &amp;quot;Set CPU to Performance mode&amp;quot; menu item and launch your app. Remember to set the CPU to On-Demand mode when you&#039;re done using the big app, because Performance mode sucks your battery faster. But it still isn&#039;t as bad as the battery life of your average laptop...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q:&#039;&#039;&#039; English isn&#039;t my first language. How do I change this to my language?&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; Please click on the &amp;quot;Debian chroot&amp;quot; icon and type the following command:&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
:Choose your language(s).&lt;br /&gt;
&lt;br /&gt;
:DIABLO/N8x0: Note that you should choose the language with no period between the language and the iso code (eg. &amp;quot;en_CA ISO-8859-1&amp;quot;), and optionally, the utf-8 version, too (eg. &amp;quot;en_CA.UTF-8&amp;quot;).&lt;br /&gt;
:FREMANTLE/N900:  Choose the UTF-8 version.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q:&#039;&#039;&#039; Under Debian the time zone is not the same as under Maemo.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; In the Debian chroot terminal run&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
and select the time zone of your choice.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q:&#039;&#039;&#039; How do I find the amount of space left for applications?&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; From the prompt in Debian Chroot menu item:&lt;br /&gt;
&lt;br /&gt;
 df -h /&lt;br /&gt;
&lt;br /&gt;
Look under AVAIL.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q:&#039;&#039;&#039; I want to install more applications! How do I do that?&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; First, you have to update the repository lists. From the prompt in Debian Chroot menu item:&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
:The image for the N900 has quite some free space for installing additional Debian packages.&lt;br /&gt;
&lt;br /&gt;
:For DIABLO/N8x0, you must get some space back! There&#039;s almost no extra room in the image file.&lt;br /&gt;
&lt;br /&gt;
 apt-get install localepurge; localepurge&lt;br /&gt;
&lt;br /&gt;
:This will get you at least 80MB back. You should probably do this first, before starting to install. Running out of space during an install in Debian is ugly.&lt;br /&gt;
&lt;br /&gt;
:Also, when downloading packages, remember to frequently use &amp;quot;apt-get clean&amp;quot; to clear out old downloaded packages. That will help with free space.&lt;br /&gt;
&lt;br /&gt;
:If you&#039;re comfortable with the command line, you can use the technique listed in this post to double your install space.&lt;br /&gt;
&lt;br /&gt;
:Even with all of these tricks, you&#039;ll still run out of room fairly quickly. You&#039;ll probably have to uninstall packages in order to add new ones.&lt;br /&gt;
&lt;br /&gt;
:More advanced users can put a minimal system into an empty image and build a custom set of apps using this post. The most advanced and best way: partition your SD card and put your Debian fs there.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q:&#039;&#039;&#039; What&#039;s this &amp;quot;Iceweasel&amp;quot;?&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; Iceweasel is the Debian name for Firefox. It&#039;s a long story, but in short, Mozilla and Debian had a philosophical disagreement that ended in Debian renaming Firefox to Iceweasel.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q:&#039;&#039;&#039; I would like to have a separate /home/user directory under Debian than under Maemo. Is that possible?&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; /sbin/qchroot script does mountings; one option is to not mount /home/user at all by commenting out the corresponding line in that script, which is&lt;br /&gt;
 mount /dev/mmcblk0p2 &amp;quot;$CHROOT/home&amp;quot;&lt;br /&gt;
for FREMANTLE/N900. Then /home/user/MyDocs will still get mounted, but you can keep a Debian home directory separately, in the chroot.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q:&#039;&#039;&#039; How is this different than the [http://trac.tspre.org/projects/nit-debian Deblet project]?&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; Easy Debian uses a fully installed Debian system to run applications inside of Maemo. The Deblet project helps you install a bootable Debian system from scratch; Deblet is mainly designed for booting to an alternate OS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q:&#039;&#039;&#039; I already have Debian in a partition, or I&#039;m running Deblet. How can I use your package with my Debian?&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; Edit the /home/user/.chroot file to point to your Debian partition or image file. Easy Debian will do the rest.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; If you are using Deblet, delete the /home/user/.synchroot file before running Easy Debian for the first time, so your Deblet config files don&#039;t get overwritten. Remember that you&#039;ll need to make a user called &amp;quot;user&amp;quot; in Deblet (with the proper ID) for things to work correctly. Also note that your maemo home directory will be used by default. This can also be changed in the .chroot file.&lt;br /&gt;
&lt;br /&gt;
== Donations ==&lt;br /&gt;
&lt;br /&gt;
If you feel overwhelmed by gratitude towards [http://talk.maemo.org/member.php?u=10410 qole] for bringing a full-fledged Debian OS to your device, consider donating at [http://qole.org qole.org]. [DISCLAIMER: This entry was inserted by a grateful user, not qole himself.]&lt;br /&gt;
&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
[[Category:Power users]]&lt;/div&gt;</summary>
		<author><name>203.177.74.138</name></author>
	</entry>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=Talk:Maemo_Summit_2009/Submissions&amp;diff=45187</id>
		<title>Talk:Maemo Summit 2009/Submissions</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=Talk:Maemo_Summit_2009/Submissions&amp;diff=45187"/>
		<updated>2010-05-13T08:17:36Z</updated>

		<summary type="html">&lt;p&gt;203.177.74.138: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Presentations under consideration =&lt;br /&gt;
&lt;br /&gt;
Please add comments you have about presentations under consideration here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Propose merge ==&lt;br /&gt;
&lt;br /&gt;
=== Tracker: Dial M for Metadata ===&lt;br /&gt;
&lt;br /&gt;
Probably merge with the other Tracker presentation already approved ? . --[[User:vdvsx|Valério Valério]] 10:13, 17 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
I vote to replace (with the presenter&#039;s approval) the QtTracker talk by this more general one. --[[User:dneary|Dave Neary]] 10:23, 18 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Agree with Dave, there is significant overlap from what I can see, to facilitate a merge or replace. --[[User:baloo|baloo]] 19:20, 20 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Propose merge or replacement with QtTracker - Merge OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Done&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Managing metadata by accessing Tracker with QtTracker&#039;&#039;&lt;br /&gt;
* Author: Iridian Kiiskinen, ext dash iridian dot kiiskinen at nokia dot com&lt;br /&gt;
* Intended audience: Application/Platform Developers&lt;br /&gt;
* Talk type: Presentation&lt;br /&gt;
* Abstract/description&lt;br /&gt;
: QtTracker is a Qt Object RDF Mapper with Tracker backend. It supplements Soprano, offering intuitive resource access, property traversal, sophisticated query building, live update handling, simple client-side transactions, powerful caching, and other convenience features at the top convenience layer, but also lower tier access supplying direct sparql etc. QtTracker is native C++, and integrates extensively with Qt.&lt;br /&gt;
: The upcoming release is the first public LGPL release of QtTracker, and an introduction is given into why, when and how QtTracker should be used. After that a basic example application presenting idiomatic usage of core features will be discussed.&lt;br /&gt;
* Author bio&lt;br /&gt;
: Iridian Kiiskinen started working in Nokia Maemo group since end of 2008, and is a newly enthusiastic open source developer migrating from the academic world.&lt;br /&gt;
&lt;br /&gt;
=== MicroB browser, why it fastest &amp;quot;Mozilla based&amp;quot; browser, features, extensions for MicroB ===&lt;br /&gt;
&lt;br /&gt;
We already have a browser presentation approved, waiting for more opinions --[[User:vdvsx|Valério Valério]] 10:22, 17 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Agreed. We have a &amp;quot;Maemo browser for power users&amp;quot; talk, Quim suggested the two talks merge. I&#039;d say no to this unless the presenters agree to merge their talk. --[[User:dneary|Dave Neary]] 10:23, 18 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Not sure a merge would work but if it can be done then a yes. --[[User:baloo|baloo]] 19:28, 20 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Propose merge with existing Maemo browser proposal - Quim to mail&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; MicroB browser, why it fastest &amp;quot;Mozilla based&amp;quot; browser, features, extensions for MicroB &#039;&#039;&#039;&lt;br /&gt;
*Oleg Romashin, oleg dot romashin at nokia dot com / Nagineni Sudarsana&lt;br /&gt;
*Intended audience: application developers&lt;br /&gt;
*Talk type: presentation&lt;br /&gt;
*Abstract/description&lt;br /&gt;
: Maemo 5, MicroB browser currently is fastest &amp;quot;Mozilla based&amp;quot; browser available on mobile platform. &lt;br /&gt;
: This presentation is some sort of description of architecture and principles of MicroB browser, why it so fast, what is difference between MicroB and Fennec browser.&lt;br /&gt;
: Also some description about how to write extensions for MicroB browser.&lt;br /&gt;
&lt;br /&gt;
=== Designing QT application for Maemo 5 and Maemo 6 ===&lt;br /&gt;
&lt;br /&gt;
Big yes. This is a very relevant presentation due to the recent discussions in the -devel ML about this topics. --[[User:vdvsx|Valério Valério]] 10:19, 17 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
We already have a few Qt presentations in there. Is there a chance to merge this with (or replace) an existing talk? --[[User:dneary|Dave Neary]] 10:23, 18 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Agree. Merge. --[[User:baloo|baloo]] 19:27, 20 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Propose merge with Ian Monroe&#039;s &amp;quot;Preparing Qt apps for Harmattan and Fremantle&amp;quot; &#039;&#039;&#039; (response: replace Ian&#039;s talk by Sergiy&#039;s)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Done - Leaving Ian&#039;s proposal here, for a possible BoF, if we have space.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Preparing your Qt Application for Fremantle and Harmattan&#039;&#039;&lt;br /&gt;
*Ian Monroe &amp;lt;ian.monroe at collabora.co.uk&amp;gt;&lt;br /&gt;
*Intended audience: application developers&lt;br /&gt;
*Talk type: Presentation/BoF&lt;br /&gt;
*Abstract/description&lt;br /&gt;
:An initial short presentation about Qt on Fremantle, what the Qt platform might look like on Harmattan and the status of the QtMobility project will be followed by a guided audience discussion.&lt;br /&gt;
&lt;br /&gt;
The group discussion will be about the unique issues of developing on this new Qt platform, and the challenges and feasiblity of porting existing desktop applicaitons.&lt;br /&gt;
*Integrating with Tracker&lt;br /&gt;
:*Telepathy&lt;br /&gt;
:*...and other (traditionally Gnome) parts of the Maemo stack.&lt;br /&gt;
*How much existing desktop GUI (if any) can be used on the small touch-screen device? &lt;br /&gt;
*Core/UI separation&lt;br /&gt;
*Developing touch screen UIs&lt;br /&gt;
*Additional Information&lt;br /&gt;
: Non-fixed chairs so that they can be put in a circular fashion (which is best for a BoF when possible).&lt;br /&gt;
*Author bio&lt;br /&gt;
: Ian is a software developer at Collabora Ltd where he works from home in Iowa City, Iowa USA. He has been a developer of the popular desktop music manager Amarok for four years. He is the maintainer of KDE&#039;s video player, Dragon Player.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Accepted Presentation proposals ==&lt;br /&gt;
&lt;br /&gt;
When presentations have been definitively accepted and moved from the &amp;quot;Submissions&amp;quot; page to the schedule, the discussion about them is removed, but remains visible in the [http://wiki.maemo.org/index.php?title=Talk:Maemo_Summit_2009/Submissions&amp;amp;action=history history].&lt;br /&gt;
&lt;br /&gt;
== Declined presentation proposals ==&lt;br /&gt;
&lt;br /&gt;
When authors have been notified that their presentations will not be included in the schedule, we move them here.&lt;br /&gt;
&lt;br /&gt;
=== Attracting the Masses ===&lt;br /&gt;
&lt;br /&gt;
Presentation declined. We felt that the content wasn&#039;t compelling enough for the presentation, and there will be considerable duplication with presentations during the Nokia day, which will concentrate on cracking the mass market, and during the Fremantle Stars presentations we expect to have. Please add any comments you might have below. [[User:dneary|Dave Neary]] 16:45, 1 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
* Daniel Gentleman, thoughtfix at gmail dot com or thoughtfix anywhere.&lt;br /&gt;
* Intended audience: Developers - but other parties may be interested&lt;br /&gt;
* Talk type: Presentation (req: projector with VGA or DVI input for a Keynote presentation) &lt;br /&gt;
* Abstract/description&lt;br /&gt;
: Tablets have hundreds of applications now - but who are they for? If the Internet Tablets are intended to attract a more mainstream mobile market, the maemo community needs to get in touch with the needs of the target market.&lt;br /&gt;
: The first part of this presentation will give an overview of the most popular applications on competing platforms. This information will be collected through app store sales/download counts, direct communication with a sampling of mobile consumers, and communication with some other high-profile mobile technology journalists. This will include actual applications, connectivity options, peripherals, interface (touch/keyboard/icon/etc) preferences, and related consumer desires.&lt;br /&gt;
: The second part of this presentation will give an overview of the state of the existing maemo platform including commercial partners, independent contributors, and ports of more popular Linux software.&lt;br /&gt;
: The conclusion will analyze mobile consumer desires compared to maemo offerings and, hopefully, give developers ideas on what they can write to make the platform more appealing.&lt;br /&gt;
&lt;br /&gt;
*Author bio&lt;br /&gt;
: The seeds of TabletBlog started in 2005 when some geek named Daniel Gentleman picked up the original Nokia 770 and started a blog. Since then, I&#039;ve published thousands of bits of material reaching millions of visitors and video views. So far, I&#039;ve been present for the Nokia N800 launch in CES 2007, the N810 launch at the Web2Summit, BossaConference 2008 in Recife, Brazil, and the first Maemo Summit.&lt;br /&gt;
&lt;br /&gt;
=== Challenges of Multimedia within a Freely Distributable Tablet Framework ===&lt;br /&gt;
&lt;br /&gt;
Seems a little too abstract for a Maemo Summit as I think these issues effect a much wider audience. A good talk but again, in the interests of keeping this a very Maemo Summit focused event, I&#039;m saying no unless a more compelling argument is there. -- [[User:baloo|baloo]] 22:48, 12 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Same opinion here, in the current state I say no. --[[User:vdvsx| Valério Valério]] 09:28, 13 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Same here. No. There are many more compelling Mer presentations possible. --[[User:dneary|Dave Neary]] 15:23, 13 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Agreement: No&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Author: Matthew Craig, mtc in #Mer&lt;br /&gt;
* Intended audience: Users and Platform engineers&lt;br /&gt;
* Talk type: Presentation&lt;br /&gt;
* Abstract/description &lt;br /&gt;
: Multimedia technology has the very real potential of framing the next generation of the web, and it is becoming a primary vehicle for communication worldwide.  The Mer Project faces unique challenges in handling this important technology, as it based on embedded architectures and strives to be freely distributable.  For example, license restrictions of MPEG technologies prevent the free distribution of the popular &amp;quot;MP3&amp;quot; audio playback.  With the current and rapid adoption of HTML-5 Video specifications, these difficult challenges are ones that must be addressed immediately.  This talk will review the obstacles, and the practical solutions, to using multimedia within the Mer Project.&lt;br /&gt;
* Author bio &lt;br /&gt;
: See &#039;&#039;Evangelizing Mer&#039;&#039; below.&lt;br /&gt;
&lt;br /&gt;
=== Evangelizing Mer, and Tips on Promoting Your Own Project ===&lt;br /&gt;
&lt;br /&gt;
Not sure this would stand up as a full session, suited more to a lightning talk? -- [[User:baloo|baloo]] 22:48, 12 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Unless the author came up with a bigger plane, I also vote to convert it in a LT. --[[User:vdvsx| Valério Valério]] 09:33, 13 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
I think an evangelisation presentation might be good. Let&#039;s see what else comes along in that style before saying yes. --[[User:dneary|Dave Neary]] 15:36, 13 July 2009 (UTC)&lt;br /&gt;
:On reflection, I think that this is not a great and potentially interesting session to a large number of people. Voting no. --[[User:dneary|Dave Neary]] 13:48, 31 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
* Author: Matthew Craig, mtc in #Mer&lt;br /&gt;
* Intended audience: Application Developers&lt;br /&gt;
* Talk type: Presentation&lt;br /&gt;
* Abstract/description &lt;br /&gt;
: The Mer Project is a community led tablet framework that offers community support for older Nokia tablet computers.  The success of the project relies on the participation of interested technologists worldwide.  Over the last half year, the Mer Project has been able to attract dozens of participants and aligned itself with important free software organizations, such as Ubuntu, openSUSE, and maemo.org, in order to assure long-term success.  Our excited participants are not only maemo.org members but also activists in their community, advocating the software in local technology clubs and events.  Find out the details of these efforts and ways that you can adopt the same policies for your own project, presented by the self-proclaimed Mer Project Chief Evangelist!&lt;br /&gt;
* Author bio &lt;br /&gt;
: Matthew Craig is a volunteer and outspoken representative of the Mer Project.  He brings with him the experiences of being a Xiph.org Foundation volunteer and an Ubuntu Member in hopes of helping realize a cross-platform and freely distributable Mer framework.  When he is not discovering the future of micro-sized computing, Matthew handles a technical consulting practice to bring server and storage solutions to enterprise-sized environments.&lt;br /&gt;
&lt;br /&gt;
=== Creating Python bindings for C libraries in Maemo ===&lt;br /&gt;
&lt;br /&gt;
I don&#039;t think Python bindings for C in Maemo have something special/different than bindings for other linux &#039;distros&#039;. Since we have a lot of proposed talks for the dev&#039;s track, I would prefer to have others instead of this one. Maybe a LT, but IMO, this is a big topic for a 5 min presentation. So is a no for me. --[[User:vdvsx| Valério Valério]] 11:46, 31 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
There&#039;s already a pymaemo presentation, I think that we should leave it at that, and start solliciting presentations to fill gaps we have in the schedule. --[[User:dneary|Dave Neary]] 13:48, 31 July 2009 (UTC)&lt;br /&gt;
: It&#039;s been pointed out to me that there isn&#039;t. A pymaemo presentation (&amp;quot;RAD for Maemo with PyMaemo&amp;quot; or something like that) would be a pretty cool presentation. --[[User:dneary|Dave Neary]] 12:39, 3 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
I proposed this talk for this reason: I think Python bindings are very very important for Maemo. Why? Because if Maemo is only programmable in C language we miss a lot of good programmers who cannot/don&#039;t want to use C language.&lt;br /&gt;
Having more developers (C + Python) means more applications available for Maemo.&lt;br /&gt;
My talk want to convince people to help PyMaemo team and showing them that it requires only few (almost...) C skills and free time to dedicate to the project. If you find it&#039;s not a good reason, I&#039;ll accept your decision anyway.&lt;br /&gt;
I could propose a light talk about python-mafw (the binding I&#039;m working to) but it wouldn&#039;t be exactly the same thing. --[[User:andy80|Andrea Grandi]] 19:17, 3 August 2009 (UTC) &lt;br /&gt;
&lt;br /&gt;
*Author: Andrea Grandi (andy80), a.grandi at gmail dot com&lt;br /&gt;
*Intended audience: Application/Platform Developers&lt;br /&gt;
*Talk type: presentation (20-30 minutes)&lt;br /&gt;
*Abstract/description&lt;br /&gt;
: Lot of libraries in Linux and even in Maemo are written in C and are not directly accessible from Python. When a Python binding doesn&#039;t exist it could be useful to create one so other Python developers are able to use that library without having to code their application in C language.&lt;br /&gt;
: My intent is to give basic information about how to create Python bindings for a generic C library and show how to generate an automatic build and installation using distutils.&lt;br /&gt;
*Author bio&lt;br /&gt;
: I&#039;m a student of Computer Science at &amp;quot;Università degli Studi di Firenze&amp;quot; (Italy) and currently I&#039;m going to spend a whole year at &amp;quot;Universidad Politecnica de Valencia&amp;quot;. I follow Maemo project and the community since the arrive of Nokia 770 device, I ported Spim (a MIPS emulator) on Maemo and helped other developers fixing bugs. Last year I did a light talk at Maemo Summit 2008 about ESBox and Pluthon. Currently I&#039;m doing a work stage at Igalia (a spanish free software company) and I&#039;m working on a Python binding of a Maemo library.&lt;br /&gt;
&lt;br /&gt;
I would love to see this, with all the new libs coming in Fremantle and beyond we need all the help we can get in order to have full Python support.  Besides, this really belongs in the platform track which is still mostly empty. --[[User:lma|lma]] 17:25, 21 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Life outdoor event with Maemo ===&lt;br /&gt;
&lt;br /&gt;
*Author: Till Harbaum&lt;br /&gt;
*Intended audience: everyone&lt;br /&gt;
*Talk type: lightning talk + outdoor thing&lt;br /&gt;
*Abstract/description&lt;br /&gt;
: Location based services are en vogue. GPXView and OSM2Go are two examples for this and a live outdoor demo can sure be real fun. While OSM2Go has a more serious background something like guided real life mapping (there are sure things close to the event that need mapping/correction) may be cool. GPXView is a fun thing and e.g. a special summit related geocache could be hidden. This needs some planning but would likely even attract some geocachers from that region. Also this could be used for some fancy promo things. There could be prizes t win (to be found in a cache) or Maemo related travel bugs could be started. Even a Maemo &amp;quot;geocoin&amp;quot; could be made for this event.&lt;br /&gt;
*Author bio&lt;br /&gt;
: Till Harbaum is a spare time maemo developer and has been working with maemo since he sold his last palm device. His projects include maemo related hardware hacks, games, the aforementioned GPXView and OSM2Go.&lt;br /&gt;
&lt;br /&gt;
Could be part of the Stars keynote for OSM2Go. --[[User:dneary|Dave Neary]] 16:15, 30 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Agree. --[[User:vdvsx| Valério Valério]] 11:22, 31 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
I like the subject, but I&#039;m not sure it should be grouped with OSM2Go. There is a wider talk here that could look at geocaching, GPX recording for geotagging photo&#039;s, e.t.c. --[[User:baloo|baloo]] 12:45, 3 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Agreement: Propose Fremantle Stars plenary session, 10 to 15 mins each&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Session confirmed, at least OMWeather, OSM2Go, liqbase and Mauku will present &amp;amp; discuss the outside event idea with Till&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Improving the Bluetooth experience on Linux ===&lt;br /&gt;
* Gustavo F. Padovan. &amp;lt; gustavo at padovan dot org &amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Intended audience: platform developers&lt;br /&gt;
*Talk type: presentation&lt;br /&gt;
*Abstract/description&lt;br /&gt;
: This talk will cover the implementation of the Enhanced Retransmission Mode(ERTM) of operation of the Logical Link Control and Adaptation Protocol (L2CAP), a Bluetooth Core layer. ERTM provides support for segmentation and reassembly of packets, flow control and error control which means, mainly, support for retransmission of lost packets on Bluetooth Core implementation on Linux for the first time.&lt;br /&gt;
: ERTM makes transfers more reliable, giving us a very low error rate. Also, It is one of the first steps to implement the amazing Alternate MAC/PHY(new Bluetooth 3.0 feature), which allows that Bluetooth uses the 802.11 radio to transport Bluetooth data. I&#039;m doing this work as part of my Google Summer of Code project and I&#039;m being mentored by Marcel Holtmann, the BlueZ maintainer.&lt;br /&gt;
&lt;br /&gt;
*Author bio&lt;br /&gt;
: Gustavo F. Padovan is 22 years old. Computer Science student at University of Campinas, Brazil. Free Software enthusiastic and member of GPSL (a student group to promote free software at University of Campinas). He is a BlueZ core developer and was accepted on Google Summer of Code 2009 in the same project.  He has also been contributing to the Linux Kernel since May 2008. Nowadays, he works at ProFUSION embedded systems.&lt;br /&gt;
&lt;br /&gt;
Not sure this would make for a good presentation. Veering towards a &#039;no&#039; unless something else comes up to convince me otherwise. -- [[User:baloo|baloo]] 13:12, 26 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
No from me too. --[[User:dneary|Dave Neary]] 19:33, 31 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Expanding the tablet user base ===&lt;br /&gt;
* Luc Byhet&lt;br /&gt;
* Intended audience: everyone&lt;br /&gt;
* Talk type: presentation / lessons learned&lt;br /&gt;
* Abstract/description&lt;br /&gt;
&lt;br /&gt;
: Mobile platforms such as laptops and smartphones got pervasive but unappropriate to specific tasks and jobs. Well, not so specific as it&#039;s sometimes hundred of thousands of users. End users started envisioning specialised devices for their own specific fields and tasks. Tablets are a good fit for technical fieldforces, healthcare, trading, law enforcement or interactive guides but yet their use in these areas is not so widespread yet.&lt;br /&gt;
&lt;br /&gt;
: This talk will be about influencing users and decision makers, stimulating innovation around tablets, meeting users and ensuring that devices get used. A walkthrough of succesful implementations of similar devices will be presented as well as a checklist of what to do to make this happen. This is about tech and business, code and industrial design, and potentially finding a dream job.&lt;br /&gt;
&lt;br /&gt;
*Author bio&lt;br /&gt;
&lt;br /&gt;
: I&#039;m working for Accenture Technology Consulting, my job is to evangelize CIOs and decision-makers about open source software, get decisions done and launch projects. I&#039;m a permanent observer of Open Source communities and promoter of their work. I&#039;m currently working on innovative use cases for tablets.&lt;br /&gt;
&lt;br /&gt;
Not sure about the content on this one. Seems too high level and evangelizing for me. -- [[User:baloo|baloo]] 13:23, 26 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
If we&#039;re going for a presentation in this style, Texrat&#039;s is my preference. No. --[[User:dneary|Dave Neary]] 19:33, 31 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Texrat&#039;s is also my favorite in this topic. No from me. --[[User:vdvsx| Valério Valério]] 16:31, 1 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Building a Safe Mobile Browsing Experience ===&lt;br /&gt;
* [http://maemo.org/profile/view/timeless timeless]&lt;br /&gt;
* Application developers&lt;br /&gt;
* Presentation&lt;br /&gt;
*Abstract/description&lt;br /&gt;
: Making a browser is simple, right? All you need is a text field and a content area. Then someone asks for back, and forward, and bookmarks, and zooming. Eventually someone says they care about whether they&#039;re visiting their bank&#039;s web page or some con-artist. At this point, you realize that things aren&#039;t simple. But that&#039;s just the normal process, we&#039;re trying to build a browser for a mobile device with a small screen. Then along comes a user interface designer who tries to &amp;quot;simplify things&amp;quot;, you don&#039;t need to &amp;quot;waste&amp;quot; space on that lock icon, right? Someone asks &amp;quot;why aren&#039;t you protecting me from phishing?&amp;quot; Then someone says &amp;quot;you just cost me 200 CAD in data charges&amp;quot;. Balancing requests for features, space for user interface, and practical concerns is hard. Come listen to stories about some of the requests, decisions, and constraints. &lt;br /&gt;
*Additional Information (optional)&lt;br /&gt;
: Presentation day must be Friday or Sunday.&lt;br /&gt;
*Author bio&lt;br /&gt;
: timeless has been working on Mozilla for 10 years in various areas, including Embedding, User Interface, Localization and Security. For the past 3 1/2 years, at Nokia working on the Maemo Browser (code name: [[MicroB|MicroB]]).&lt;br /&gt;
&lt;br /&gt;
Yes from me. --[[User:vdvsx| Valério Valério]] 08:58, 25 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Let&#039;s see what space we have left on Sunday. --[[User:dneary|Dave Neary]] 19:33, 31 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No - prefer &amp;quot;Browser for power users&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Mobile Widget Development and Trends ===&lt;br /&gt;
*Author: [http://maemo.org/profile/view/rajeshlal Rajesh Lal], rajesh.lal at nokia dot com&lt;br /&gt;
*Intended audience: Widget Developers/Mobile Application Developers&lt;br /&gt;
*Talk type: Presentation/Demo&lt;br /&gt;
*Abstract/description&lt;br /&gt;
: A presentation on Mobile Widget Development, and how Maemo platform distinguishes itself with Common Web Runtime and QT, and provides a strong foundation for Mobile Developers across the World.&lt;br /&gt;
&lt;br /&gt;
: This presentation is not about QT or WRT, this is about the over used term Widget, in a global term, what is the history, what is a web widget, a mobile widget, and what are the technology stack available out there for widget development. and How Maemo distingushes itself with QT and WRT. &lt;br /&gt;
&lt;br /&gt;
*Benefit to Maemo Developers&lt;br /&gt;
: Clear understanding of the Overused Term Widget &lt;br /&gt;
: Know about Web Widgets and Mobile Widgets &lt;br /&gt;
: Understand the Current Trends in Mobile Development &lt;br /&gt;
: See the Definite Advantage of Maemo Platform for Widget Development&lt;br /&gt;
: Gain knowledge about Common Web Runtime and QT&lt;br /&gt;
: Learn about Widget Development in Maemo 5 and Future Maemo Devices&lt;br /&gt;
&lt;br /&gt;
*Author bio&lt;br /&gt;
: Rajesh lal is a Nokia Research Engineer, Author, Technology Evangelist, and a Developer based in Mountain View, California. He has been involved in Widget development for last 5 years and have authored two books on Gadgets, and Widgets, namely Creating Vista Gadgets from Sams Publication and Professional Web Widgets by Wrox Publications. Rajesh holds a Master&#039;s degree in Computer Science, is a Code Project MVP and an Active member of ACM with experience in a variety of Mobile devices, namely Sony Mylo, Window&#039;s Mobile, Apple&#039;s Iphone, and Maemo devices.&lt;br /&gt;
&lt;br /&gt;
We already have a Common Web Runtime presentation and also QT ones, what does this presentation cover that isn&#039;t covered elsewhere? -- [[User:baloo|baloo]] 13:37, 26 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Baloo, This presentation is not about QT or WRT, this is about the Widget in a global term, what is the history, what is web widget, mobile widget, and what are the technology stack available out there for widget development. How Maemo distingushes itself with QT and WRT. This presentation is about, How Maemo caters to both performance hungry developers (Qt) as well as the omnipresent web developers (WRT) as compared to other mobile development environment. --[[User:rajeshlal| Rajesh Lal]] 21:27, 29 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
On the basis of the above information, it seems a interesting presentation for me, I&#039;m going to say yes to this. --[[User:vdvsx| Valério Valério]] 21:49, 30 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
There is already a presentation on QT development for Harmatan and Maemo on Friday, plus several presentations on developing Qt applications in teh community days, plus the &amp;quot;Hildon toolkit for Fremantle&amp;quot; presentation, plus the Qt mobility talk. That seems like a lot of overlap to me. I vote no. --[[User:dneary|Dave Neary]] 19:33, 31 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Dave, This presentation is not about Qt, but is about the overused term Widget itself, along with the current trends in mobile development. Qt and WRT is the Maemo&#039;s answer, but why this is better than others needs a context, this presentation covers that, by giving a comparison to Android, Palm Pre, iPhone and Windows Mobile, and by showing the different kinds of technologies used for designing, developing and packaging widgets.--[[User:rajeshlal| Rajesh Lal]] 21:49, 1 September 2009 (UTC)&lt;br /&gt;
: Thanks for the update Rajesh. I&#039;m going to vote no on this proposal. We&#039;re running out of space on the schedule, and I don&#039;t think that a talk on trends in mobile platforms will be particularly interesting to the maemo.org public we&#039;re expecting to attend. --[[User:dneary|Dave Neary]] 15:39, 3 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== WebKit Community: How It Works ===&lt;br /&gt;
&lt;br /&gt;
*Ariya Hidayat, ariya dot hidayat at nokia dot com&lt;br /&gt;
*Intended audience: application developers&lt;br /&gt;
*Talk type: introduction and workshop&lt;br /&gt;
*Abstract/description&lt;br /&gt;
: WebKit has evolved over time into one of the most compelling HTML rendering engine currently in use. As an open-source project it stands out because of its size and because of the special collaboration between volunteer developers and companies. &lt;br /&gt;
: This presentation is not so much a presentation in the classic sense but planned as an introduction to the team rules of the WebKit project, e.g. how to create patches, ask for review, get in contact with the developer, etc. It will be followed by an extended question and answers session that should cover the most important and mots common questions.&lt;br /&gt;
&lt;br /&gt;
*Author bio&lt;br /&gt;
: Ariya is a software engineer at Nokia, Qt Development Frameworks in Oslo. He is an open-source advocate for almost a decade, writing code for projects like KDE, WebKit and of course Qt. He posts lots of examples for Qt Labs Blogs on a biweekly basis, under the pretext of attracting more developers to use Qt (and hopefully grabbing the Most Prolific Blogger award). Ariya obtained his PhD in the field of high-speed optical communications. He speaks English with an Asian accent and cannot play any musical instruments.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No - there is already a Webkit talk&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== ContextKit - context awareness for Maemo and everybody else ===&lt;br /&gt;
&lt;br /&gt;
Yes. --[[User:vdvsx|Valério Valério]] 10:24, 17 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Yes. --[[User:dneary|Dave Neary]] 10:23, 18 September 2009 (UTC)&lt;br /&gt;
: After consultation, there are more interesting and general presentations which would be better in this place --[[User:dneary|Dave Neary]] 16:53, 21 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Yes. --[[User:baloo|baloo]] 19:28, 20 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Author: Marius Vollmer &amp;lt;marius.vollmer@nokia.com&amp;gt;&lt;br /&gt;
*Intended audience: application developers/platform developers)&lt;br /&gt;
*Type: presentation&lt;br /&gt;
*Abstract&lt;br /&gt;
A lot of information is available from sensors and other sources that can make applications more &#039;aware&#039; of the situation that a mobile device is in. The current location is an obvious example.&lt;br /&gt;
&lt;br /&gt;
A new ContextKit collects these information about the environment of a device, combines many of them into something more abstract and exports it all in the form of simple key/value pairs to applications and other consumers. A long list of &#039;standard&#039; properties is defined.&lt;br /&gt;
&lt;br /&gt;
This presentation introduces the ContextKit to application and platform developers.&lt;br /&gt;
&lt;br /&gt;
*Author bio:&lt;br /&gt;
Marius moved to Helsinki some uncounted years ago to work for Nokia on the Maemo platform. Now he has to re-learn C++ and compensates for this by finally learning Perl as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Money for nothing: Making money off free software ===&lt;br /&gt;
*Dave Neary, dneary at maemo dot org&lt;br /&gt;
*Intended audience: Application developers mostly&lt;br /&gt;
*Talk type: Presentation&lt;br /&gt;
*Abstract/description&lt;br /&gt;
: So how &#039;&#039;do&#039;&#039; you make money with free software? If you can&#039;t sell it, and anyone can compete with you for maintenance and support contracts, how do you make a living?&lt;br /&gt;
: This presentation will go over the basic economics of making money off free stuff, and give a bunch of ideas about useful ways to make a living doing what you love.&lt;br /&gt;
&lt;br /&gt;
*Author bio&lt;br /&gt;
: Dave Neary has participated in many free software projects over the years. He was release manager of the GIMP, chairman of the GNOME Foundation, and community and product manager for the OpenWengo project. He is currently the maemo.org Docmaster, a role where he works to enable the Maemo community to do great work, and an independent consultant helping companies work with and create healthy communities.&lt;br /&gt;
&lt;br /&gt;
==Related Links:==&lt;br /&gt;
&lt;br /&gt;
[http://www.lindaolsson.com/&#039;&#039;&#039;palm beach condos&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Presentation withdrawn by proposer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Midgard2: Content repository for your tablet and the web ===&lt;br /&gt;
&lt;br /&gt;
The proposal description only explains what is Midgard, isn&#039;t clear what approach will be taken in the talk. I would like to see a more detailed description, referring the topics that will be discussed in the talk. --[[User:vdvsx| Valério Valério]] 13:35, 14 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Agreed. Is this going to be a Midgard talk or how we can do cool stuff with  Midgard and the tablets? --[[User:baloo|baloo]] 13:47, 14 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
I agree with the call for more detail on what the thrust of the presentation will be. --[[User:dneary|Dave Neary]] 19:33, 31 August 2009 (UTC)&lt;br /&gt;
: We&#039;re looking like we&#039;ll be filling up lightning talks too. Let&#039;s just say no to this one. --[[User:dneary|Dave Neary]] 10:23, 18 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Author: Henri Bergius, henri.bergius at iki dot fi&lt;br /&gt;
*Intended audience: Application Developers&lt;br /&gt;
*Talk type: presentation&lt;br /&gt;
*Abstract/description&lt;br /&gt;
: Midgard2 is an Open Source Content Repository providing an objectified view to the data and services surrounding it. At the basic level it abstracts the database access (SQLite, MySql, PostgreSQL) but this is only where it all starts. Serialization &amp;amp; replication, managing own storage objects, multi-process access to data are all covered. The fully object-oriented (GObject-oriented) API allows you to focus on the data, not the database syntax, regardless of what programming language you are working with. Midgard&#039;s content repository services allow you to easily write applications that keep their data synchronized between tablets, web and user&#039;s desktop computers.&lt;br /&gt;
&lt;br /&gt;
*Author bio&lt;br /&gt;
: Henri Bergius is a former Viking based in the Nordic country of Finland. When he is not exploring the cave cities of Georgia or running with bulls in Pamplona, Bergie works on web services built on top of the Midgard toolkit. His company Nemein provides web solutions for several major companies in Finland and abroad. After half decade of regular web development, Henri got involved with free software in 1999 when he coordinated the public release of the Midgard content management system. Since then he has been actively working on integrating standards like RSS and Microformats into the system and traveling the world advocating for interoperation between open source CMSs. Henri&#039;s current passion is combining web services, mobile applications and socially produced geographical data together to build useful tools for travelers and mobile companies. To this end he is working on the GeoClue library that allows mobile Linux applications to easily become geo-aware. When duties allow, Bergie escapes the crunch to explore the hills of Lapland or rides his classic motorcycle. He is also an amateur pilot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Qt 4.6: What is comming ===&lt;br /&gt;
&lt;br /&gt;
Already addressed in other Qt talks. No.  --[[User:vdvsx|Valério Valério]] 10:25, 17 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
No. --[[User:dneary|Dave Neary]] 10:23, 18 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
No. --[[User:baloo|baloo]] 19:35, 20 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Authors: Anselmo Lacerda Silveira de Melo - anselmo.melo AT openbossa DOT org / Jesus Sanchez-Palencia jesus.palencia AT openbossa DOT org&lt;br /&gt;
* Intended audience: application developers&lt;br /&gt;
* Talk type: presentation&lt;br /&gt;
* Abstract/description&lt;br /&gt;
&lt;br /&gt;
The next release of Qt is comming with brand new features, such as the State Machine Framework, the Animations API, S60 port, Scoped Pointers, Anchor Layout, performance optimizations in QGraphicsView, Multi-touch Gestures, Audio Services, GraphicsEffects, etc. The goal of the talk is to provide an overview of the benefits of each new feature and how they shall change the development of Qt applications. &lt;br /&gt;
Also, some applications will be shown, running on Maemo 5 and S60, demonstrating how cross-platform Qt can be and what is ready for the new generation of Maemo devices.&lt;br /&gt;
&lt;br /&gt;
* Author bio&lt;br /&gt;
Anselmo is a GNU/Linux user since 2002, works with Linux on embedded devices since 2006. Works for INdT as a researcher at the openBossa open-source stream, where develops rich UIs features for Qt and is also part of the Qt Labs Americas initiative. Whenever possible, he likes hunting bugs with the KDE Bugsquad.&lt;br /&gt;
&lt;br /&gt;
Jesus works with Maemo since 2007, besides other embedded Linux projects since 2006. Has contributions to the ERESI project (Elf Reverse Engineering Software Interface), and nowadays works at openBossa, INdT open-source stream, where develops rich UIs features for Qt and is also part of the Qt Labs Americas initiative.&lt;br /&gt;
&lt;br /&gt;
=== Spreading Qt in the New World ===&lt;br /&gt;
&lt;br /&gt;
Not directly related to Maemo, and we already have other Qt talks approved. No. --[[User:vdvsx|Valério Valério]] 10:27, 17 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
No. --[[User:dneary|Dave Neary]] 10:23, 18 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
No. --[[User:baloo|baloo]] 19:35, 20 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Author: Anselmo Lacerda Silveira de Melo - anselmo.melo AT openbossa DOT org&lt;br /&gt;
* Intended audience: Users / Application Developers&lt;br /&gt;
* Talk type: lightning talk&lt;br /&gt;
* Abstract/description&lt;br /&gt;
&lt;br /&gt;
An introduction to Qt Labs Americas (http://qtlabs.openbossa.org), an initiative of openBossa stream of INdT aiming to spread Qt in the American continent, starting in Brazil. What have been done, what are the future plans and how the community can benefit from it.&lt;br /&gt;
&lt;br /&gt;
* Author bio&lt;br /&gt;
&lt;br /&gt;
GNU/Linux user since 2002, works with Linux on embedded devices since 2006. Works for INdT as a researcher at the openBossa open-source stream where develops rich UIs features for Qt and is also part of the Qt Labs Americas initiative. Whenever possible, he likes hunting bugs with the KDE Bugsquad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Next generation layouts in Qt 4.6 ===&lt;br /&gt;
&lt;br /&gt;
Not sure, seems relevant, but this will not be explained in the other Qt talks ? --[[User:vdvsx|Valério Valério]] 10:30, 17 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
No. --[[User:dneary|Dave Neary]] 10:23, 18 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Space dictates, no. --[[User:baloo|baloo]] 19:36, 20 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Next generation layouts in Qt 4.6 ===&lt;br /&gt;
&lt;br /&gt;
* Author: Caio Marcelo de Oliveira Filho - caio.oliveira AT openbossa.org&lt;br /&gt;
* Author: Eduardo M. Fleury - eduardo.fleury AT openbossa.org&lt;br /&gt;
* Intended audience: Users / Application Developers&lt;br /&gt;
* Talk type: presentation&lt;br /&gt;
* Abstract/description&lt;br /&gt;
&lt;br /&gt;
With the release of N900, the first Maemo phone from Nokia, the&lt;br /&gt;
importance of developing rich UI applications is higher than ever.&lt;br /&gt;
As a consequence, new challenges are posed to both application&lt;br /&gt;
and framework developers.&lt;br /&gt;
&lt;br /&gt;
One of these challenges is how to distribute items on the screen&lt;br /&gt;
in a flexible and dynamic way. This talk will present the next&lt;br /&gt;
generation layouts we have been developing, together with Qt&lt;br /&gt;
Development Frameworks, to fullfil such requirements&lt;br /&gt;
&lt;br /&gt;
We will cover the new QGraphicsAnchorLayout, to be released in&lt;br /&gt;
Qt 4.6, including the use cases that drove us, its usage and&lt;br /&gt;
examples showing the benefits of such technology.&lt;br /&gt;
&lt;br /&gt;
* Author bio&lt;br /&gt;
&lt;br /&gt;
Caio Marcelo de Oliveira Filho graduated in computer engineering at&lt;br /&gt;
UNICAMP (in Brazil) and GNU/Linux user for more than a decade.&lt;br /&gt;
Contributed to the development of Canola2 and the Enlightenment&lt;br /&gt;
Foundation Libraries. Today works for Openbossa/INdT developing new&lt;br /&gt;
solutions for mobile applications using Qt framework and related&lt;br /&gt;
technologies.&lt;br /&gt;
&lt;br /&gt;
Eduardo Fleury is Brazilian, graduated as Computer Engineer at Unicamp, in 2006. Since then has been working in Linux-related projects. Currently works at INdT (Nokia Institute of Technology) developing, among other projects, the Qt framework. Has been working on tools designed for the creation of rich interfaces, including AnchorLayout and animated Layouts.&lt;br /&gt;
&lt;br /&gt;
=== Test framework tool for Maemo devices ===&lt;br /&gt;
&lt;br /&gt;
No. Limited interest, and we already have many tools talks. --[[User:dneary|Dave Neary]] 10:23, 18 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
No. --[[User:vdvsx|Valério Valério]] 18:11, 19 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
No. --[[User:baloo|baloo]] 19:36, 20 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
*Author: Carlos Aguiar - carlos.aguiar@indt.org.br, Fabio Almeida - fabio.almeida@indt.org.br, Luiz Nagata - luiz.nagata@indt.org.br and Jyrki Sippola - jyrki.sippola@nokia.com&lt;br /&gt;
*Intended audience: users/platform developers&lt;br /&gt;
*Talk type: presentation/demo&lt;br /&gt;
*Abstract/description:&lt;br /&gt;
: Companies usually develop their own tools for test and monitoring consoles directly into their products but these applications tools, in general, do not go out of production place and are not deployed for platform developers and  final consumers. These solutions are closed and just for company use. The open source community provides many tools to test different functionalities like keyboard, display, wi-fi and so on, but they do not work together as an integrated solution. &lt;br /&gt;
: The proposal is to integrate different functional tests into a test framework tool for Maemo devices. This framework will be able to communicate with different test applications, control them, gather information and report status results, helping developers and users to identify problems, perform reliability tests and gather statistics. Also, it will be possible to extend this framework to support new test types.&lt;br /&gt;
: For demo presentation purposes the framework will run the following functional tests: keyboard, camera, audio, display and wi-fi.&lt;br /&gt;
*Author bio:&lt;br /&gt;
: Carlos, Fábio and Luiz are software developers at Nokia Technology Institute (INdT)  at Manaus/Brazil working with Linux, Maemo and device tests. Currently we are involved on project that aims to build software solutions to guarantee quality on devices. Jyrki is responsible for manufacturing test related research projects at Nokia.&lt;br /&gt;
&lt;br /&gt;
=== Designing Emulators for Mobile Devices ===&lt;br /&gt;
&lt;br /&gt;
I would like to have it, since is a very different topic, and seems fun for me, but I have doubts about the expected audience. --[[User:vdvsx|Valério Valério]] 16:25, 4 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
As agreed on IRC, with the few presentation slots left, this talk doesn&#039;t stand out at all. No from me - although it&#039;d be a nice lightning talk. --[[User:dneary|Dave Neary]] 16:29, 4 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No - propose lightning talk&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On the second thought, I think it can be safely expanded to a more general topic of &#039;&#039;Writing and Optimizing Software for Mobile Devices&#039;&#039;. Will this topic be of more interest to the audience? &lt;br /&gt;
--[[User:fms|Marat Fayzullin]]&lt;br /&gt;
&lt;br /&gt;
Marat, are you interested in a lightning talk? I don&#039;t think that we&#039;ll reconsider your alternative topic. --[[User:dneary|Dave Neary]] 15:26, 9 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
I can probably compress the talk down to 15-20 minutes, but 5 minutes allocated for lightning talks are not going to suffice however I arrange the talk. --[[User:fms|Marat Fayzullin]]&lt;br /&gt;
: I guess we need to give you a straight yes/no then on whether the talk is accepted. --[[User:dneary|Dave Neary]] 18:10, 19 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Lightning talk + &amp;quot;come chat later if your interested&amp;quot; - yes, longer talk, no. --[[User:baloo|baloo]] 19:32, 20 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Marat Fayzullin - RST38h on #maemo &lt;br /&gt;
*Intended audience: application developers&lt;br /&gt;
*Talk type: presentation&lt;br /&gt;
*Abstract/description&lt;br /&gt;
: Computer system emulation has been known for years. Recent revolution in mobile hardware makes it possible to run usable emulators on mobile devices, but some problems still remain. Limited performance, lack of proper controls, and widely varying screen sizes make it difficult to provide users with proper experience. This presentation will describe how the above problems can be worked around.&lt;br /&gt;
*Author bio&lt;br /&gt;
: Marat Fayzullin is an independent application developer specializing in software emulation of computer hardware. He has authored and maintains eight different emulators (some free, others commercial) for multiple platforms, from MSDOS to Maemo and Symbian. See http://fms.komkon.org/ for details.&lt;br /&gt;
&lt;br /&gt;
=== Developing applications using Plasma ===&lt;br /&gt;
* Artur Duque de Souza - asouza AT kde DOT org / morpheuz AT gmail DOT com&lt;br /&gt;
* Intended audience: application developers&lt;br /&gt;
*Talk type: presentation&lt;br /&gt;
*Abstract/description&lt;br /&gt;
&lt;br /&gt;
: KDE4 brought a new concept of desktop called &amp;quot;Plasma&amp;quot; where everything is a &amp;quot;live object&amp;quot;. To achieve this, a library called libplasma was created and this is a very powerful library that enables any application to create modular and rich UIs. During this presentation I&#039;ll talk more about libplasma and how it can help the developer to create more attractive and rich UIs easily.&lt;br /&gt;
&lt;br /&gt;
*Author bio&lt;br /&gt;
&lt;br /&gt;
: Linux user since 1997, MoRpHeUz (a.k.a. Artur de Souza) worked for IBM (Linux Technology Center) and currently is working for INdT as a researcher at the openBossa stream, developing open-source solutions for mobile devices. One of the main core developers of Canola 2, now he works on bringing rich UIs to Qt applications.&lt;br /&gt;
&lt;br /&gt;
=== PySide: Python for Qt And Automatic Bindings Generation ===&lt;br /&gt;
&lt;br /&gt;
* Marcelo Lira dos Santos - marcelo.lira@openbossa.org - setanta on #maemo&lt;br /&gt;
* Intended audience: application developers/platform developers&lt;br /&gt;
* Talk type: presentation&lt;br /&gt;
* Abstract/description:&lt;br /&gt;
: The Python bindings for the Maemo Platform provided by PyMaemo are an all-time favorite among the Maemo developer community. Python must keep up with the recent addition of Qt to the Nokia offering for Maemo developers.&lt;br /&gt;
: PySide are the Python bindings for Qt framework developed by INdT (Instuto Nokia de Tecnologia) [http://www.indt.org.br], and recently released under a LGPL license. The PySide [http://www.pyside.org] bindings target not only the desktop but were conceived to provide Qt for Python on the Maemo platform.&lt;br /&gt;
: Qt being a huge library, the task of creating bindings for any high level language must be automated as much as possible, while retaining the developer ability to adjust details to satisfy the particular target language demands. To tackle this problem, a binding generator for Python was developed based on QtScript Generator from Qt Development Frameworks. Developers of bindings for other Qt-based libraries could also benefit of this automated generation scheme.&lt;br /&gt;
: This talk will present PySide, describe its characteristics, show its current status on Maemo Platform and where the project is headed to. The binding generation tool will also be explained, as well as the common problems that arise when wrapping C++ libraries to high level languages such as Python.&lt;br /&gt;
&lt;br /&gt;
*Author bio&lt;br /&gt;
: Marcelo is an active developer of PySide and PyMaemo projects at INdT and has been involved with Maemo apps development since N800. Nowadays he is working with automatic binding generation for C++ based libraries, like Qt.&lt;/div&gt;</summary>
		<author><name>203.177.74.138</name></author>
	</entry>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=PyMaemo/Accessing_APIs_without_Python_bindings&amp;diff=33240</id>
		<title>PyMaemo/Accessing APIs without Python bindings</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=PyMaemo/Accessing_APIs_without_Python_bindings&amp;diff=33240"/>
		<updated>2010-05-07T00:29:27Z</updated>

		<summary type="html">&lt;p&gt;203.177.74.138: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
There are many libraries written in C that do not have native Python bindings yet. In Maemo, one of such libraries is libosso-abook, which manipulates the address book on Maemo devices.&lt;br /&gt;
&lt;br /&gt;
While a full binding is very useful, in most cases you need to use just a couple of functions and data structures to get your work done. Instead of waiting for a binding to be implemented, you can use Python&#039;s &amp;lt;code&amp;gt;ctypes&amp;lt;/code&amp;gt; module, which allows to directly call functions and access data structures from C libraries.&lt;br /&gt;
&lt;br /&gt;
This document will explain how to do call C library functions using &amp;lt;code&amp;gt;ctypes&amp;lt;/code&amp;gt;, using mainly libosso-abook as an example. The idea has been borrowed from [http://hermes.garage.maemo.org/ Hermes] application source code, which in turn is based on the trick described on the [http://faq.pygtk.org/index.py?req=show&amp;amp;file=faq23.041.htp PyGTK FAQ].&lt;br /&gt;
&lt;br /&gt;
This document is not meant to be a complete &amp;lt;code&amp;gt;ctypes&amp;lt;/code&amp;gt; guide; for that, be sure to read the [http://docs.python.org/library/ctypes.html official API documentation]. It is assumed that you have read that document before continuing.&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
&lt;br /&gt;
Let&#039;s say you want to use printf() from the GNU C Library. All you need in Python is:&lt;br /&gt;
&lt;br /&gt;
 import ctypes&lt;br /&gt;
 libc = ctypes.CDLL(&#039;libc.so.6&#039;)&lt;br /&gt;
 libc.printf(&#039;Hello world!&#039;)&lt;br /&gt;
&lt;br /&gt;
In a few words, you create an object correspondent to the library you need and use it to call the function directly. You can also store the functions in plain python objects to use them easily later:&lt;br /&gt;
&lt;br /&gt;
 c_printf = libc.printf&lt;br /&gt;
 c_printf(&#039;Hello libc&#039;)&lt;br /&gt;
&lt;br /&gt;
Remember that those are C functions, not Python ones, so you must supply arguments of the correct type to avoid undefined behavior (such as segmentation faults). As an example, if an integer is passed to the above function, you get&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; c_printf(1)&lt;br /&gt;
 Segmentation fault (core dumped)&lt;br /&gt;
&lt;br /&gt;
== Initializing libosso-abook ==&lt;br /&gt;
&lt;br /&gt;
libosso-abook needs to be initialized by calling [http://maemo.org/api_refs/5.0/5.0-final/libosso-abook/libosso-abook-osso-abook-init.html#osso-abook-init osso-abook-init()]. This is similar to the example above, but a little more complex because the function takes three pointers: argc, argv and the OSSO context. First of all, you must create a osso.Context instance using the &amp;quot;osso&amp;quot; module (provided python-osso):&lt;br /&gt;
&lt;br /&gt;
 import osso&lt;br /&gt;
 &lt;br /&gt;
 osso_ctx = osso.Context(&amp;quot;test_abook&amp;quot;, &amp;quot;0.1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Note: there is no documentation for python-osso yet, so see the C documentation for [http://maemo.org/api_refs/5.0/5.0-final/libosso/group__Init.html#g05d45d1e72c2cd74f665086225141431 osso_initialize()] for details about osso.Context() arguments. Note that only &amp;quot;application&amp;quot; and &amp;quot;version&amp;quot; attributes are used in Python.&lt;br /&gt;
&lt;br /&gt;
Next, load and initialize libosso-abook library:&lt;br /&gt;
&lt;br /&gt;
 import sys&lt;br /&gt;
 import ctypes&lt;br /&gt;
 # be sure to import gtk before calling osso_abook_init()&lt;br /&gt;
 import gtk&lt;br /&gt;
 &lt;br /&gt;
 osso_abook = ctypes.CDLL(&#039;libosso-abook-1.0.so.0&#039;)&lt;br /&gt;
 argv_type = ctypes.c_char_p * len(sys.argv)&lt;br /&gt;
 argv = argv_type(*sys.argv)&lt;br /&gt;
 argc = ctypes.c_int(len(sys.argv))&lt;br /&gt;
 osso_abook.osso_abook_init(ctypes.byref(argc), ctypes.byref(argv), hash(osso_ctx))&lt;br /&gt;
&lt;br /&gt;
The byref() function returns a pointer to the given data. The hash() function returns the memory address of the argument.&lt;br /&gt;
&lt;br /&gt;
== Calling a Function Which Returns a GObject ==&lt;br /&gt;
&lt;br /&gt;
Every GObject instance created by a C library must have a corresponding Python object, so that it can be manipulated on Python code. This object, which acts like a &amp;quot;wrapper&amp;quot; around the C pointer, is created using the pygobject_new() C function. Unfortunately, pygobject_new() is not a plain function, but a macro which points to a function pointer in a struct (see /usr/include/pygtk-2.0/pygobject.h on the &amp;quot;#define pygobject_new ...&amp;quot; line), making it a little more complex to be called from Python. The snippet of code below, borrowed from [http://faq.pygtk.org/index.py?req=show&amp;amp;file=faq23.041.htp PyGTK FAQ], will take care of this:&lt;br /&gt;
&lt;br /&gt;
 # ctypes wrapper for pygobject_new(), based on code snippet from&lt;br /&gt;
 # http://faq.pygtk.org/index.py?req=show&amp;amp;file=faq23.041.htp&lt;br /&gt;
 class _PyGObject_Functions(ctypes.Structure):&lt;br /&gt;
     _fields_ = [&lt;br /&gt;
         (&#039;register_class&#039;,&lt;br /&gt;
             ctypes.PYFUNCTYPE(ctypes.c_void_p, ctypes.c_char_p,&lt;br /&gt;
             ctypes.c_int, ctypes.py_object, ctypes.py_object)),&lt;br /&gt;
         (&#039;register_wrapper&#039;,&lt;br /&gt;
             ctypes.PYFUNCTYPE(ctypes.c_void_p, ctypes.py_object)),&lt;br /&gt;
         (&#039;register_sinkfunc&#039;,&lt;br /&gt;
             ctypes.PYFUNCTYPE(ctypes.py_object, ctypes.c_void_p)),&lt;br /&gt;
         (&#039;lookupclass&#039;,&lt;br /&gt;
             ctypes.PYFUNCTYPE(ctypes.py_object, ctypes.c_int)),&lt;br /&gt;
         (&#039;newgobj&#039;,&lt;br /&gt;
             ctypes.PYFUNCTYPE(ctypes.py_object, ctypes.c_void_p)),&lt;br /&gt;
     ]&lt;br /&gt;
 &lt;br /&gt;
 class PyGObjectCPAI(object):&lt;br /&gt;
     def __init__(self):&lt;br /&gt;
         import gobject&lt;br /&gt;
         py_obj = ctypes.py_object(gobject._PyGObject_API)&lt;br /&gt;
         addr = ctypes.pythonapi.PyCObject_AsVoidPtr(py_obj)&lt;br /&gt;
         self._api = _PyGObject_Functions.from_address(addr)&lt;br /&gt;
 &lt;br /&gt;
     def pygobject_new(self, addr):&lt;br /&gt;
         return self._api.newgobj(addr)&lt;br /&gt;
&lt;br /&gt;
Adding this to your code, you will be able to create Python objects from an arbitrary GObject pointer, simply using something like:&lt;br /&gt;
&lt;br /&gt;
 capi = PyGObjectCPAI()&lt;br /&gt;
 c_obj = c_function_returning_gobject(...)&lt;br /&gt;
 obj = capi.pygobject_new(c_obj)&lt;br /&gt;
&lt;br /&gt;
== Creating a OssoABookContactChooser Instance ==&lt;br /&gt;
&lt;br /&gt;
As an example of a GObject instantiation, let&#039;s call the osso_abook_contact_chooser_new() constructor from Python, which creates a &amp;quot;contact chooser&amp;quot; dialog useful to select one of more contacts:&lt;br /&gt;
&lt;br /&gt;
 capi = PyGObjectCPAI()&lt;br /&gt;
 c_chooser = osso_abook.osso_abook_contact_chooser_new(None, &amp;quot;Choose a contact&amp;quot;)&lt;br /&gt;
 chooser = capi.pygobject_new(c_chooser)&lt;br /&gt;
&lt;br /&gt;
After this, you can use &amp;lt;code&amp;gt;chooser&amp;lt;/code&amp;gt; like any other GObject in Python, including calling inherited methods:&lt;br /&gt;
&lt;br /&gt;
 chooser.run()&lt;br /&gt;
 chooser.hide()&lt;br /&gt;
&lt;br /&gt;
== Accessing Items in a GList ==&lt;br /&gt;
&lt;br /&gt;
Once the &amp;quot;contact chooser&amp;quot; dialog has run, you can get the selected contacts using:&lt;br /&gt;
&lt;br /&gt;
 contacts = osso_abook.osso_abook_contact_chooser_get_selection(c_chooser)&lt;br /&gt;
&lt;br /&gt;
Note that you must pass the &amp;lt;b&amp;gt;C Pointer&amp;lt;/b&amp;gt; to [http://maemo.org/api_refs/5.0/5.0-final/libosso-abook/OssoABookContactChooser.html#osso-abook-contact-chooser-get-selection osso_abook_contact_chooser_get_selection()], not the Python object.&lt;br /&gt;
&lt;br /&gt;
the &amp;lt;code&amp;gt;contacts&amp;lt;/code&amp;gt; variable now holds a GList pointer. In order to access the items stored on this list, you need some Python code:&lt;br /&gt;
&lt;br /&gt;
 glib = ctypes.CDLL(&#039;libglib-2.0.so.0&#039;)&lt;br /&gt;
 def glist(addr):&lt;br /&gt;
     class _GList(ctypes.Structure):&lt;br /&gt;
         _fields_ = [(&#039;data&#039;, ctypes.c_void_p),&lt;br /&gt;
                     (&#039;next&#039;, ctypes.c_void_p)]&lt;br /&gt;
     l = addr&lt;br /&gt;
     while l:&lt;br /&gt;
         l = _GList.from_address(l)&lt;br /&gt;
         yield l.data&lt;br /&gt;
         l = l.next&lt;br /&gt;
&lt;br /&gt;
This function uses the yield statement to construct a so called [http://docs.python.org/tutorial/classes.html#generators generator]. The actual GList manipulation is made using functions from libglib library. This generator makes it very easy to iterate over the items:&lt;br /&gt;
&lt;br /&gt;
 for i in glist(contacts):&lt;br /&gt;
     get_display_name = osso_abook.osso_abook_contact_get_display_name&lt;br /&gt;
     get_display_name.restype = ctypes.c_char_p&lt;br /&gt;
     print &amp;quot;%s\n&amp;quot; % get_display_name(i)&lt;br /&gt;
&lt;br /&gt;
Here, we use [http://maemo.org/api_refs/5.0/5.0-final/libosso-abook/OssoABookContact.html#osso-abook-contact-get-display-name osso_abook_contact_get_display_name()] to get the contact&#039;s display name, but you can call virtually any function using the same approach.&lt;br /&gt;
&lt;br /&gt;
Once you are done with the GList manipulation, you should free its memory:&lt;br /&gt;
&lt;br /&gt;
 glib.g_list_free(contacts)&lt;br /&gt;
&lt;br /&gt;
== Final Words ==&lt;br /&gt;
&lt;br /&gt;
This document purpose is to give a basic understanding necessary to use ctypes to explore C libraries, specially ones that manipulate GObject. Notably, we do not describe how to define callbacks, but this is left as an exercise for the reader. Again, be sure to read the [http://docs.python.org/library/ctypes.html#callback-functions ctypes documentation] if you are interested in more advanced techniques.&lt;br /&gt;
&lt;br /&gt;
==Related Links:==&lt;br /&gt;
&lt;br /&gt;
[http://www.bodybuildingrevealed.com/&#039;&#039;&#039;body building&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
See also more usage examples [[/More examples|here]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>203.177.74.138</name></author>
	</entry>
</feed>