Codepope's Development Hell


Because development is hell, but it's my hell.

Random issues on Android

Random numbers are hard to get right and it appears that faith in the word “Secure” in front of the word “Random” has tripped up developers again, this time with Bitcoin wallets on Android. Those developers have now been alerted to the fact when they are generating a random number to sign Bitcoin transactions, that random number isn’t of high enough quality and make it a lot easier to crack the signing.

Snippets: PyPy.js, reBlink, Patch Tuesday

PyPy.js: Have you considered a Python JIT compiler in the browser? Ryan Kelly, a Mozilla developer, has and is porting PyPy, the Python JIT, to the browser using Emscripten and getting the JIT compiler to emit asm.js code. Asm.js is a subset of Javascript which has a specialised optimiser. It’s early days for PyPy.js, but first benchmarking of the proof of concept does show how much impact the Asm.js optimisations have on performance bringing the code to half the speed of the C based JIT.

Rust now on Rust

Rust, the alternative systems language that’s in development at Mozilla where they are using it to create Servo, a next generation browser, has just hit a huge milestone and entered into some turbulent territory. The runtime system for Rust, including a task scheduler written in C++, has now been replaced by a runtime written in Rust. Brian Anderson on the explained with a mailing list post that this was part of a huge rewrite of how Rust is going to handle I/O using libuv and stopping tasks that are blocked on I/O from blocking other tasks.

Google adds patents to pledge but...

Google has announced it is adding 79 patents to its open source patent non-assertion pledge. Of course the pledge is limited only to things where the patents infringed are within the open source element … so no mixing a bit of FOSS into your proprietary application and hoping you’ll get coverage. Although there are 79 patents in the new batch, there aren’t 79 ideas in there. The count includes patents in each territory too, so take “Computer network for www server data access over internet” that patent is counted ten times, for Belgium, Canada, Switzerland, Germany, UK, Italy, Japan, Netherlands, Taiwan and the US.

Snippets: AOSP, Google Cloud, PuTTY, gNewSense and Mozilla updates

AOSP - Android’s open source problem: JBQ, Jean-Baptiste QuĂ©ru, announced yesterday that he was stepping down as Technical Lead for AOSP, the Android Open Source Project. The problem appears to be a combination of Qualcomm’s desire to keep control of it’s SoC drivers and Google’s inability to shake them of that view despite building Nexus devices which use Qualcomm chips. JBQ has found himself in the middle of this and recent tweets quoted by Android Police seem to bear out that the pressure was getting to the AOSP leader who was being blamed for not getting factory restore images of various Nexus devices out of the door.

Amazon sets up shop for Web Apps

Amazon has announced that it will now be making “HTML5 Web Apps” available through its Appstore. But before you start packaging your web site into a commercial earner, there’s quite a few caveats to the term “Web App”. Firstly, the apps only come down the wire where there’s Appstore apps to sell them to you, so thats Kindle Fires and Android devices. No word on how the rest of the web is supposed to get access to these web apps.

Snippets: Web Storage, VP8, Objective-C Style, Dead Code

Web Storage API: The W3C have moved the Web Storage API to the Recommendation stage which means its pretty much done and in as a standard. The API gives web applications a local key/value store in the browser. The user typically has to grant permission for storage and its strictly limited to a maximum of between 2.5 and 10MB though that has been abusable. Web Storage should though provide a handy tool for application developers.

Firefox 23 has landed

The important things for developers in a rush… Enable JavaScript as a preference setting checkbox is gone. The logic behind this, according to the bug report is “If a user unchecks this box, they’ll effectively render the browser unusable on a large number of sites. We should not ship this option to hundreds of millions of users”. It doesn’t lock JavaScript on though; you can still switch it with about:config, NoScript or similar.

Snippets: FreeBSD 9.2, OpenMP 4.0, Apache/OpenSSL, GNOME/Wayland and Fizz Buzz

FreeBSD: FreeBSD 9.2 is on schedule and with the release of 9.2 RC1 is ready for extensive testing. If all goes to plan then we should see a release at the end of August. OpenMP: From last month but important, the OpenMP 4.0(PDF) specification has been released. The updated API for parallel programming on shared memory systems has support for hardware based accelerators, SIMD handling, new error handling, the ability to set thread affinity, parallel task groups and synchronisation, Fortran 2003 support and more.

Linux 3.10 is this year's Long Term Stable kernel

Greg Kroah-Hartman, master of kernel stable releases, has declared Linux 3.10 to be this years long term stable kernel. That means he’ll be keeping releasing patches for it for “at least two years”, so folks putting together Linux distributions or products based on Linux can count on 3.10 for two years without a need to hop up a version or two to get a fix. Kroah-Hartman also mentions that LTSI, the project which manages a stable patchset for Linux in consumer electronics, is rebasing on 3.