JavaFX on phones, Java blocks in Firefox, Amazon audio and extras – Snippets

Snippets

  • JavaFX on Android and iOS: One of Oracle’s ongoing projects is getting JavaFX onto the two big smartphone platforms. An update from Richard Bair (Chief Architect Client Java at Oracle) says the work is now at “a good prototype stage”. There’s “funky” code swapping JavaFX text fields for native components and the plan is to build a more layered system for better native look and feel without Swing style theming. But Bair also notes that currently its all hands on deck for Java 8. If you are wondering about whether there’s a JVM on iOS, things point towards the open source RoboVM which compiles Java bytecode the ARM or x86.
  • Firefox’s Java Blackout: And if you are having trouble (or your users are) with Java applications that work with Firefox, then the short story is that Mozilla have marked the Java plugin as unsafe by default. You’ll find the bug and angry comments in the Mozilla Bugzilla and you’ll want to refer to “How to enable Java if it’s been blocked“. Unfortunately, Mozilla’s security UI design is “special” and so you’ll need to look at the red “lego brick” icon in the address bar to allow Java to run. And remember to UPDATE YOUR JAVA now – Latest versions is Java 7 update 45. And if you don’t use applets or Web Start, leave it disabled. Mozilla’s policy good, fire^h^h^h^h Mozilla’s communication skills bad.
  • Amazon Audio Transcode: Amazon’s Elastic Transcoder now does audio as well as video. Save content up on S3, select presets, let rip and let the results land back on the S3 storage service. The free AWS tier gives you the ability to transcode 20 minutes a month for free, though this does appear to be a little mean – for video you get 20 minutes of SD content a month which, paid for in the EU data centre, costs $0.017 per minute, while audio costs $0.00522 per minute. Still, equine dental hygiene inspection is unbecoming and they do support transcoding audio to AAC, MP3 and Vorbis.

Hadoop 2, Wireshark/Qt, TogetherJS and Linux TAB elections – Snippets

snippets03

  • Hadoop 2 goes official: The Apache Software Foundation have officially announced Apache Hadoop 2. The new milestone version of Hadoop is a major rework which brings YARN, an overhauled MapReduce engine which splits resource management and job scheduling into two separate operations with their own daemons. There’s also high availability, data snapshots, NFS3 access and federation for Hadoop HDFS along with Windows support. Hadoop 2 started out in alpha way back in May 2012 as version 2.0. In August this year, a 2.1 arrived as a beta, and this release is actually Hadoop 2.2.0.
  • Wireshark goes Qt: An interesting swap of toolkit has been announced by the developers of the network sniffing Wireshark who are moving from GTK+ to Qt. They use the example of Mac OS X where the current version needs an X server to display and doesn’t look like a Mac app. The switch is being done gradually with a Qt5 “flavour” being developed alongside the current GTK+ version which remains the version that power users are recommended to use. The transition is expected to be “long and arduous” but should offer an useful study for other projects considering migrating.
  • TogetherJS launched: Mozilla’s realtime web collaboration library and service, TogetherJS has been being previewed for a while, but now Mozilla have formally introduced the WebRTC based platform. As part of the launch, jsFiddle has turned on a beta collaboration button using TogetherJS and there’s examples on how to use TogetherJS with JavaScript on the jsFiddle site. Collaboration invitations are done by sending a generated URL to the people you want to work with over IM or email; TogetherJS tries to be identity framework agnostic.
  • Linux TAB elections: The Technical Advisory Board (TAB) for the Linux Foundation is having an election for five of its ten seats at the Kernel Summit being held in Edinburgh. Throwing his hat into the ring for the first time is Matthew Garrett who over the past couple of years has become a leader in the technicalities, and politics, of the UEFI maze and would likely make an excellent addition to the TAB. The vote takes place on the evening of the 23 October.

Apache Lucene and Solr go 4.5

solrThe text-search library Lucene and Solr, the search platform built on top of it, have both been updated to version 4.5. Version 4.4 came out in July so what’s changed in this version bump?

Well, first of all, for Lucene, the DocValues mechanism which allows typed storage to be associated with documents has been updated to allow for missing values and there’s now an in-memory supporting DocIDSet which is more efficient for carrying around smaller lists of documents. Other changes can be found in the Lucene 4.5 release notes.

Solr 4.5, as usual, benefits and supports these changes as it is built on Lucene, but the search platform has also had its own set of improvements. For example, when running a sharded cluster, its possible to now set up custom routing to the various shards, including routing based on field values. Faceted searches are now multi-threaded, the solr.xml configuration file is now storable in ZooKeeper and the CloudSolrServer has the ability to send updates directly to shard leaders. Again, more details are available in the Solr 4.5 release notes and the PDF of the updated Solr reference guide is available through the Apache mirrors. Both Lucene and Solr also have various bugfixes and performance improvements.

