The $366.95 tablet you make from a Pi – The DukePad


Want to build your own $366.95 tablet based on the Raspberry Pi Model B? Well, now you can with the DukePad. You’ll also need to do some laser cut acrylics to make the actual case and then assemble it; it’s inspired by the PiBow case and comes as a set of cut acrylic sheets which stack up to hold all the components.

The software stack that the DukePad runs is based around JavaSE Embedded 8, JavaFX and it packages apps as OSGi modules. The instructions are all there to create the stack with its own DukePad app. Of course, with more powerful tablets like the Nexus 7 coming in at $200 or so, it is obviously not going to be an economically sensible alternative working tablet. But it does look like it could provide an interesting way to introduce kids to the concept that a tablet really is just a lot of components all wired up right.

The DukePad appears to be part of the OpenJFX on the Raspberry Pi project coming out of Oracle work. It can run with the 10″ style tablet screens or with 3M’s $1550 M2256PW touch screen though they do say “In general a touch screen that is recognized by Linux and generates events EV_KEY, EV_ABS and EV_SYN will work with JavaFX”. The interesting part, for us at least, is how even Oracle uses the Raspberry Pi to enable hardware and software experimentation…

Qt Blinks, OJ codes and Pi (ad)blocks – Snippets


  • Qt goes with Chromium: The Qt toolkit has used a Qt port of WebKit for some time now to provide web content rendering. With Google forking WebKit to create Blink, Digia has been looking at what fork to follow and has now decided to go with Chromium and Blink. This means the QtWebKit development will be frozen after Qt 5.2 and the new QtWebEngine which will replace it is short some APIs (QWebElement and QObject embedding). Digia say there’ll be lots of benefits and the choice is a long term decision.
  • Object JavaScript: An interesting bit of web technology is OJ which uses JavaScript objects to create web pages by mapping them to HTML and CSS and other JavaScript. It has a whole load of components and plugins and is published under the MIT licence. Worth a curious look, especially at the tutorial.
  • Pi Adstopper: One of the latest additions to Adafruit’s ‘learning system’ of tutorials is a guide to making a Raspberry Pi-based Ad Blocking Wi-Fi Access Point which includes details on setting up DHCP, DNS, the ad IP address blacklist and setting up a “pixel-server” to return a pixel (rather than a 404 which penalises performance) for blocked content.

Google’s Coder is for more than just Pi

coderlogoGoogle’s Creative Lab has released Coder, an operating system image for the Raspberry Pi which can be booted from an SD card and offers an easy to use environment for learning about coding in JavaScript, HTML5, CSS and working with Node.js. It is in fact a relatively portable Node.js application which could be hosted on the desktop, in the cloud or wherever it is needed. Google have crafted the image for the Pi so that its an easy to deliver, and dare we say attention grabbing, way of putting the technology in educators hands.

So what’s in Coder? Its more like an educational Web IDE which quick launch buttons for projects. A simple panel of launch buttons, plus one “+” button to create new projects, greets the user. Selected an application lets that application run. Clicking the “Hack” button in the top right brings up some variables that can be changed to get people into that basic idea of that yes, you can change things. Clicking the “Coder” button brings up a multi-tab IDE with syntax colouring and the option the edit the HTML, JavaScript, CSS or even the Node.js server file for the application. There’s also a media browser/manager and an app preview mode. And that pretty much covers it. Here’s a gallery to let you have a look at it.

This slideshow requires JavaScript.

So, a good general purpose tool. The archive comes complete with a image-to-SD writer for the Mac which simplifies the process by detecting the SD card to be written by asking the user to plug it in. Under the covers its the Raspbian version of Debian with various extra scripts and configuration buts bolted on.  I ran the image on one of the Raspberry Pi’s here and it all seems to work with some caveats. Connectivity is odd. Much is made of the optional Wi-Fi support but I tried two different Wi-Fi dongles with no success. I’ll be digging in to find out whats up with that when I’ve got a chance, but if you are going to try Coder plug in an Ethernet cable – it’ll save time.

When setting up, be warned that Coder does my favourite password anti-pattern… reject passwords on the basis of rules it didn’t tell you beforehand… you’ll need upper case, lower case and a number in your password. Otherwise, it looks good, and its quick enough on the Pi though beware, it uses mDNS to make itself into “coder.local” on the network so if you set up a couple for a class you are going to need to tweak the images; the project appears to be working on classroom management tools too though and this is only version 0.4 of Coder.

If you haven’t got a Raspberry Pi, then you can always build it for desktop system. One Hacker News reader (fdb) offers up a quick recipe for running it on a Mac with Homebrew (if you have a Mac and code and don’t have Homebrew, get it) and the routine should be pretty much similar to that for other platforms. Also interestingly, the project is hosted on GitHub rather than Google Code but thats for pondering another day. It’s all under an Apache 2.0 Licence. Good work Google… Mozilla have shown similar tools, but Google’s Creative Labs team seem to have worked out that its all about how you package and deliver to the classroom to make a difference.

