Skip to content

2012

Persistent myths about open access scientific publishing. Dr Mike Taylor in The Guardian

Persistent myths about open access scientific publishing. Dr Mike Taylor in The Guardian:

For Elsevier, the biggest of the barrier-based publishers, we can calculate the total cost per article as £1,605m subscription revenue divided by 240,000 articles per year = £6,689 per article. By contrast, the cost of publishing an article with a flagship open access journal such as PLoS ONE is $1,350 (£850), about one eighth as much. No one expects open access to eliminate costs. But we can expect it to dramatically reduce them, as well as making research universally and freely available.

Drones for good, pirates in the sky

You’re enjoying a sunny day in the park with some friends. You get out your smart phone to find that piece of music your friends really should hear, and all of a sudden, a flock of colourful mini helicopters appears out of nowhere, and perform a gracious dance in the sky above you while the music plays. Then they disappear again.

Sounds futuristic? Yeah, even still looked futuristic when I saw this at the GLOW Festival in Eindhoven, last November:

Science fiction is quickly loosing its fiction part and is becoming reality. The Electronic Countermeasures installation was a proof of concept of the technology, but now the Pirate Bay is preparing for the next step: using these flying robots to build a “low orbit network of server drones”. Let the robots in the sky help you share, independent of providers and regulators.

The military are building drones for “ Non-cooperative, Biometric Tagging, Tracking, facial recognition to follow people in a crowd, so why not use the same tools for to monitor police operations in demonstrations?

http://youtu.be/9vOor1xmVDs

Although still relatively expensive, the drones are a nice addition to the $100 Satellites, using balloons and kites to make maps and asses situations, for instance in the aftermath of the Deepwater Horizon disaster, or working with communities in Peru:

ed7e0b78fe65cad28d00841bacf4b882_MD5.jpg

Lets build Drones For Good!

Deploying a website with lftp

a3e419a79945282c3a90deb03218793f_MD5.png There still are web hosting providers offering only ftp access to your website files. No fun if you’re used to version control systems and shell access.

I had to deal with that situation, and used Linux’s strength: combining several small tools.

I have a laptop running Ubuntu, a website in WordPress, git for version control, and use Eclipse as my development environment. I first looked at Aptana and other options for Eclipse, but I wanted a more light-weight solution that I could also use outside Eclipse.

lftp

Ubuntu comes with lftp, an ftp client that can be scripted and has a “mirror” command to basically get a target location synchronised to a source.

(It actually can do a lot more, and work over http or bittorrent too, but that’s outside the scope of this post.)

.gitignore

Not all files need to be uploaded. Typically, the.gitignore file already has a list of files and directories that are not under version control and wouldn’t go live when using git to update a server.

The lftp mirror command lets you exclude files and directories too, but curiously has no option to read a list of exclusions from a file. Martin Boze wrote how he fixed that, by using sed and tr.

scripting

I didn’t want to write a series of lftp commands, but instead would prefer to connect once, then run a series of transfers, inside a single script.

Specifically for WordPress, I also like to have a local mirror of images and documents uploaded on the live site.

It is possible use lftp as the shell to run a script, but unfortunately, it’s not possible to use environment variables or Martin’s “sed” trick in such scripts.

But it’s not to hard to do using the Heredoc syntax.

git branches

I use branches in git to separate my development version from a preview and a live version. By adapting the upload script in each branch, I can simply call “deploy” to upload the files to the right place.

#!/bin/bash
lftp <<EOF
user ftp-username ftp-password
open ftp.provider.com

# "mirror" from local copy to server, use .gitignore to excude files (sed, tr), delete remote files if needed
mirror -R -e -v -x \.git.+ -x scripts \`sed 's/^/-X /' .gitignore | tr '\n' ' '\` /var/www/dev_sites/website.org /www

# wordpress-specific
# "mirror" uploaded images on live back to local, don't delete local files if not on remote
mirror -v /www/wp-content/uploads/ /var/www/dev_sites/website.org/wp-content/uploads/
EOF

The only thing left to desire is a way to speed up ftp deployment…

Captchas and crowdsourcing

What if… you can help 100 million people to learn a new language, and let them help translate the web in return?

TEDxCMU — Luis von Ahn — Duolingo: The Next Chapter in Human Computation (by TEDxTalks)