Manually remove a broken package on Debian/Ubuntu

The other day, after a do-release-update on an Ubuntu box I had some issues with a package which told me:

Errors were encountered while processing:
BROKEN-PACKAGE
E: Sub-process /usr/bin/dpkg returned an error code (1)

here’s how I solved:

mv /var/lib/dpkg/info/BROKEN-PACKAGE.* /tmp/
dpkg --remove --force-remove-reinstreq BROKEN-PACKAGE

(via)

Quote

A decade ago, arguments against DRM for downloaded music focused on the claim that users should have control over the music they purchase. Although these arguments may not seem to apply to subscription services, it is worth remembering that DRM is fundamentally a problem because it means that we do not have control of the technology we use to play our music, and because the firms aiming to control us are using DRM to push antifeatures, raise prices, and block innovation. In all of these senses, DRM in streaming services is exactly as bad as FairPlay, and we should continue to demand better.

via Benjamin Mako Hill

solving DESeq2 installation issues

At work a colleague asked me to do a system-wide installation of the R module DESeq2 in one of our internal servers.
The installation procedure is quite straight-forward:

source("http://bioconductor.org/biocLite.R")
biocLite("DESeq2")

Unfortunately I had some issues on my system, in fact I got:

…
Warning in fun(libname, pkgname) :
couldn't connect to display "localhost:12.0"
* DONE (maSigPro)

The downloaded source packages are in
	‘/tmp/RtmpfdD2RC/downloaded_packages’
Warning messages:
1: In install.packages(pkgs = doing, lib = lib, ...) :
  installation of package ‘XML’ had non-zero exit status
2: In install.packages(pkgs = doing, lib = lib, ...) :
  installation of package ‘annotate’ had non-zero exit status
3: In install.packages(pkgs = doing, lib = lib, ...) :
  installation of package ‘genefilter’ had non-zero exit status
4: In install.packages(pkgs = doing, lib = lib, ...) :
  installation of package ‘geneplotter’ had non-zero exit status
5: In install.packages(pkgs = doing, lib = lib, ...) :
  installation of package ‘DESeq2’ had non-zero exit status

I then tried to install manually the various dependencies, like XML. Still no luck. After a quick Google search I found that I was missing a couple of -dev packages on my Ubuntu machine, so I installed them:

root@server:~# apt-get install libcurl4-openssl-dev libxml2-dev

… and then re-tried to install DESeq2. This time everything was ok. Problem solved!

mhddfs – group many drives in one folder

mhddfs in action

http://www.linuxjournal.com/content/many-drives-one-folder

The mhddfs program is a userspace application that creates a virtual mountpoint. Using standard drives (USB, network, RAID, whatever), it concatenates the storage into a single volume. When you write files to the virtual volume, it just saves them to the underlying drives until one of them fills up, then it moves to the next.

Cakebrew, the Mac app for Homebrew

Homebrew is a package manager for an easy retrieval and installation of open source software on OS X. With Homebrew you can install thousands of command-line applications that would require manual compilation, which is not always very straight-forward.

Cakebrew is a community effort, that brings this to a whole new level of simplicity. Install command-line tools from an App. Could it be easier?