A quick look at Cubieboard micro computer with Allwinner A10 ARM CPU

Cubieboard is one of many mini computers with ARM processors. This one is equipped with Allwinner A10 processor with Mali400 GPU - a very common chip among entry-level tablets and smart-phones. We also get 1 GB or RAM (480 MHz DDR3), 100 mbit Ethernet, two USB2 ports and one SATA port. There is also 4 GB of NAND Flash holding Android system (4.0) and a slot for micro SD cards to run other operating system like Linaro Ubuntu.

Priced at $49 it's one of cheapest boards available. It's bit more than Raspberry Pi, and less than stronger dual and quad core boards. If you want to buy it the quickest way would be through ebay from China. It should be better than Raspberry in term of performance, but lower popularity and limited amount of addons makes it less usable. Is this board worth the effort?

Benchmarking Raspberry Pi performance

Raspberry isn't about performance, but about programming, electronics and all the cool ideas people can think of... but how does it actually perform? How does various ARM based mini computers compare to each other?

Using Phoronix test suite I've run few tests to check Raspberry Pi, Odroid-X2 and my laptop performance. Due to limited amount of tests running on ARM I had to use simple tests (plus Raspberry won't complete those tests quickly). Check out the results, and if you want to - run the benchmarks on your mini computer and share the results.

Testing SD cards from within Raspberry Pi

SD cards performance on Raspberry Pi is continuously a hot topic. There is a lot of SD cards so there is no easy solution to the search of optimal SD cards. I've gathered few SD cards to test their performance under Raspberry Pi. For comparison I've also added USB stick and a USB connected HDD.

So does Raspberry performance is limited by SD cards or maybe some other part is the bottleneck? Check out the results.

Picking an SD card for a micro computer

SD or SDHC cards and their micro variants are very popular and can be found in tablets, mobile phones, cameras or in various micro computers like Raspberry Pi, where they are used to hold the whole operating system. In a common case, like in a camera the SD card must hold specific amount of pictures or movie of given length. It also have to save taken picture or movie stream fast enough to provide smooth operation. For microcomputers the requirements are different. We have a lot of files, many of which are small. For the computer to work smoothly the SD card must provide efficient random read and write capabilities - something that wasn't a goal for typical SD cards.

In this article I'll write a bit about SD card and their usage in Raspberry Pi or other similar computers (like Odroid-X2).

Odroid-X2 and a SanDisk SD card

It's time for some Python GPIO programming with Raspberry Pi and pyMCU

Raspberry Pi

Mini computer like Raspberry Pi or a board with a microcontroller called pyMCU allow us to use various electronic components via GPIO headers. Using some Python code we can turn on a LED, write some text to an LCD display or even make a robot, digitize signal from various sensors.

In the upcoming weeks and months I'm planning various Raspberry and pyMCU related articles describing my GPIO codding. For Raspberry some addons are already on the list - Gertboard, 4D Systems display (uLCD-24-PTU-PI), some leds, buttons, numeric keyboards, LCDs and stuff like that.

Gertboard and some other goodies
Doing some benchmarks on Raspberry

A quick review of Django 1.5 Application Development Starter ebook

Django 1.5 Application Development Starter is an ebook published by Packt Publishing and sold for less than 7 EUR at the time of writing this review.

Django 1.5 Application Development Starter

Few weeks ago the publisher contacted me if I could review their new Django ebook. It took me some time but I managed to go through it and get the big picture of this book. The "Django 1.5 Application Development Starter" consist of 63 pages describing Django 1.5 (based on RC 1 and Python 2) framework - how to get started by developing a typical application using models, forms, templates or admin panel and other framework features.

The ebook is divided into few big chapters. At start we get to know Django - what it is and why it's s cool. Next the installation process, third project creation quickstart. After that we get a bigger chapter describing framework components - settings, models, url patterns, templates, forms and admin panel. It's not a technical description. All is don on an example application (questions and answers) that is being developed page by page using mentioned framework components. By the end we get some information about deployment - basic server configuration including Nginx. The book ends with links to sites, tutorials and social networks where you can search for help or to read even more about the framework.

The good points are that it's based on the latest Django version which includes all those small things that changed since 1.4 or earlier versions. It's the most recent thing you can get (until Django 1.6 or newer). It's also uses an application to showcase the code and features that it want to pass to the reader. You can follow the code and instructions to see live how every change affects the application. This is more effective for beginners than a dry reference.

The bad part is that the author forgot in few places that this book will be for beginners. Installation process is very short and doesn't cover common installation problems (OSX/Windows) or a step by step process for MS Windows (like for example quite quick and easy Active Python installation). One of biggest problems on Django Carrots events was to get that Python (and Django) up and running on various systems and versions (including some OSX and Windows caveats). Also some beginners never used a command line (And for MS Windows you have to know the cmd.exe mystical application).

Looking at the code I would avoid absolute OSX paths and use relative (for SQLite database location) or templates in application template directory instead of fixed templates directory from settings. Only Linux and OSX users will understand such absolute paths ;) Also class based views could save a lot of code writing to handle a form and for similar views. Functions may be better for total beginners, but still they have to write more code. Deployment section could also contain some example of deployment on some popular/cheap Django-compatible servers/hosting.

All in all it's not a bad publication. It could be better, but then it would be bigger and probably not done yet. If you want to start with Django and you are looking for something bigger than the Django intro tutorial you can try this book.

Quick SSD on USB performance test

We all heard of SSD advantages. They provide faster transfer rates and much shorter access time than typical hard disk drives. The disadvantage is that they are much more expensive. In this article I'll do a quick performance tests of a SSD disk connected to a computer via USB3 and USB2.

SSD ADATA SP800 disk in LogiLink USB3 case

For my tests I used ADATA Premier SP800 32GB SSD, which I placed in LogiLink UA0115 external case that offers USB3 interface. The SSD was then connected to three USB controllers based on different chipsets. One USB2 (Asus N53S) and two USB3 controllers based on Etron EJ168 chipset found on GA-H61MA-D3V motherboard and Asmedia ASM1042 based controller on PCIe card - Media-Tech MT5085.

Creating modern web applications with Django and ember.js JavaScript framework

emberjs is a new JavaScript framework for building interactive/responsive web applications. Compared to "classical" approach it removes the need to write code for AJAX requests fetching, modifying data or for example code responsible for DOM manipulation. Like in good framework we write only the code implementing our app functionality/idea.

emberj.js is quite a young project so the amount of tutorials isn't high nor the documentation isn't of Django level - but still it's there and it's not that bad. At the moment Ember is close to reaching the 1.0 release and it's quite stable allowing real production application development. In the same category we can also find other similar frameworks like Backboje.js or Angular.js. Each has its strong and weak points.

In this article I'll showcase basic ember features and ember application development process for a Django-Tastypie-Ember application. You need at least basic Django and django-tastypie (REST API-making application for your models). The whole application developed in this article can also be downloaded and launched on your localhost.

Atrix Lapdock - a laptop-like docking station for mini PCs

Motorola Atrix Lapdock is a docking station (dock) for Motorola Atrix smartphones, which aren't on the market any more. Remaining Lapdocks can now be found much cheaper on ebay and similar sites. Atrix Lapdocks provide a latop-like features - they have a battery, keyboard, touchpad and a screen.

Atrix Lapdocks are now an interesting piece of hardware for Raspberry Pi and similar mini PC users. The docking station allows us to create a laptop-like Raspberry computer. The battery in the dock provides power to the mini computer allowing "mobile" use.

Atrix Lapdock
Atrix Lapdock - keyboard, touchpad and screen