All posts by Rich Boakes

Valentine’s Day: True Love

The hopeful lonely, fire overpriced soft-toys at their unsuspecting targets.

The self-centred married, overspend on guilt-fuelled-tat;
as if to repair the damage done during a year of falling short of the mark.

Lap it up consumers, and remember: nobody will believe it’s true love if it’s not expensive.

Open Science Coding

Portsmouth ICG alumnus David Parkinson recently wrote:

One of these days I’m going to show my python code to someone who actually programs in python for a living. They’re going to laugh. Laugh and laugh and laugh… and laugh. And then cry.

David’s not the first scientist I know who’s said this, for example, I heard almost the same thing from Cameron Neylon last year when he was presenting to my final-year Web Research group.  Cameron (who’s an advocate of Open Science) was demonstrating how he’d hacked up a bit of python to show the growth of Open Access publishing, but at the same time apologising that he’s originally a Bio-Chemist so the code does a job, but doesn’t necessarily do it as well or as ‘beautifully’ or efficiently as it perhaps might.

These are both examples of sharing code after its development.  There are big advantages to publishing experimental code such as this during its development:

  1. It encourages peer review of the experimental process earlier in the project which may reduce the potential for errors due code not doing what is intended.
  2. It provides third party developers with the opportunity to be involved in research by actively contributing to the code by improving it, even if they are not specialists in the subject being studied, their specialism in software development adds orthogonal value.
  3. It provides subject specialists with opportunity to see how their code has been improved so they can learn from this and write improved code themselves next time, possibly seeing new solutions and experiment-options as a result.

Historically (however) it’s common that experimental code is published either:

  1. after papers are written and results are published, or
  2. never (even if there are good intentions to do so, time and funding dry up and the code dies alone).  There may also be historic reasons why it’s not possible to publish code: often research organisations have little experience with Free Software so IPR fears can inhibit the potential openness of any project, but, the more open projects there are, the more opportunity there is for understanding to grow, fear to wane, and open science to blossom.

So, in the near term, developing non-critical code openly may be the best way forward.  If researchers can get in the habit of developing tools, utilities and other small projects openly then that may be the first step to encouraging all scientists to think and solve problems as part of a global ad-hoc developer collective.

Where is the best place to put a fire extinguisher?

Everything is everyone’s collective responsibility.  If you see something that seems a bit wonky, it makes sense to ask questions.  Peace of mind should be the result, but what if you’re not sure, or what if you ask questions and the answers are unconvincing?  So, dear lazyweb, I ask you, where is the best place to put a fire extinguisher?   In the following notes, bold emphasis is mine…

This article from Fire Protection UK suggests that:

The positioning of your fire extinguishers is extremely important as every second counts in an emergency situation and you have to remember that the person trying to find them may be a first time visitor to your premises.

This makes good sense to me.  Additionally Essential Fire Safety add that:

if you can see the whole extinguisher from top to bottom, you probably have good access to it.

County Durham and Darlington Fire and Rescue Service offer that extinguishers should be:

in conspicuous positions where persons following an escape route can easily see them

The Fire Safety Advice Centre observe that extinguishers:

should be fixed where they can be easily seen, fixing them inside cupboards or behind doors will only waste valuable time if a fire breaks out.

Much of this advice appears to be based on BS 5306-8:2012, but that costs £68, so I’m not buying that on the basis of being a mildly concerned citizen.

So, given that this appears to be all common sense stuff, why do so many places hide their fire extinguishers?  For example, here’s my local supermarket.  Can you see the whole of the extinguisher from top to bottom?  Is it easily seen and in a conspicuous position so it will be noticed by a first time visitor to the premesis?

spot-the-fire-extinguisher

Hint: There’s two, nestled behind the blue drag-baskets, next to the stacked charcoal.

 

Fun times with the ever awesome SREs on reddit answering your questions:

Andy Walker originally shared this post:

Fun times with the ever awesome SREs on reddit answering your questions:

http://www.reddit.com/r/IAmA/comments/177267/we_are_the_google_site_reliability_team_we_make/

We are the Google Site Reliability team. We make Google’s websites work. Ask us Anything! : IAmA