Six Sunday Snippets

SnippetsIn this bumper snippets pack, Perl for iOS, the end of Thunderbird ESR sort of, the new CLI for Amazon Web Services, Adafruits tiny Trinket, Google’s F1 database on paper and a missed update to a classic UNIX book:

  • Perl for iOS: Early days but Lestrrat reports that a Perl hacker by the name of Goccy has been working on PerlMotion, “a toolchain for iOS and OS X development using Perl 5”. The idea is reminiscent of RubyMotion, the commercial toolchain (£132 for a license) for iOS and OS which lets Ruby run on the iPhone and iPad and has seen surprisingly good takeup with app developers. PerlMotion will be presented at YAPC:Asia later this month.
  • Thunderbird ESR neo-retired: It looks like the end for Thunderbird ESR. Thunderbird ESR is the stable enterprise release of Thunderbird, but because they because there’s so little movement on the main branch of Thunderbird since Mozilla abandoned developing it, it seems it will easier to synchronise with a main branch instead. So on 17 September, Thunderbird 24 and 17.0.9ESR will appear, 29 October, 24.0.1 and 17.0.10ESR will be released and then… 10 December 24.0.2 will be released and 17.0.10ESR users will be updated to 24.0.2.
  • Amazon CLI: Command line interfaces are great, especially for scripting and automation, which is probably why Amazon have rolled out an all purpose AWS CLI written in Python, which supports most of the Amazon services you’d wouldn’t get a Pointless)answer with.
  • Adafruit Trinket: AdaFruit have announced the Trinket, a tiny microcontroller board for small and simple projects. For a full tour of the device, check out the AdaFruit Introducing Trinket pages where they work through all the aspects of the board and how to use it with the avr-gcc compiler or with the Arduino IDE tools. At $8 for one and 3.3V and 5V versions, I suspect this will be popping up all ove the place.
  • F1 is Google magic: Google only release code when they need to. For everything else, there’s academic papers. Take F1, the distributed SQL database that powers the company’s AdWords business. No code, but you’ll find a paper all about it and the techniques used there.
  • UNIX, the book: I have to admit that I completely missed the latest updating of a classic book in May this year, the third edition of Advanced Programming in the Unix Environment by Richard Stevens. This is the second update of the book by Rago who has apparently kept the book relevant and lucid; Steven’s original was somewhere between reference work and gospel when it came out originally.

DIY Secure Boot, ArkOS, Android and Ubertooth – Snippets


  • Secure Boot Yourself: Greg Kroah-Hartman has documented the task of making a Linux box boot using a self-signed Linux kernel with no external signing authority. It’s all about control and if you make your own keys, you can lock things down for yourself.
  • ArkOS for Pi: Want to self-host your services but also want to do it on minimal (hidable?) hardware? ArkOS may be for you. Currently in development, it’s CitizenWeb’s project to create a full, Linux based, stack for managing self-hosting. With core, browser based apps for system monitoring, alerts, application management, backup and recovery along with servers for Windows file sharing and the Web, task scheduling, user and file management and more, it looks like the start of something which might be rather useful.
  • Android defragging?: Ars Technica has an article of the defragging of Android which comes down to Google putting Play Services front and centre to deliver their closed code on the open Android platform. If “open” was your reason for liking Android, there’s going to be less to like in the future. From Google’s position, it’s a clever way to bring order to chaos.
  • Ubertooth sniffs: Ubertooth’s a BlueTooth sniffer which is open source and built to do the sniffing job. This handy guide shows how it can be used and where you can buy one, or you can build your own.

Linux 3.11 brings temporary relief

penguinLinus Torvalds has announced the release of Linux 3.11. As usual, the actual release announcement says little except noting last minute bug fixes because the feature set was nailed down when the merge window closed weeks ago. One of the useful new features is the abiity to open files as O_TMPFILE for more private temporary files; open a file with O_TMPFILE and its created and works as normal except it doesn’t appear in the filesystem and when you close it it gets unlinked.

Support for NFS 4.2 and SELinux-labelled NFS has also made it into 3.11 albeit on a preliminary basis. On ARM, Huge Pages (allocations of memory by a process much in excess of the default 4K) are now supported for 2MB sections of memory and KVM and Xen support has landed in the ARM64 architecture. Throw in performance enhancements for SYSV IPC queues and low latency network pooling, top with a compresses swap cache called Zswap and thats your core 3.11. Experimental code for dynamic power support for Radeon graphics cards (r600 to now) is also now available and over in staging, Lustre distributed filesystem client support has also begun to emerge.

A summary of the core changes is up on KernelNewbies along with the driver/architecture changes. But in short, its another workman like update for the kernel, nothing too exciting but hundreds of small improvements. And now onto 3.12.