LibreOffice updated, iPython sponsored, Warden contained – Snippets

snippets03

  • LibreOffice gets a maintenance bump: There’s an update for LibreOffice 4.1, the just announced 4.1.2 but the Document Foundation are still not up to recommending it for enterprise adoption and say a 4.0.5 (and soon 4.0.6) version of the office suite is still recommended for that. As usual they’ve scattered the changelogs over 3 different documents (at some point they might think about consolidating minor point updates changelogs into oooh a single release note), but in summary, things have been fixed most of which are listed in the RC1 changelog.
  • iPython gets Microsoft mad money: The iPython project, which creates a Python based architecture for interactive notebooks, visualisation, interpreters and parallel computing work, has just announced $100,000 sponsorship from Microsoft. Apparently they did one heck of a demo for the Microsoft Research folks. The sponsorship went through NumFocus who are sponsored by J.P.Morgan and Microsoft among others to promote open source scientific software.
  • More containers: Everyone’s got a plan for managing containers these days. This time it’s Cloud Foundry’s warden, an Apache licensed “simple API for managing isolated environments”. The server readme provides more details; apparently initially developed with LXC, Warden no longer depends on LXC. It uses aufs or overlayfs depending on edition of Ubuntu Linux and talks JSON over sockets between its server and clients.

Apache CloudStack goes 4.2.0

cloudstackThe other other open source IaaS Cloud, CloudStack, has had an update with the release of CloudStack 4.2. What’s new? reveals a lot of work which the announcement summarises as 57 new features and 29 improved features such as the ability to plug in external or internal S3-compatible storage services and support for Cisco’s UCS compute chassis and SolidFire storage arrays.

A trawl through the release notes shows that there is far more than the headline items though. There’s a whole set of features to help support for regions, zone wide primary storage and a plug-in framework for writing UI extensions.

Networking has had a lot of work done to it too with initial support for IPv6 (as a technical preview), portable elastic IPs which can be transferred between zones, the ability to assign a VLAN to an isolated networks and persistent networks which can exist without VMs assigned to it. There’s also Cisco VNMC and VMware VDS support, enhanced support for Juniper gear and global server load balancing with health checks for load balanced instances.

Host support has not been left out. Windows 8 and Windows Server 2012 can now be VM Guest OS’s, ownership of VMs can now be changed by an administrator, resizable data disk volumes, storage migration (for XenServer and VMware), the ability to scale CPU and memory on running VMs (VMware and XenServer again), over-provisioning of memory and cpu (VMware, XenServer and KVM), bare-metal provisioning kickstarter, VM resetting on reboot and VMware VM snapshots.

Finally, there’s a who set of enhancements to the monitoring, maintenance and operations end of CloudStack, with support for auto purging alerts, API request throttling, forwarding of alerts to external SNMP and Syslog systems, a log collection tool, ability to change default password encryption and new VM snapshot and backup capabilities.

You can download the source or binaries (in deb and rpm packages) from cloudstack.apache.org where there is also documentation including installation and admin guides.

OpenStack costs, Boot2Gecko on APC, Python debugging and a storage warning – Snippets

Snippets

  • OpenStack Hardware Calculator: Mirantis have an interesting OpenStack calculator which lets you how many and how big you want your average virtual machine, pick hardware and networking vendor and whether you want high availability or not. It comes back to you with a couple of configurations based on those requirements and $ pricing of the cloud’s hardware.
  • Boot2Gecko on Rock and Paper: Via has announced a preview of Boot2Gecko for it’s APC single board ARM-based PCs “Rock” and “Paper”. Boot2Gecko is the name of Firefox OS when its on unblessed devices as Liliputing pointed out, although the GitHub repository is still labelled APC-Firefox-OS. There’s plenty of known issues, but Via are offering free APCs to anyone who fixes them and sends a pull request. Wondering what to fix? There’s a list of bugs and enhancements awaiting work.
  • Python Debugging: Over on Hacker News, people are recommending pudb, the Python Urwid Debugger, which works in the console as a full terminal application. Older hands will get the “Turbo Pascal” vibe from it as it appears to have take some inspiration from there. So, Unix based Python programmers may want to check it out.
  • A warning about storage: A useful reminder from Christopher Deutsch’s blog about making sure that when you release an open source project you aren’t including any URLs which will cost you money. In Deutsch’s case it was a test file on Amazon S3 which was used by HiSRC to check bandwidth… and has just cost him $20 on his monthly Amazon bill.

WordPress, Containers and Spark – Snippets

