Qt 5.3 released, an OS in JS and Papilio’s FPGA power – Snippets

Snippets
Qt 5.3: The folks at Digia seem to be keeping the Qt development pace up, and not forgetting to take a breather and getting the stability story right. The latest release, Qt 5.3 appears to be one of those breather releases with lots of fixes for the desktop platforms and a supported beta for the Windows 8 Runtime. There’s some new additions too; a QtQuickWidget lets Qt Quick UIs be embedded into older Qt Widget based applications for a smoother transition between the old to new development style and there’s now WebSockets support for plugging into more web applications. You’ll find all the open source tools and downloads on the Qt Project website.

Os.js: Every generation is doomed to reinvent the previous generation and here we have OS.js which looks to implement an entire desktop environment, within the browser, in JavaScript. Thats not to say its not interesting as the idea of having a desktop to your cloud isn’t without merit, especially so if the desktop is portable. There’s already a lot in the alpha version of the platform and it seems way more developed than similar projects I’ve encountered in the past. Window and file management, a GUI library, multi-user support, theming and applications such as Draw, Preview, Textpad and Writer make this a project worth looking at. There’s a demo online too and its all under what appears to be a BSD 2-clause licence.

Papilio:Just turning up on my radar, and I’m late to the party, is Papilio, a single board controller which looks like a turboed up Arduino but at its heart is not an Atmel chip but an FPGA chip. That FPGA can be configured with a soft clone of the AtMega chips and driven with the Arduino IDE or it can run a “ZPUino” configuration which works like an “Arduino on steroids” at 100Mhz.

The compatibility with Arduino isn’t the driver for the project though, its more of a stepping stone into FPGA programming. Videos on the site show the Papilo programmed to emulate the Pacman and Frogger motherboards with FPGA emulations of Z80s and other classic CPUs or getting the Papilo to emulate the SID chip from the Commodore 64. The chip, on the Pro version at least, is a Xilinx Spartan 6 LX FPGA – There’s a couple of boards and the UK supplier, SK Pang, offers the newer Pro for £80 inc VAT (and a slightly older, cheaper Paplio One 500K for around £65). A list of other regional distributors is also availble.