2D Unity, Brick at Mozilla and JavaScript gone tiny – Snippets


  • Unity gets Native 2D: The Unity 3D game framework and tools is getting native 2D support. 2D’s been hackable from the framework in the past by fixing the camera and arranging things so it all looks 2D-ish. But now, the company has announced actual 2D support with autoslicing sprites and an integrated 2D physics engine in Unity 4.3 which has just gone into beta.
  • Mozilla’s Brick: Mozilla has put Brick, a collection of reusable UI components which can be introduced into web pages using custom HTML tags, into beta. While the W3C Web Components is some way from getting implemented across browsers, Brick uses X-Tag to get that functionality acrss browsers now in a technique called polyfill. Brick currently has an appbar, calendar, datepicker, deck, flipbox, iconbutton, layout, slidebox, slider, tabbar, toggle and togglegroup and tooltip available.
  • JavaScript Microcontrol: Espruino is a kick-starter for a project thats making an open source JavaScript-running microcontroller. The board for Espruino is mostly prototyping surface ready for soldering and underneath, is a STM32 72MHz ARM M3, 256KB of Flash and 48KB of RAM. Yet another interesting device to come if they get their funding (they are a third of the way to £20K and 28 days to go).

Arduino YÚN, Webalchemy and Firebug : Snippets


  • YÚN Soon: The Arduino YÚN, a version of the microcontroller board with an added MIPS processor running Linino driving a Wi-Fi chipset, is now heading towards distributors and should be on sale on 10 September, a bit later than the originally planned June release due to the complexity of the project. The board has also been upgraded, according to the Arduino Blog will now sport 16MB of Flash and 64MB of RAM on the MIPS side. The YÚN should prove to be an interesting board, especially as the developers have put together code for the microcontroller which allows it to call processes on the Linux side.
  • webalchemy mixed: Ariel Keselman has published Webalchemy, his micro-framework take on developing web applications in Python which is “inspired by SqlAlchemy, the IPython Notebook, and Meteor”.
  • Firebug ignites: As Firefox’s dev tools have pushed forward, Firebug, the dev tool that helped define what an in-browser debugger should do, has continued its development. The latest version is Firebug 1.12 which comes with new features such as smart CSS property copy, net filtering for all plugins, DOM event filters and lots more. A detailed rundown of all the new features in on the Mozilla Hacks blog and you can add Firebug to your Firefox from its Addons page.

Next gen query planner powers new SQLite 3.8.0

sqliteiconThe latest release of SQLite, the powerful, embeddable public domain SQL database which has found its way into so many applications, is version 3.8.0 which switches over to the project’s “Next Generation Query Planner” (NGQP).

Query planners break down the users SQL queries and work out the best way to get the required results based on the planner’s knowledge of the database tables, indicies and other gathered statistics and a generous helping of the planner’s authors skills in creating effective ways to deduce what to do with that information. Simple selects require little planning but when you move to a world with many joins, working that out becomes quite complex. NGQP for SQLite has been in test for a while and has been taking on those hard test cases, such as the TPC-H Q8 test query which does an eight way join as part of the query and working out better ways to evaluate what the best query plan.

The thing with updating the query planner is that, to the user, there’s no visible changes in syntax or APIs; it all takes place behind the scenes. Other changes do introduce some new syntax. For example, partial indexes adds a WHERE clause to the CREATE INDEX command so that the user can specify what fields they want indexed. They could, for example, only index non-null columns which could, but only could, give better query and write performance (less to search) and smaller database files.

The changelog also notes changes like the queryonly pragma which stops changes to the database when enabled, the deferforeign_keys pragma which sets when foreign key constraints are enforced (if they are enabled), changes to EXPLAIN QUERY PLAN’s reporting and the ability to get the number of VM instructions a prepared statement is mapped to (for use as a proxy for how much work that prepared statement will be to execute). Source code and more is available to download and as previously mentioned, SQLite is in the public domain.

Snippets: NGINX, Dart Editor, Raspberry IO

Snippets.pngNGINX Plus Support: NGINX Inc, the company that is commercialising the open source NGINX web and proxy server, has just rolled out their new commercial offering, a fully supported version of NGINX with services and added features for enterprise use, under the name NGINX Plus. One year subscription for one server starts at $1350 and adds health checks, dynamic config, monitoring, HA, enhanced load balancing and adaptive media streaming to NGINX’s open source foundation.

Dart Sharpens Editor: The editor for Google’s Dart web app language has just been enhanced according to a Google+ posting with the ability to inspect classes in running apps and a new object inspector to go with that capability. Find the new build on the Dart Editor page.

Raspberry IO Opened: Back in March, PyCon 2013 attendees got a Raspberry Pi each to get them plugging Python into the Pi. At the same time the Python Software Foundation got Caktus to create Raspberry IO as a site to gather Pi and Python projects and resources. Now, Caktus have now open sourced the web site’s own code allowing the community to help maintain it or letting others create their own sites. You can find the Django based code on Python’s GitHub.