Snippets.png

  • WordPress 3.6 vulnerability explored: The serialisation vulnerability which was fixed in WordPress 3.6.1 is looked at in detail by its discoverer in a blog posting which explores the issue of passing user content through unserialize() and why it can blow up so badly.
  • Container power: Containers revolutionised the shipping industry… could they do the same for the cloud? There’s a lot of activity around container based clouds which we’re looking into. One of the big drivers is Docker, which lets makes lightweight containers easy to build and run, and then there’s the orchestration layers like the open source PaaSs Deis which uses Docker, Chef and Heroku Buildpacks and Flynn which uses Docker and builds on Dokku. There’s something big going on there.
  • Java “Sinatra” Spark:  Micro web frameworks are extremely handy; they let the web reach into places you wouldn’t normally implement the web in. Sinatra showed how you can do it in Ruby and, inspired by Sinatra, there’s Spark for Java. It looks like a quick way to bring a web server into Java applications and wire it in in a readable form.

The new PostgreSQL 9.3 can send foreign data home too

elephant copyThe PostgreSQL team have released PostgreSQL 9.3 ending the beta cycle which started in May. 9.3’s headline feature is the newly writable Foreign Data Wrappers (fdw). In 9.1 and 9.2, foreign data wrappers were read-only, allowing the database to only ingest information made available through an “fdw” driver, taking them from a legacy source or other database and materialising them as a table. In 9.3 though, these “fdw” drivers can be enhanced and support changes to the fdw tables being reflected back in the source. There’s also a PostgreSQL “fdw” driver for federating PostgreSQL instances.

Also new in 9.3 are twelve JSON functions (rather than 9.2’s two) for working with JSON data within the database, including path based extraction so JSON fields need not be extracted externally to be tested. Materialised views are also new and cache the output of a view as a physical table rather than repeatedly issuing the query that the view is based on – there’s also support for recursive views too. Simple views can now be updated too, rather than going back to the view’s source and updating that.

Other enhancements include a parallel version of pg_dump to speed up backups, a switch to POSIX shared memory which will make configuration easier, new trigger events from CREATE, ALTER and DROP and an implementation of lateral joins. Modules can now opt to work in the background as custom server processes and there’s support for data checksums and corruption reports.

Basically, it’s oodles of improvements in one big update – full details in the what’s new in 9.3 notes and release notes. You’ll find the open source licensed PostgreSQL ready for download on the PostgreSQL Download page.

As foretold, Cassandra 2.0 cometh

cassandraeye

Version 2.0 of the Apache Cassandra database has just been released. The Apache Software Foundation are leading on the addition of lightweight transations and triggers to the database. Cassandra originated at Facebook who donated it to Apache in 2008. It is designed to work with massive data sets and mixes Google’s Big Table data model with Facebook’s own distributed architecture Dynamo.

Datastax, who produce a commercial version of Cassandra, have the detailed blog entries on lightweight transactions which can ensure an update is committed to all replicas through a prepare/promise/propose/accept process, on triggers which can start processing tasks as changes in tables are detected and on the enhancements made to CQL, Cassandra’s SQLish query language. There’s also a roundup of all the other changes in Cassandra 2.0, such as the requirement to use Java 7, varios spring cleaning and performance optimisations. The Datastax documentation has also been updated for 2.0 and is also available as a PDF.

Usually with Apache project releases (and other events), the decision to release and the actual release can be a matter of some weeks, but this time round it was less than a week between those two events. Could this be a sign that the ASF will synchronise their announcements more with events than an artificially paced schedule? We shall see.

Feedbin opened – Time to tuck in

FeedbinIconBW120In the aftermath of Google’s bone-headed-but-determined execution of Google Reader, there has been some great work done developing alternatives to Google’s service. One open source implementation was NewsBlur, but at least from our experience at codescaling.com, it was a bit tetchy and the user interface was idiosyncratic. Among the other services we tried was Feedbin, with its clean stripped down user interface, growing app support and good RSS pickup speed. But it wasn’t open source, at least until now when Ben Ubois announced Feedbin was being opened.

While we at codescaling.com are still happy with Ubois’s hosted version of Feedbin at feedbin.me (currently priced at $3 a month or $30 per year), it’s really good news to see him open up the code under an MIT licence and host it on a GitHub repository. It means that users of the Feedbin service know they have an alternative they can host themselves, that they can get involved in development and help take the cause of better RSS aggregation forward. “It’s because Feedbin is making money that I felt comfortable doing this” said Ubois on a Hacker News thread.

The code itself is a Rails 4.0 application, running on Ruby 2.0 and using both Postgres 9.2 and Redis 2.6 for data storage duties. Instructions for getting the system running on Mac OS X are available in the Github readme; partial instructions for Ubuntu 12.04 are also present. “Install a local Feedbin server” is now on our to-do list (though that is a very long list).