Hello, reddit! We are the Google Site Reliability (SRE) team. We’re responsible for the 24×7 operation of Google.com, as well as the technical infras…

Comment on Google+

Technology is gloriously disruptive.

Technology is gloriously disruptive.
Processes change slowly.
In the middle, geeks watch, amused.

For example, today I got an MS Word document (and I don't have word on any of my 3 machines).  The document was emailed to 20 researchers, saying "here is your new website" please send any modifications by return.

I suppose it's progress… they could have sent it hard copy.

Comment on Google+

So, I have an old iPhone 3GS* that is sitting around unused, and a Bose Sound Dock. Is there an app that…

So, I have an old iPhone 3GS* that is sitting around unused, and a Bose Sound Dock. Is there an app that can turn these two items into "an Apple TV speaker" so I can have the Soma FMs Christmas Lounge tracks on in the kitchen without making two connections to their server?

#apple #bose #appletv

* smashed screen / no backlight – everything else works fine

SomaFM: Christmas Lounge: Chilled holiday grooves and classic winter lounge tracks. (Kid and Parent safe!) Commercial-free, Listener-supported Radio

Christmas Lounge. Chilled holiday grooves and classic winter lounge tracks. (Kid and Parent safe!) Listen: MP3: 128k 56k 32k Firewall/Proxy MP3 Windows Media: 128k 32k Popup Player; Listeners: 2310; N…

Comment on Google+

Web browser support for HTML5 Input types, attributes and elements + CSS & JavaScript support:

Robert Nyman originally shared this post:

Web browser support for HTML5 Input types, attributes and elements + CSS & JavaScript support:
http://www.wufoo.com/html5/

Wufoo · The Current State of HTML5 Forms

Many browsers are supporting features of HTML5 including much related to forms. This is research on what browsers are doing what with those new features.

Comment on Google+

On motorways, lowering the speed limit at congested times leads to less congestion because cars don't…

On motorways, lowering the speed limit at congested times leads to less congestion because cars don't have to be so erratic in their braking.  Would the same policy work in an urban environment.  i.e. would average journey times be reduced if the speed limit on main roads were reduced from 30 to something lower at various states of congestion?

/me starts a some background reading and checks out the potential of using our SCIAMA supercomputer.

Comment on Google+

Free stuff usually goes down well, as do competitions, so my students seem to be lapping this one…

Free stuff usually goes down well, as do competitions, so my students seem to be lapping this one up.  3GB extra free space if you sign up and confirm you're at UoP – and if you're already a member, just confirm your membership to get extra free space.

+Dropbox #marketing team: have a gold star and take the rest of the day off.

Dropbox – Great Space Race! – Simplify your life

Dropbox is a free service that lets you bring your photos, docs, and videos anywhere and share them easily. Never email yourself a file again!

Comment on Google+

Reshared post from Jeff Dean

Jeff Dean originally shared this post:

Spanner: Google's Globally-Distributed Database

I and many others have been working for the last few years on building a large-scale storage system that can manage data across all of Google's datacenters.  This system underlies Google's advertising system, among other products.  We'll be presenting a paper describing the system (with 26 co-authors!) at OSDI 2012 next month.  We've now put up a web page with a link to the PDF of the final version of the paper.

Feedback is welcome, of course.

Here's the abstract of the paper:

Spanner is Google's scalable, multi-version, globally-distributed, and synchronously-replicated database. It is the first system to distribute data at global scale and support externally-consistent distributed transactions. This paper describes how Spanner is structured, its feature set, the rationale underlying various design decisions, and a novel time API that exposes clock uncertainty. This API and its implementation are critical to supporting external consistency and a variety of powerful features: non-blocking reads in the past, lock-free read-only transactions, and atomic schema changes, across all of Spanner.

Google Research Publication: Spanner

Spanner: Google's Globally-Distributed Database James C. Corbett, Jeffrey Dean, Michael Epstein, Andrew Fikes, Christopher Frost, JJ Furman, Sanjay Ghemawat, Andrey Gubarev, Christopher Heiser, Peter …

Comment on Google+

Reshared post from Addy Osmani

Detect memory leaks in #javascript .

Addy Osmani originally shared this post:

Leak Finder: Memory Leak Detection For JavaScript

If you regularly work on JavaScript web apps, you'll know that we're unlikely to run into memory leaks in the traditional sense, but it is possible to have objects that are unintentionally kept alive and in turn keep others alive (like big parts of the DOM). 

To help discover these leaks, two of my fellow Googlers (+Marja Hölttä and +Jochen Eisinger) have developed a tool that works with the Chrome Developer Tools (specifically, the remote inspection protocol) and retrieves heap snapshots and detects what objects are causing leaks. 

There's more information (and a whole post on how to use the tool) over at http://google-opensource.blogspot.de/2012/08/leak-finder-new-tool-for-javascript.html and I encourage you to check it out. The project page for the leak finder can be found at http://code.google.com/p/leak-finder-for-javascript/.

Some more info: In case you're wondering why a tool like this isn't already integrated with our Developer Tools, the reason is two fold. It was originally developed to help us catch some specific memory scenarios in the Closure Library and it makes more sense as an external tool (or maybe even an extension if we get a heap profiling extension API in place).

Leak Finder: a new tool for JavaScript – Google Open Source Blog

News about Google"s Open Source projects and programs

Comment on Google+

Google Drive & Permissions I'm trying out Google Plus for some lazy web-publishing and seeing con…

Google Drive & Permissions

I'm trying out Google Plus for some lazy web-publishing and seeing continued file-permission strangeness.  Here's an example in case others are experiencing similar and it's reproducible…

Before I begin, the remote machine looks like this:

rjb@buck-16~/Google Drive/xyz/words $ ls -la
total 48
drwxrwxrwx   7 rjb  staff   238  8 Aug 15:45 .
drwxrwxrwx+ 22 rjb  staff   748  8 Aug 15:45 ..
-rwxrwxrwx   1 rjb  staff   341  7 Jun 10:58 404.html
-rwxr-xr-x   1 rjb  staff   321  8 Aug 15:34 defaults.php
-rwxrwxrwx   1 rjb  staff  6462  8 Aug 15:42 index.html
-rwxrwxrwx   1 rjb  staff  3031  6 Jun 22:25 js.html
-rwxrwxrwx   1 rjb  staff   115  6 Jun 20:21 menu.html

I then locally edit `js.html`.  Note the timestamp and permissions:

rjb-mbp:words rjb$ ls -la
total 48
drwxr-xr-x   7 rjb  staff   238  8 Aug 15:41 .
drwxr-xr-x  22 rjb  staff   748  8 Aug 15:42 ..
-rwxr-xr-x   1 rjb  staff   341  7 Jun 10:58 404.html
-rwxr-xr-x   1 rjb  staff   321  8 Aug 15:34 defaults.php
-rwxr-xr-x   1 rjb  staff  6462  8 Aug 15:42 index.html
-rwxr-xr-x   1 rjb  staff  3119  8 Aug 15:50 js.html
-rwxr-xr-x   1 rjb  staff   115  6 Jun 20:21 menu.html

Shortly afterwards on the remote machine it appears thus – note how the modification time is updated (and indeed the file is updated) but neither the original permission, nor those on the machine where the file was edited, are used):

rjb@buck-16~/Google Drive/xyz/words $ ls -la
total 48
drwxrwxrwx   7 rjb  staff   238  8 Aug 15:54 .
drwxrwxrwx+ 22 rjb  staff   748  8 Aug 15:45 ..
-rwxrwxrwx   1 rjb  staff   341  7 Jun 10:58 404.html
-rwxr-xr-x   1 rjb  staff   321  8 Aug 15:34 defaults.php
-rwxrwxrwx   1 rjb  staff  6462  8 Aug 15:42 index.html
-rw——-   1 rjb  staff  3119  8 Aug 15:50 js.html
-rwxrwxrwx   1 rjb  staff   115  6 Jun 20:21 menu.html

This is syncing between a two OS X Mountain Lion machines.
#googledrive   #apple   #osx

_P.S. I'm using 777 to illustrate the point, that's not normal_ :-)

Comment on Google+