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…
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.
In 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.
Linus 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.
The 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.
NGINX 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.