Snippets: Io.js, FreeBSD in the Cloud and 6502 Basic

Io.js 1.0 beta lands

Io.js is the spork of Node.js which is trying to put features the developers think have languished too long in development hell into a production codebase. We talked about it at the end of last year. Well, now there’s something tangible – a 1.0.0 in development release. What thats means is, top of the list, ES6 support with generators, templates and new string methods and more. Boom, huge improvement in JavaScript for developers living the Node thing. Io.js is all unstable at the moment but its already moving at a pace. There’s a further list of changes between Node.js 0.10.35 and io.js 1.0.0. One can only hope this helps leapfrog forward the entire Node development process.

FreeBSD sets sail

FreeBSD hasn’t been out in the clouds that much but that may be changing. DigitalOcean has announced FreeBSD on their cloud and thats a company who has till now only done Linux as their OS. Someone quickly posted the Dmesg output to show it was a real thing too. This could be a very special year for FreeBSD.

6502 Basic

This takes me back – the source code for Microsoft’s Basic for 6502 is now available. Written in MACRO-10 assembler so the PDP-10 could compile it, Paul Allen made macros to turn make the MACRO-10 engine handle 6502 assembly. That is some fine work. Now… where is that wait 6502,255 code… the associated article tells all and explains how it works.

PS: Regular visitors might notice the look of the site has changed. We’re experimenting with something a little fresher and we’d love to know what you think.

Developer Catchup: FreeBSD at 21, Meteor at 1.0, tunnels, disklessness, neurons and 68008s

