Crypto Stick accepted as Google Summer of Code Mentor Organization

Crypto Stick has been accepted as a mentor organization for Google Summer of Code (GSOC) 2013. If you are a student interested in working on cool crypto stuff, developing a high security system, latest web security or embedded programming – this is for you. You can apply for a project and if accepted the mentors will work with you over the summer and Google will sponsor you 5000 USD during that time.

Please check out the ideas page at https://www.assembla.com/spaces/cryptostick/wiki/Ideas or suggest your own idea.

And, join the mailinglist to discuss it: https://lists.crypto-stick.org/mailman/listinfo/dev

Your applications should be submitted through Google Melange (https://google-melange.com) between March 26 and April 6. Generally, it is better to submit your application early as mentors like to discuss proposals.

Important dates are:

* March 17-25: Would-be student participants discuss application ideas with mentoring organizations.

* March 26, 19:00 UTC: Student application period opens.

* April 6, 19:00 UTC: Student application deadline.

You can continue to submit additional information and comments into the system after your initial application submission. In order to participate in the program, you must be a student in an accredited institution or university.

Links:

* Crypto Stick project: http://crypto-stick.org

* Ideas Page: https://www.assembla.com/spaces/cryptostick/wiki/Ideas

* GSOC Progam F&Q: https://google-melange.appspot.com/gsoc/document/show/gsoc_program/google/gsoc2013/help_page

* Crypto Stick Mailing List: https://lists.crypto-stick.org/mailman/listinfo/dev

* Google Melange: http://google-melange.com

Continue ReadingCrypto Stick accepted as Google Summer of Code Mentor Organization

Google Summer of Code Ideas 2013

FOSSASIA aims to participate in the Google Summer of Code 2013. We are working together with a number of Open Source developers in the region and function as an umbrella for different projects. If FOSSASIA gets accepted, you will find more information about the application procedure for students on this page.

The ideas list below gets updated continuously. So, please check back again later. And: The best ideas are often ideas of students themselves. So, if you have your own idea or small project, please apply for FOSSASIA on the Google Summer of Code website!

If you have questions or feedback, please write to us on the mailing list: http://groups.google.com/group/fossasia

Important dates for students:

April 9 – 21: Would-be student participants discuss application ideas with mentoring organizations.

April 22: 19:00 UTC: Student application period opens.

May 3: 19:00 UTC: Student application deadline.

GSOC Ideas for FOSSASIA

1. Phimpme Android App

This photo app to connect to “any social service” and Open Source CMS is a project of developers from Vietnam. The goal is to make a beautiful app that also works with web systems based on Drupal, Joomla and WordPress. In Google Summer of Code Students can propose a number of projects around the app. The source code of the app is on github here: https://github.com/phimpme

Ideas for student projects:

Project 1: Implement full Google Maps and OpenStreetMap Support

This project also aims to show photos on a web map on a CMS of own choice.

Usefull skills: Android, Maps API, Understanding of Exif data and implementation, Web development, CMS

Project 2: Add support to more social networks and CMS

Phimpme already supports many social networks including many in Asia. Nevertheless there are still other networks popular in some countries. There are also CMS like TYPO3 which are not yet supported. Students can propose support for other services in this project.

Useful skills: Web Api, Android Development, PHP, Python, Ruby on Rails, Knowledge of CMS

 

2. Meilix Linux Distribution

Meilix is a new Linux project aimed to offer users a fast and easy to use Linux desktop, that can be “frozen” and therefore secured. 

Student projects should implement new features. The goal is to offer a simple user interface to freeze the OS up to different levels, e.g. only freeze the system, but not the home directory.

The Meilix System User Lock can be found on Github here: https://github.com/meilix/systemlock 

Usefull skills: Linux development, Python, Shell, Scripting, GUI design, Inkscape, Gimp

 

3. Networking Tools

OpenWrt is a widely used Linux distribution for embedded devices and specifically routers. Large networks consist of hundreds and even thousand of nodes. Administration of routers, e.g. ESSID setting is a long process.

Student Project: Develop Web Interface Administration tool for large numbers of Nodes (routers) for OpenWrt based on kalua

The goal of a student project would be to develop a new web interface to show the status of routers and enable mass administration of devices. The foundations of this have already been developed in the Kalua application: https://github.com/bittorf/kalua#readme

Useful Skills: Linux development, OpenWrt, Embedded devices, Web UI design, Gimp, Inkscape, Lua, Scripting

Links: http://openwrt.org

 

4. Opencoin.org

Open Coins introduce the idea of versatile digital cash which can be used similar to ordinary cash but allows a higher flexibility. The cash is issued by a central service and you can think of it as digital coins which hold a certain denomination. Each coin is basically a long string like 6A09E317F4BCD… which can be stored locally and transferred between customers in a peer-to-peer manner. Actually the central issuer does not perform the transaction itself but is only involved to ensure the validity of the coins and to prevent fraud by double-spending a coin. This approach is based on David Chaum’s blind signature algorithm in which cryptography protects the coins and ensures the anonymity of the customers. This algorithm was invented 1983 and since then has been analyzed exhaustively by cryptographers and proven to be secure. Since our central issuer service is not directly involved in the transfers, coins can be exchanged peer-to-peer via social networks, e-mail, chat, web portals, and even via portable USB drives.

Links:

* https://github.com/FellowTraveler/Open-Transactions/wiki

https://blindbitcoin.com

* http://opencoin.org

Student Project 1:

The goal is to develop a foundation for the issuer service. The issuer service expose a REST API. For the scope of this project it consists of two simple interfaces for demonstration purposes only:

– A GET interface to allow clients to retrieve coins in JSON format

– A POST interface to allow clients to redeem/send coins in JSON format

Optional: Coins are stored in a SQL database (via squeryl library)

Further Requirements:

– Coins have the following structure: case class Coin(type: String, value: Int)

– The deliverable should contain a documentation which describes how the system is deployed to allow future updates of individual software components. For instance in the future a newer Finagle server version may be used and the documentation should describe step by step how to integrate it with the other libraries and the actual source code.

– Source code should be documented as well.

– Test cases should be performed and documented. Optional: ScalaTest may be used for testing.

Usefull skills and technologies: Scala programming language, Twitter’s Finagle server, SBT build tool,  Optional: Eclipse IDE is recommended, Optional: Coins are stored in a SQL database via squeryl library

The following links might be useful to understand Finagle’s REST capabilities:

https://github.com/robi42/heroku-finagle-rogue/blob/master/src/main/scala/server.scala

https://github.com/twitter/finagle/blob/master/finagle-http/src/main/scala/com/twitter/finagle/http/path/Path.scala

 

Other Student Project Ideas

* Implement opencoin client as a smart phone app (e.g. Android, iPhone, Boot to Gecko)

*Implement core opencoin protocol library in JavaScript. It can be migrated from Python.

* Implement an opencoin client using JavaScript and HTML(5)

* Utilize WebGL to do high performance crypto using JavaScript

* Use the available sensors on mobile phones to generate random numbers that are usable for cryptography (e.g: shake your coins)

* Implement the server side of opencoin using your language of choice (e.g. JavaScript + node.js, Python, Java, Scala, C etc.)

* Implement web wallet in your preferred language which allows users to login an manage their coins and payments.

 

5. Linux Games Distro

The developments in this project are useful for a number of Linux Games distribution. The goal is to create a modern and simple design inspired by new user interfaces in smartphones. The implementation of the UI will be for Linux desktops. The advantage of working with traditional desktop technologies rather than Android is that distributions can make use of numerous games that exist in repositories and combine it with a modern interface.

Project Idea: Develop and implement new UI features with LXlauncher

Apart from designing, developing and implementing new features the student should also package the application for major Linux distributions.

LXLauncher 1: http://sourceforge.net/projects/lxde/files/LXLauncher%20%28for%20Asus%20EeePC%29/

LXLauncher 2: https://launchpad.net/lxlauncher

Useful Skills: C++, Linux Development, gtk+, APIs, GUI design, drivers, Packaging

Continue ReadingGoogle Summer of Code Ideas 2013

Meilix System Lock released

We released the first version 0.1 of Meilix System Lock. It is an application that can lock or “freeze” your system.

The application is based on Ofris, but it offers more features like a simple graphic interface to lock or unlock the system. Main developer is Hon Nguyen (Vanhonit) from Vietnam, who started the tool as part of his Google Summer of Code project for FOSSASIA.

The sourcecode is here on github: https://github.com/meilix/systemlock

A couple of Meilix System Lock Screenshots.

Meilix System Lock

Continue ReadingMeilix System Lock released

OpenTech and Open Knowledge in the Mekong Delta and throughout Asia

The FOSSASIA organization has been very active and I would love to give you a few updates on our activities. One thing why we love to work in this community is because you get the chance to meet some of the most awesome and friendly tech people of the world. Jonas Smeedegaard from the Debian community is one of our guests who has been visiting us three times already and conducted workshops at our events and even stayed several weeks in Can Tho to train students using and developing Debian.

Jonas Smeedegaard at Workshop: Bringing Asian and International developers together

Meetups and Code Sprints

Of course we could not do all of this alone and we would like to thank some of the most outstanding folks we are working together with including HanoiLUG and Saigonlug in Vietnam, Singapore Hackerspace and the Beijinglug.

Coding Projects

We have recently involved and organized activities with the following projects and are glad to feature the following projects on this blog:

  • Wikipedia
  • OpenWrt
  • Crypto-Stick
  • LXDE
  • MoonOS
  • Android
  • GNOME
  • Debian
  • Fedora
  • Gimp
  • Inkscape
  • Linux conversion libraries
  • OpenStreetMap
  • and many more

FOSSASIA Event in Ho Chi Minh City

Internships

In 2012 we welcomed interns in Can Tho. Fifteen students participated in the program as full time interns in the office of MBM International in the biggest city in the Mekong delta. The program took place for 2 months and a core part of it was to learn how to use collaborative tools liker issue trackers and contribute to OpenStreetMap. Our students also love the Wikipedia sprints and we got a lot of positive vibes as everyone was happy to learn how to set up the Mediawiki software, that empowers the encyclopedia, share their ideas and spread Open Knowledge and Open Data about the Mekong Delta.

Event activities

We also continued to organize the FOSSASIA OpenTechSummit in 2010 and 2011 in Raffles College and Van Lang University in Ho Chi Minh City Vietnam. Plus we had a Mini-Debconf in Saigon and organized the event series OpenDesign.Asia Weeks bringing together designers and Open Source developers. We have links to the LXDE project and GNOME community and we have sent developers to the GNOME.Asia Summit 2012 in Hong Kong and supported the TYPO3 conference 2012 in Phnom Penh.

Also globally FOSSASIA starts to receive more attention. We have received the opportunity to introduce Asian projects at the Libre Graphics Meeting in Montreal (2011) and Brussels (2011), at the Linuxtag in Berlin (2012) and many other community events.

Please Join us and Get in Touch

The FOSSASIA organization supports activities and Open Tech development and Open Knowledge projects of the community active in Asia. If you are interested to cooperate for a project, need support for a development sprint or an event, please contact us on the FOSSASIA mailing list: http://groups.google.com/group/fossasia

 

Continue ReadingOpenTech and Open Knowledge in the Mekong Delta and throughout Asia

TYPO3 Conference in Phnom Penh

Thank you for joining the first ever TYPO3 conference in Asia and inspiring people to Share!

I could not agree more with this finishing statement at the first TYPO3 event in the region. It was truly inspiring. The T3Con took place in Cambodia, the Kingdom of Wonders, from Friday, 17 August to Sunday, 19 August 2012.

The event was organized by Dominik Stankowski and Rebecca Stankowski from Web Essentials with the support of the international and local community. Great job! Well done!

T3Con Community Meet up in Phnom Penh

TYPO3, is one of the top Enterprise Content Management System. T3CON12 ASIA event provided the latest trends in Web and Mobile Development. It was a unique opportunity in South-East-Asia to connect with successful international and local technology companies, innovative tech start-ups, international web developers and mobile experts.

The conference was held at the Cambodia-Japan Cooperation Center (Royal University of Phnom Penh).

Conference Highlights included

  • Keynote speech by TYPO3 founder Kasper Skårhøj from Denmark
  • 2-day conference with sessions from speakers around the world
  • Special Student’ s day with TYPO3 tutorials and workshops
  • Training Week with expert web developers
  • Friday Social Event at Kingdom Breweries: Barbecue and Kingdom Beer by a German Master Brewer in a wonderfully restored factory
  • TYPO3 Certification Exam
  • Pre-conference meet-up at the famous FCC (Foreign Correspondence Club) with view over Mekong and Tonle Sap

T3CON12 ASIA has brought people together from around the world. Asian representatives from Japan, Indonesia, India, China, Vietnam and of course Cambodia joined, together with TYPO3 enthusiasts from Europe and North-America.

Mario Behling and Hon Nguyen at T3Con Phnom Penh (Photo by Fumiki Kanno)

Links:

https://t3con12-asia.typo3.org

Continue ReadingTYPO3 Conference in Phnom Penh

Pdfinator v0.1 – Convert Images to PDFs

There are number of ways to generate pdf’s from different file types. LibreOffice offers pdf generation from office documents for a long time and there is a simple terminal command to convert images to pdfs with ImageMagick.

But nevertheless there are instances, where people would like to have a simple pdf converter with a graphical interface. Tom Lechner and I sat together and worked on this idea together with input from Mario Behling.

So, here it is: Pdfinator

Create a pdf from a number of images. It uses ImageMagick convert to make non-jpegs into jpegs for inclusion.

You find the code on github here: https://github.com/mariobehling/pdfinator

We will be offereing packages for different Linux distributions soon too.

Pdfinator v0.1 - convert images to pdfs

 

For your reference there is also this way, if you want to try to generate PDFs or images from command line. 

 

You simply follow the steps below:

1. Install ImageMagick e.g. in Ubuntu – https://help.ubuntu.com/community/ImageMagick


2. Open the terminal and go to the directory of the files, e.g. /home/fossasiauser/Documents

  • cd /home/hongphuc/Documents

3. To convert pdfs to images, use the terminal and type

  • convert hongphuc.pdf hongphuc.jpg

4. To convert images to pdfs use the following command

  • convert *.jpg hongphuc.pdf
Continue ReadingPdfinator v0.1 – Convert Images to PDFs

Tom Lechner Libre Graphics Artist and Developer in Vietnam

We invited Tom Lechner, Libre Graphics artist and developer of the desktop publishing software Laidout, to spend the summer vacation with us in Vietnam to work on some Libre Graphics projects together and to work on training materials.

Hong Phuc Dang and Tom Lechner

 

Many designers hesitate to switch to Libre Graphics tools as they have been mainly trained with proprietary tools.

We often hear from designers that for example Gimp does not offer the same features as Photoshop. Well, rather than thinking to exchange an application designers should also think about opening up the way they creatively work. In fact Open Source tools can offer even more possibilities to be creative, but you need to stop thinking in categories of programmes or applications. Open Source programmes can incorporate new features easily by including existing libraries.

In the Linuxworld there are many tools available that can be accessed by command line as well. You could write your own script and change an enourmeous amount of images. Well, those are the few things we are exploring together with Tom this summer.

 

Vietnam Impressions by Libre Graphics Artist Tom Lechner

Links:

* Tom Flickr Stream for Vietnam: flickr.com/photos/tomlechner/sets/72157630879789412/with/7865406572/

* Website: tomlechner.com

Continue ReadingTom Lechner Libre Graphics Artist and Developer in Vietnam

How to create a Fedora spin – Developer Meet Up in Hong Kong

Hon Nguyen (Vietnam), Dicky (Hong Kong), Hong Phuc (Vietnam) (from right to left)

Dicky (Hong Kong) and Mathieu Bridon (France)

At our meet ups at GNOME.Asia in Hong Kong it was great to meet developers from different continents. One thing we were particularly interested in is, how to create a custom Linux based on Fedora Linux.

Well, we were lucky to meet Mathieu Bridon (Blog). There are some pictures below. Even though some pictures might look just like socializing in a pub, we actually took quite late until the eve to learn about using Kickstart files to create our own custom Linux. Thank you! So the how to of Mathieu below first.

== Building your downstream distro ==

From a Fedora system:
    # yum install spin-kickstarts pungi

See the kickstarts used to create the various Fedora spins in:
    /usr/share/spin-kickstarts/*

Use that as examples, the actual kickstart doc is at:
    http://fedoraproject.org/wiki/Anaconda/Kickstart

Then once you have your kickstart file:
    # pungi -c [your kickstart file]

(see pungi -h for all the options)

== Avoiding trademark issues ==

Replace fedora-logos by generic-logos to avoid the Fedora trademarks.

Clone the git repository for the package spec file:
$ fedpkg clone -a generic-logos
$ cd generic-logos

Fetch the source tarball:
$ fedpkg sources

Make your own tarball following the layout and file names.

Rename the spec file (and change the Name: tag):
Name:       xmario-logos
Version:    17.0.0
[… snip …]
Source0:    https://fedorahosted.org/released/%{name}/%{name}-%{version}.tar.bz2

See how the tarball is named like the spec file?

Rebuild:
$ fedpkg mockbuild

== Caching packages ==

1. Synchronize the whole repository:
$ yum install yum-utils
$ reposync -r fedora -r updates -p /path/to/repository_cache

2. Keep in cache the packages you install:
  1. set keepcache=1 in /etc/yum.conf
  2. install, update,…
  3. $ find /var/cache/yum -name ‘*.rpm’

3. Download packages:
$ yum install yum-utils
$ yumdowloader foo
$ yumdownloader –resolve foo

Some different approaches to repo caching:
http://yum.baseurl.org/wiki/YumMultipleMachineCaching

 

If you need to make an install media (not live), you’ll have to maintain
a trivial patch to anaconda.

$ fedpkg clone -a anaconda
$ cd anaconda
$ fedpkg prep
$ cd anaconda-$version
$ git init
$ git add .
$ git commit -m prepped
$ cp pyanaconda/installclasses/{fedora.py,xmario.py}

Replace all occurences of “fedora” by “xmario” in the file you copied,
and give it a **higher** priority (bigger number) than all other install
classes so that yours is used.

Create a patch that adds your modifications. I like to use git for that,
but you can just use the diff command if you prefer:
$ git commit -a -m “Create our install class for X-Mario”
$ git format-patch HEAD~1
$ mv 0001-*.patch ..
$ cd ..

Add the patch to the spec file header:
    [… snip …]
    Patch1000000: 0001-blabla.patch
    [… snip …]

Apply at the end of %setup:
    %patch1000000 -p1

Bump the “Release:” tag and add a changelog message in %changelog.

Commit to git:
$ git add 0000*.patch anaconda.spec
$ git commit -m “Bla bla bla commit message”

Rebuild:
$ fedpkg mockbuild

More about fedpkg:
http://fedoraproject.org/wiki/Using_Fedora_GIT

Mathieu Bridon and Sammy Fung (HK)

Continue ReadingHow to create a Fedora spin – Developer Meet Up in Hong Kong

FOSSASIA community meetup at GNOME.Asia 2012

GNOME.Asia Hong Kong 2012

 

FOSSASIA members had a wonderful get together at GNOME.Asia 2012 in Hong Kong. 

About GNOME.Asia Summit. The event is Asia’s GNOME user and developer conference, spreading the knowledge of GNOME across Asia. The event focuses primarily on the GNOME desktop and other devices that use GNOME, and also covers GNOME-based applications and GNOME development platform tools.

It brings together the GNOME community in Asia to provide a forum for users, developers, foundation leaders, governments and businesses to discuss both the present technologies and future developments.

The FOSSASIA team presented the two projects: crypto-stick and the x-mario gaming distribution.

A big thanks for this fantastic event goes to the local and global organization team and the GNOME Foundation, in particular to Max, Haggen So and Sammy Fung.

Hong Phuc Dang also received travel sponsorship from the GNOME Foundation and thus increased the participation numbers from Vietnam to three contributors.

 

GNOME.Asia Hong Kong 2012

Continue ReadingFOSSASIA community meetup at GNOME.Asia 2012