There’s also an expansions, such as the LogicStart MegaWing for getting into FPGA/VHDL development, the Arcade MegaWing for game emulation, the Retrocade MegaWing for audio/midi work and [and numerous single purpose “wings. It looks like there’s already a whole ecosystem for the budding FPGA hacker to dive into.

GNOME, Systemd, Node Packages and a comment – Snippets

Snippets.png
GNOME 3.12: And so GNOME 3.12 has arrived with updates all around. Over here at Codescaling, we’re looking forward to the improvements to HiDPI display support . We had been spoiled by Apple’s fairly smooth switch to HiDPI support but on Linux and Windows its all, surprisingly, a work in progress. Our GNOME desktop on a HiDPI dispay brings a range of font sizes to the screen, only some of which are appropriate. (Google Chrome has its own special mix of tiny tabs, chunky (too chunky) bookmark bar and microscopic (mostly) main window so its not just GNOME that has issues). Thats why we’re using HiDPI as our new proxy for up-to-date-ness. Back at GNOME 3.12, there’s also some nice additions like the popover menus for a flatter UI and more work on making Applications more managable entities. Unfortunately, all this won’t be making it into Ubuntu GNOME 14.04 LTS because it feature froze just over a month ago in what could be described as un-cadence. For the curious, there’s already a FreeBSD with GNOME 3.12 VM available. There is also a more traditional Fedora based GNOME 3.12 live image available to download as an ISO.

Systemd 212: An update of bugfixes for the future dominant ‘init’ system in systemd 212. My favourite feature is at the top of the list… make sure that the screen has minimal brightness when restoring settings to stop people rebooting into a black screen. There’s also been work done on timers including the ability to persist timers to disk so they can be used to start processes over a longer span of time and through reboots.

Comment: Steady improvements with GNOME, systemd and Wayland make me hopeful that there will emerge a good end user Linux distro with a solid desktop designed for a general population but configurable for power users – GNOME 3 is well on the way there, but there’s no distro that seems ready to host such a combo as its primary environment beyond Fedora and that’s not aimed at the general populous. Agree/Disagree? Why not try our comments section below?

Node package popularity: It’s the little things that count, and one little enhancement just made to the Node package manager site sets out to make package searching easier by ordering results by popularity – though on testing here at Codescaling, the algorithm will need a bit more work as it seems packages with no ratings and no downloads rise to the top of the list. Still, its good to see work being done on the NPM site, that isn’t security fixes, after the somewhat contraversial creation of NPM Inc . The backend was already getting attention

OIN and OpenStack, X and Security, Docker and Mac OS X – Snippets

snippets07

  • Linux patent pool now covers clouds: By deftly expanding the list of packages it considers part of the Linux ecosystem to include OpenStack and Red Hat’s OpenShift Origin, the Open Invention Network in now including the cloud computing platforms as part of its protective cross-licence network. The change is set to take effect in March Companies can join OIN by dint of agreeing not to pursue patent litigation against other companies with respect to that package list. In return, they get a royalty free licence to the OIN’s patent pool. It will be interesting to see how well the OIN’s new safe harbour works for cloud providers.

  • X Security – It ain’t good: At the Chaos Computer Club’s 30th Congress, one presentation took on the issue of the security of X Window System in terms of its implementation in the X.org code. Ilja van Sprundel has been working through the code over the past year and after finding 80 bugs in the client code, he’s gone on to just submit 120 bugs for the server side and he says he’s far from finished.

  • Docker on OS X: Mac OS X doesn’t have containers so running Docker natively is a no-no. The advice has been to setup a Linux VM with Vagrant, ssh into that and run Docker on there. But some people wanted a bit more simplicity and came up with Docker-osx which is a shell script which lets you run docker commands. It uses VirtualBox and Vagrant, automatically configuring the VM if needed. From then on, running “docker docker-command” sees the command automatically passed through to docker in the VM. There’s also two “new” docker commands, “halt” (to stop the VM) and “ssh” (to open a terminal session). A simple enough script but rather handy.

Enlightenment 0.18 lit, FreeNAS 9.2 released and Java 8 brews – Snippets

Snippets

  • Enlightenment Updated: The Enlightenment/EFL window manager/libraries/desktop has been updated to version 0.18.0, just a year after the long silence that led up to the release of Englightenment 0.17.0. A full list of bug fixes and improvements is in the NEWS file for the release – compositing has been merged into the core, ten crashing bugs have been fixed and modules for music control, bluetooth, DBus application menus and compositing control have been added. Downloads are available from the project’s site.

  • FreeNAS 9.2 goes final: The network storage platform FreeNAS has been updated too with over 260 fixes and a rebasing on FreeBSD 9.2. The developers say it should sport improved performance, especially with encryption if appropriate hardware is available, and be more able to cope with higher loads. The release notes offer further details – Items I like on the list are full registration of all services through multicast DNS using Avahi, which should make a server much easier to just drop into a network, and the addition of a REST API for FreeNAS for remote control.

  • Java 8’s final draft: The final draft for the Java 8 specification is now available and this is going to be the reference document to the changes being made in Java 8, due in March 2014. Lambda expressions, new date and time APIs and type annotations are referenced with pointers out to the various JSRs to where Java will be next year.

Node-RED’s cool GUI for the Internet of Things

Node-RED and a quick IRC bot flow
Node-RED and a quick IRC bot flow
The latest version, 0.5.0 of IBM’s Apache licensed, incredibly useful and very cool Node-RED has landed but before going further, I suspect a lot of readers will want to know what Node-RED is.

There’s usually a lot of connecting of things involved with making the Internet of Things do something useful. Whether it be detecting messages on Twitter, listening to IRC, watching a Websocket or grabbing a web page, each source then needs to be processed and if required make something happen. Now, you can write a lot of code to do that or you can check out Node-RED. Billing itself as a “Visual tool for connecting the Internet of Things”, Node-RED is built atop of Node.js and offers a graphical world of IoT building blocks in the browser for you to wire up as needed and test.

Those building blocks, nodes in Node-RED, start with the simple, inject to send something, function to process it using JavaScript and debug to see what is being sent. They then build up to more powerful capabilities such as Http requests, MQTT subscription and publication, WebSocket listening and writing, tcp and udp comms and sentiment analysis. To connect up to social networks, nodes for Twitter and IRC listening and publishing are included. There’s also file storage, logical switches, data manipulation and delay nodes and, for the brave, even a node which will exec a process on the system.

Each node can be placed, configured and its outputs connected to other nodes inputs in the Node-RED GUI, and with the click of the Deploy button, put into action. New nodes can be created and plugged into the system too and there’s a repository of user created extra nodes available.

But, you say, where’s the Internet of Things in this? Well, Node-RED is able to work with Arduinos (connected via USB to host computers over serial or Firmata protocols) or run directly on Raspberry Pi (with GPIO and wiring-Pi modules) and the BeagleBone Black (with BoneScript access). And, obviously, you can write your own plugin nodes to connect up whatever hardware or devices you need to access.

Node-RED is a very capable tool and worth adding to your toolkit. For example, while writing this I was also prototyping an IRC bot which did basic sentiment analysis and commented in the channel. Why not give it a go over the coming holidays? You can download Node-RED from the website or you can find it on GitHub. Documentation including a quick tutorial on creating flows, along with instructions on writing function nodes, creating new nodes, embedding Node-RED into existing applications and running it with Arduino, Raspberry Pi and BeagleBone Black.

The latest version, which we mentioned at the start, has new visuals for showing the deployment state of nodes and handles the idea of “unknown nodes” visually when importing a flow from someone who’s used nodes you haven’t got yet. There’s also new user and direct message tracking in the Twitter node, session aware TCP and WebSocket nodes, enhancements to the MQTT node for authentication and client ID, an “otherwise” option in the Switch node, selectable data delimiters for the serial node and a HTTP Request node that follows 301s. The contributed nodes now include a Snapchat node and a Phillips Hue mode.

The Node-RED developers are now looking at making new nodes installable with npm, Node.js’s package manager, and tackling the separation of the administration UI from the runtime so it’s more easily deployed into future production scenarios.

Fedora 20, Meteor 0.7.0 and hacked Linux servers examined – Snippets

snippets03

  • Fedora 20 arrives: The latest Fedora has arrived, making it into 2013 and looking pretty good. There’s oodles of changes too. Desktop users will find GNOME 3.10 is the default desktop but there’s also Cinnamon 2.0 and Enlightment available, along with the latest KDE 4.11, MATE and others. Under the hood, system administrators will find syslog gone, replaced by journald, and experimental SSD caches, while developers are getting a GUI on Fedora’s DevAssistant, updated Perl, boost, glibc and Ruby 2 with Rails 4. The full release notes will guide you around. We’ve been tracking 20 since alpha, running it on machines here and its been working well – the one thing we haven’t checked out is Fedora 20 on ARM given ARM is now a primary architecture for the distribution. Download Fedora 20 in all its forms from the project’s download page.

  • Meteor gets update smarts: The latest release of the https://www.meteor.com/ platform for web applications has moved to a smarter way of working out database changes. Meteor 0.7 changes how changes in the database are discovered, away from polling the db and creating a diff and to a technique called oplog tailing – consuming the underlying MongoDB operations log and using it to reduce the queries that have to go to the database. There are caveats, most notably, in production you’ll need a MongoDB server configured as a replica. More details on this and other changes in 0.7.0 are in the release notes.

  • Hacking Linux Servers: Ars Technica has an article on how a security researcher documented the exploitation of a Linux server with PHP holes and a perlbot. It’s a reminder that attack tools for taking on Linux servers are no longer obscure or complex things and even a script kiddie can do real damage. Old holes do persist in the wild and every old, fixed hole is ready for exploiting. Now, more than ever, keeping your servers up to date with security fixes is essential.

OpenSUSE 13.1, Gitorious 3.0 and a Raspberry Pi UPS – Snippets

Snippets.png

  • OpenSUSE 13.1 lands: The openSUSE folks have been busy and the result of their work is now available in the form of openSUSE 13.1. We shall have to see how the stabilisation work, including getting btrfs up to “everyday” (but not default) quality, pays off in practice. The other highlights of the release include OpenStack Havana, latest Apache, MySQL, MariaDB, Ruby 2 on Rails 4 and PHP 5.4.2. On the ARM front, there’s the start of AArch64 (64bit ARM) support and a new Raspberry Pi build. One of openSUSE’s foundations, YaST, has been ported to Ruby too, so more developers can work on it. Throw in GCC 4.8, C11, SDL2, Qt5.1 and stir in with a Linux 3.11 kernel, sprinkle some experimental goodness including Wayland with GNOME shell and KDE for the pioneers and what we have is what looks like openSUSE pushing forward. Downloads and release notes are available.

  • Gitorious glorious 3.0: If you prefer not to keep your code in Git repositories run by benevolent but commercial types, then Gitorious is probably on your radar as the open source hostable alternative. The team behind it have just announced Gitorious 3.0, with a new merge request UI, new dashboards, new public profile pages, new settings pages, new service integrations and lots of updates under the hood which get the RoR web app ready to make the jump, but not yet, to Ruby 2 and Rails 4. Future plans also include an integrated issue tracker.

  • Pi UPS: Say hi to the UPiS Advanced – It’s £45 but it may solve some people’s problems with getting power to their Raspberry Pi as it’s a battery backed, smart UPS board for the Pi which intelligently handles charging, recharging and going on line. There’s also a real time clock built in, along with various other interfacing options. If only I had a project to justify it…

Beta for Fedora 20, Scientific Linux 5.1 and is Tizen nearing? – Linux Snippets

Snippets

  • Fedora 20 enters Beta: Fedora 20 has entered beta so its time to step up that testing as there’s lots of goodies in “Heisenbug”. Top items include ARM as a primary architecture, the end of sendmail and syslog as defaults, fresh tools and more. Thats all in the announcement along with pointers on where to go for your downloads and further information on the GNOME 3.10 powered Fedora 20 beta.
  • Scientific Linux 5.10: Tracking the updates of Red Hat’s Enterprise Linux, as it is built from the sources of that distribution, the Scientific Linux developers have released SL 5.10. This follows Red Hat’s release at the start of October of RHEL 5.10. Similar provisos apply to the update regarding MySQL 5.0/5.1, namely that you’ll need to update to MySQL 5.5 which is also included as the support clock has run out on the older versions. For a more up to date release, remember SL are also following Red Hat’s RHEL 6 with their SL 6.4 released earlier this year.
  • Tizen Nearing?: It seems that Samsung have already released a Tizen powered device to consumers, the NX300M camera, which runs “Tizen Camera Platform”. Sammyhub had the details. Samsung are pitching Q1 2014 for Tizen 2.2.1-based smart phones and a multi-user, 64-bit, 3D UI Tizen 3.0 for Q3. But will the Linux based Tizen past muster outside the gates of Samsung Towers – 2014 looks like the year we find out.

H.264 is heading to Firefox… is it an EME dry run?

header-logoCisco and Mozilla have made an announcement – Cisco will open source an H.264 implementation and Mozilla will incorporate support for a binary version of that open source code in Firefox in 2014. But what’s behind this move…

Firefox has wrestled with the H.264 video bear for some time now. Initially Mozilla took the position that there’d be no patented royalty-bearing standards implemented in Firefox and eschewed H.264 support in HTML5’s <video> tag for Google’s VP8-based WebM. This idealised position didn’t really get traction though and slowly the resistance to H.264 dropped, first on Android and then on Windows, with the removal of blocks which stopped system-level H.264 codecs that were already installed on the host operating system being used to play H.264 content. But on Linux, for example, where there was no system-level codec for playing H.264 by default and design, there was still no way to play H.264…

So that left Mozilla in an odd position of having a browser that may or may not be able to decode H.264 depending on platform. What would work is if Mozilla could lay its hands on an open source implementation of H.264 and then incorporate that into Mozilla. But that would trigger MPEG LA’s royalty gathering. And so Mozilla was at an impasse.

Until today, when in the synchronised “dance of the contribution”, Cisco first announced that it was releasing an open source (BSD licence) implementation of H.264 called OpenH264. Cisco’s motivation here is to get H.264 as the standard for interoperable web video in WebRTC for conferencing, which is dear to Cisco’s heart and business. Open source gets you so far, but Cisco needs H.264 in browsers like Firefox without passing on the costs. Cisco has said it will do that work by releasing binary modules of the OpenH264 codec and it will take the royalty cost on.

Ah, but how will it know how much distributing those modules will cost it when the MPEG LA chaps turn up for an audit? Brendan Eich, Mozilla CTO, explained that Mozilla won’t be bundling this binary module with the code. When Firefox needs the module, it will download it from Cisco and save it. Other apps will also apparently be able to make use of this downloadable module too. Eich does note that Firefox will still need AAC codecs on similar terms to the H.264 codec to complete the “industry de facto” stack for video and audio.

But here’s an interesting point. The debate about EME, the Encrypted Media Extensions for HTML5, has centred around the idea that the open web, and open web browsers, would be harmed by the presence of possible patent bearing, definitely closed source modules to perform encrypted video decoding. Now, here’s Mozilla, albeit with a different area of technology, working on how to include a platform-appropriate binary module into Firefox at runtime, as needed. It’s almost like a dry run for how EME decoders could be transparently downloaded and run. And that would be one less road-block for EME. Of course, this could also be the last thing on Mozilla’s collective mind, but the incorporation of an automatically downloaded binary module into Firefox will be a landmark in the history of the staunchly open source browser.

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.