developercatchup

  • FreeBSD hits 21:FreeBSD is 21 today and you can see the original announcement preserved on the FreeBSD site and the most recent status report shows where current development was at the end of the third quarter. Looking forward to tier 1 support for more ARM platforms in FreeBSD 11.

  • Meteor hits 1.0: After a good long maturation with plenty of reworking and changes for the better – rather than those long betas which see no changes and never end – the rather splendid Meteor framework has hit version 1.0. It lets you build apps which are really smart about keeping all the users in sync with each other and builds on Node, JavaScript (on the server and browser) and other great open source foundations. And it’s open source itself. Having written apps in the past using it, I recommend it for the modern single screen web app. There’s a step by step tutorial on building an app too. If I had to pick a flaw its that it uses the curl/wget to shell anti-pattern – `curl https://install.meteor.com/ | sh – that has become rather cool but still boils down to running an unviewed, unfiltered script on your system. We need a fix for this, and we don’t need another package manager. A simple “download/scan/report&alert and offer to run” utility would do – want to be a popular person out there? Go write it!

  • Tunnelling out: I have to admit I only just found out about this one but ngrok is a useful service which lets you create a tunnel from the net to a single port on a machine without fiddling with firewalls and other stuff. Download an executable, run it with a port number and it’ll do the rest. And you can inspect the traffic easily for simple debugging.

  • Redis goes diskless: Replication usually involves disks and disks change performance and when you are all about the performance, thats critical. That’s why @antirez has been working on diskless replication for Redis. Read his introductory article to the motivation and implementation.

  • Neural networks in JavaScript: To be honest, I’ve never though about doing neural networks in the browser but it seems Juan Cazala has and his Synaptic library lets you experiment with them too.

And a little making

  • Different single board processors: Remember the 68000 series? The folks at Big Mess O Wires do and are working on building a single board computer around a 68008 (the un-power-house at the heart of the classic Sinclair QL). The aim is to get it running Linux.

LXC’s 1.0, Thrift opened again, WhatsApp serving and more – Snippets

Snippets.png

LXC goes 1.0: Linux Containers, LXC, is now at version 1.0, a major milestone which also brings together and completes a lot of things that have been working their way through the Linux kernel, like support for unprivileged containers, long term stuff like a stable API – this’ll be supported for five years, bindings for Lua and Python3 (and Go and Ruby out-of-tree support), backing storage support for directories, btrfs, zfs and more, cloning, snapshotting… and you may wonder “Hey, doesn’t Docker do many of these things” and yes it does, so it’ll be interesting to watch how things all work out. More details at the news post and check out Stephane Graber’s 10 part blog series on LXC 1.0 which is packed full of useful stuff.

Thrift double opened: Facebook brought Thrift(PDF) to the world in 2007 via Apache Thrift and many people found the network/data serialisation framework well handy. Thing is though that Facebook went and forked their own internal version of Thrift as they filled out the features and ramped up performance, something that took major rengineering over time. Now the company has announced fbthrift, available on Facebook’s Github repo, now open sourced under the same Apache 2.0 licence Apache Thrift is under.

Worth reading: WhatsApp’s Serving : From 2012, here’s a presentation on how WhatsApp does scale(PDF) with a combination of FreeBSD and Erlang – A New York Times profile of security reporter Brian Krebs who’s more like an entire security intel op in one person – Enjoy Stephen Colebourne on video presenting the Java 8’s Date and Time API at JAX 2013.

FreeBSD’s Journal, FreeNAS updates, Arduino’s on paper and extra bits – Snippets

Snippets.png

FreeBSD Journal Edition One: The FreeBSD Journal has published its first digital edition for iPad, Android and Kindle devices. With 6 issues planned for each year, a $20 subscription and an editorial board drawn from the luminaries of the FreeBSD world, it looks like it has everything a FreeBSD fan could want. The first edition, themed around FreeBSD 10, has a five page look at that releases Clang support, ten pages on implementing system control nodes, a white paper on NYI’s use of FreeBSD as part of being an ISP, a six page guide to getting FreeBSD up and running on the BeagleBone Black, an article on ZFS and the future of storage and columns on the news from the ports tree, OS work and a look back on FreeBSD history.

FreeNAS gets an update: FreeNAS, the FreeBSD based NAS operating system, has had an update to 9.2.1, with upgraded SMB/CIFS support bring SMB3 by default, a switch from Avahi to mDNSresponder for better Mac support and around 189 bugs fixed.

Paperduino 2.0: Take a plotter, conductive ink, glossy photo paper and an ATmega328 and print your own Arduino with Paperduino 2.0! The folks behind the Circuit Scribe kickstarter wanted to demonstrate how far you could go with their inks and taking the original Paperduino as inspiration reworked the idea with surface mount components, conductive ink and superglue. Watch the video!

Extra bits: Node-RED and TinyTX boards being used for home monitoring. Gitbucket is a Github clone written in Scala with JGit underneath. Want FreeBSD on OpenStack? Check out bsd-cloudinit then.

Oh hai there FreeBSD 10.0

BSD Beastie

Following up from the last post, here’s the FreeBSD 10.0 announcement. Listed highlights of FreeBSD 10 are – Clang is now the default compiler and GCC is no longer installed by default, unbound is now the local caching DNS resolver and BIND is no longer a default, make’s replaced with bmake, ZFS has TRIM support for SSDs and LZ4 compression, guesting under Hyper-V is now supported and pkg is default package manager.

The Release Notes offer up much more detail on the changes and there’s an errata for the open issues that persisted into the release. The release notes pick out features like the ability, on AMD64, to now address up to 4TB of memory, while at the other end of the scale, Raspberry Pi support has been added (though no easy to use images – see the wiki). One thing that you may note from the release notes is the number of userland components previously based on GNU software which are being replaced by BSD licensed versions – ar, ranlib, bc, dc, patch, sort and cpio. Find had already been replaced but has been updated to be more GNU cpio like.

Full ISO images are available at the project’s FTP server, but please, be a good netizen and use a local mirror (and follow the ISO-IMAGES- link for your system). If you are looking for a server-oriented Unix to add to your skill set, FreeBSD is probably the most useful destination – If you are new to it, check the Installation Instructions too. For those who sensibly verify their downloads, MD5 and SHA256 sums are at the bottom of the announcement.

FreeBSD 10.0 so close, Ruboto goes 1.0, ODroid U3 coming – Snippets

snippets03

  • FreeBSD 10.0 RC3 – so close: It’s so close, FreeBSD 10.0 that it, with the third release candidate for 10.0 being made available from the various FreeBSD mirrors. And while you are looking, remember that the FreeBSD Foundation is in the final part of 2013’s fund raising drive looking to get a million dollars (currently at $648,622 with 1499 donors) to power the group through 2014.

  • Ruboto – JRuby on Android 1.0.0: The developers of Ruboto have, with the release of 1.0, declared their port of JRuby on Android “ready for general consumption” with all the “important parts” of the Android API available and stabalised and performing reasonably and enough documentation to work with.

  • ODroid U3 powers up: LinuxGizmos.com notes the upcoming availablity of Hardkernel’s Odroid U3, a quad core Exynos 4412 ARM based board which looks to pack a lot of power into a $59 board. It’s already been added to Codepope’s shopping list, especially with the option to use 8-64GB of faster eMMC memory to host either Linux (Xubuntu) or Android. Stay tuned for when it arrives here for a close look… in the meantime, we have an Xmos StartKIT which is pining for attention.

  • Readables: About Obfuscator-LLVM, Dual-Use tools and Acdemic Ethics – one of the elements of the fall out of the evasi0n iOS7 jailbreak clown-car-crash…

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.