Python 3.4 Betas and 3.3.4 RCs, UEFI bootsplaining and Bro pages – Snippets

snippets07

Python 3.4’s last beta: Over the weekend, the last beta of Python 3.4 arrived. With two more release candidates and a final date of March 16, those interested should be testing now. The time scale was bumped by three weeks to allow last minute changes to the Argument Clinic, a DSL for parsing arguments, to settle in.

What’s also in 3.4? A new pathlib module, standardised enums, better object finalisation semantics, a C API for custom memory allocators, non-inheriting subprocess file descriptors, new statistics, asyncio and tracemalloc modules, a new hash algorithm for strings and binary data and better pickling. And of course, standardised use up “pip” as the package manager.

At this point, 5 Python Enhancement Proposals didn’t make the 3.4 cut – improved time zone database support and zip application support, the locallookup metaclass method, more unpacking generalisations and a key transforming dictionary are all pushed to after 3.4. For more details on whats in and out, check out the release schedule and the download page for 3.4 beta 3.

Python 3.3.4’s RC: There’s also a release candidate now available for Python 3.3.4 – details of fixes in the change log for that. Thats due for a final release on February 9, so not much time for final testing of the large wedge of fixes.

All About UEFI: There’s a lot of controversy, mostly unecessary or ill-informed, about UEFI’s boot process mainly down to it being confused with the optional SecureBoot element of UEFI that Microsoft lean on for validation. Adam Williamson, by day Red Hat Fedora QA, by night massive essay writer, has produced a huge and useful essay on what and how UEFI does its thing and the things it enables called UEFI Boot: How does that actually work then. Well worth a read.

Good idea, bad name: A shortened man page which just gives you examples? Sounds like a great idea. With a central repository for new pages? Excellent. And cross platform and packaged like a ‘gem’? Still with you. And you’re calling them “bro” pages. Oh, ah… this won’t end well. But good idea.

Python 3.4 beta, Neo4J 2.0 RC1 and Redis 2.8.0 released – Snippets

Snippets

  • Python 3.4’s beta days: The first beta of Python 3.4 has arrived and it has got the good stuff. Pathlib lets coders work with pure paths or filesystem dependent paths with the selection of the latter taken care of for them. There’s a standardised enum module along with new statistics, asyncio and tracemalloc modules. Throw in a new pickling protocol, new string and binary hashing algorithms, a C API for custom memory allocators and standardise on pip as a packaging format and you are talking a tasty new Python due to land at the end of February 2014.

  • Neo4J 2.0 goes RC: The Neo4J graph database is heading into the home straight with a 2.0.0 release candidate and a warning that if you’ve been tracking their version 2.0 milestones you will need to perform a manual update on your database before using 2.0.0RC1. Now tagged as feature complete, the new RC will be bringing matching with properties, optional matches, relationship merges and more simplified syntax to Neo4J’s Cypher query language. That’s in addition to the Neo4J browser and other changes made over the five other milestones (5, 4,3, 2, 1).

  • Redis 2.8.0: Salvatore Sanfilippo has announced that, after almost a year of development, Redis 2.8.0 is done. If you don’t know it, Redis is a key/value store which can also handle hashes, lists and sets. The new version include a partial resync for slaves option, iterable collections, a rewritten config system, IPv6 suppport, pub/sub keyspace notifications and better consistency support and key expiration. Actually 2.8.1 is out for download too – see the release notes for more on the BSD licensed key/value store.

FreeBSD 10.0beta3, SQL Injections, Rust stacks, InfluxDB and Circus renewal – Snippets

snippets03

Catching up on Codescaling with some of the less mentioned things worth noting…

  • FreeBSD 10.0’s latest beta: It’s into the home/RC straight for FreeBSD 10 with the release of the third and hopefully last beta of the development cycle. The original schedule would have seen RC2 available around now, but with a focus on a quality release, there’s been a bit of slippage. Check out this FreeBSD News item from September for a feel of what’s going in. I’m looking forward to the switch to LLVM/Clang and seeing how the tickless kernel works out.
  • SQL injection attacks by Google?: Sucuri have come across an odd thing, Google doing SQL Injection attacks. Basically, Google’s bots crawl a site with links which would carry out an SQLi attack if followed… and then follow them like the bots they are which carries out the attack. Google may want to add at least some filtering to their bots in future, but its something to remind any application that ingests URLs from the web to follow them that URLs are not necessarily passive.
  • Rust reworks stack plan: For those interested in the implementation of languages, the Rust developers have decided to drop segmented stacks. Segmented stacks were stacks that were allocated small and expanded as needed. This would have allowed threads to have a much smaller footprint, but it didn’t quite work out that way. Followups on the thread discuss the cost of memory, both having it and accessing it, and alternative strategies.
  • InfluxDB: Databases for time series data are in and the latest open source addition to the game is InfluxDB which prides itself in no external dependencies. The Go-based MIT-licensed code has a JSONic HTTP API, an SQLish query language and a playground server to get running with. Its early days for InfluxDB, but its off to a good start.
  • Mozilla’s Circus Renewed: Mozilla’s Services project has announced a new version of its process/socket manager called Circus. Built using Python and ZeroMQ and recently redeveloped to be Python 3 compatible and fully asynchronous, the software lets an administrator manage processes and sockets on servers through a command line, Python API or web console. You can find the code on mozilla-services github.

EOL for Python 2.6, Docker Inc and more iconic fonts – Snippets

Snippets

  • Python 2.6 signs out: Python 2.6.9 is the last source-only security fix release for the Python 2.6 family. The 2.6.9 release sees 2.6 officially retired after five years in the field. If you are still running 2.6, UPDATE! At the other end of the scale, Python 3.3.3 got its first release candidate with full support for Mac OS X 10.9 Mavericks.
  • dotCloud becomes Docker Inc: Acknowledging how important its Docker container software has become, dotCloud has announced it is becoming Docker Inc. The platform-as-a-service business of dotCloud will be maintained, but the company’s resources are going into Docker, Docker services and building out the Docker ecosystem.
  • More icon fontage: Bootstrap is not alone in having a fine icon font for its graphical imagery. Say hi to Ionicons, created for the Ionic front-end framework. Very stylish, and MIT licensed open source.

Python 3.4 to get the Pip by default

python-logo-master-v3-TMNews arrives here that PEP (Python Enhancement Proposal) 453 has been accepted. PEP 453, titled “Explicit bootstrapping of pip in Python installations”, sets out to sort out one of the long standing problems in the Python ecosystem – not having a common modern packaging system for Python packages.

Pip has become popular with Python users but for new users things have been somewhat odd. You need to use the old default installer application easy_install to install pip and then we’re ready to install packages. A lot of thought has gone into how to make the default nature of pip simple and not break older processes; lots of details in the PEP which is probably a must read for Python porters. We should see the new pip setup appearing in Python 3.4.0, which just went through alpha 4, as it enters beta and heads towards release.

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.

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.