15th Summer School on Telecommunications

Code Camp

Code Camp is aimed mainly at students interested in software development. The Camp begins on Thursday evening and lasts for the following 24 hours. It includes 24 hours of intensive programming.

This years Code Camp concentrates on Nokia 770 Internet Tablet and Maemo. Maemo is a development platform to create applications for the Nokia 770 Internet Tablet and other maemo compliant handheld devices. More information can be found from www.maemo.org.

Please bring your own sleeping bags and towels! Sauna and some snacks will be provided. If you have a personal laptop, we suggest that you take it with you as you will be working in teams.

Extra for students: 2 credit points for active participation during the 3 day event. Requires returned programming assignment and a half-page report of each presentation of the Summer School. The work done in the code camp will be evaluated after the code camp. All reports on the presentations must be returned no later than one week after the event, August 11th.

Each student must sign up in order to get the credits. This must be done during Wednesday morning at the info-desk.

The best work done during the code camp (based on application, idea or implementation) will be awarded.


The Winner of Maemo Code Camp arranged in conjunction of the 15th Summer School on Telecommunications is RonAmp. Congratulations to team Simo Tuokko, Jani Lehtimäki and Antti Tohmo!

Description of the works (Name, Description by the authors:

  1. joojoopong, a silly pong-game, download
    • Authors Jarkko Palviainen and Ilkka Virta
  2. Languageconverter, A VERY simple and stupidly implemented translator witch uses babelfish.altavista.com
    • Authors Mikko Kuusipalo and Pekka Reijula
  3. GPS_mapper, GPS mapper, download
    • Authors Tero Roininen and Ari Happonen
  4. RonAmp, A Remote Controller for Winamp, requires httpq-plugin, download
    • Authors Simo Tuokko, Jani Lehtimäki and Antti Tohmo


    Submit your work in a single tar/zip package. Upload link


    An example code using python, bthildon.py, is available. It can be used e.g. to obtain data from a GPS device.

    An FAQ for Codecamp 2006 can be found from http://puuh.dyndns.org/~elpuri/maemodev/.

    Further info

    Maemo 2.0 tutorial (workstations in code camp have been installed already with Maemo 2.0 platform, tutorial however shows many important features. Try to modify the "hello world" -program!):


    From the tutorial:

      /scratchbox/sbin/sbox_ctl start
    or simply:
    (start scratchbox cross compilation environment from a shell.)
    ./start-xephyr.sh & 
    (run command to start the window to show graphical 770 emulator. Do not run from scratchbox, but from a separate shell) To start basic Maemo environment, run inside Scratchbox environment:
      [sbox-SDK_PC: ~] > export DISPLAY=:2
    (if not already set in startup scripts (~/.bash_profile)
      [sbox-SDK_PC: ~] > af-sb-init.sh start
    To stop the Maemo GUI, run inside Scratchbox:
      [sbox-SDK_PC: ~] > af-sb-init.sh stop
    If you just want to see, how your application works on the environment, you can run it with the ?run-standalone.sh? script. This will set right environment variables and theme.
      [sbox-SDK_PC: ~] > run-standalone.sh name_of_the_executable
    Now you can compile programs in scratchbox shell and show graphical windows in xephyr.

    Recommended links

    HOW TO: New Application to maemo 2.0

    Python for Maemo tutorials

    Maemo Coding Style and Programming Guidelines

    Maemo Connectivity Architecture

    SDL socket wrapper for maemo
    http://jonatkins.org/SDL_net/ (SDL_net_demos.tar.gz - example codes for previous link)

    We have available

    - 5 workstations (1 / team), which have Maemo environment installed, ethernet, bluetooth and wlan connectivity.
    - two Nokia 770 Internet tablets, which can be used test appliacations out of emulator.
    - two bluetooth GPS receivers
    - bluetooth keyboard & mouse
    - bluetooth ear piece

Laboratory of Communications Engineering