Wednesday, 31 July 2013

Outside of the box and in childgarden

As Sir Ken Robinson, (and The Bible) tells us, children can be an unusual source of wisdom. The one that impressed me the most was a researcher asking children how to save energy in the home. One reply was, "ban toast". This was remarkable for me because children usual love toast, (I know I do) and the clarity of logic when asked why, "because it is already cooked" seemed impressive.

I re-thought toast and found that I only need to toast things for two reasons.

  1. To deal with slightly stale bread, (or as the French would call it, "baget".)
  2. To make it easier to spread refrigerated butter
The first can be solved by re-purposing the bread through soaking it in pickling vinegar and using it to thicken soups. The second can be solved during winter by leaving the butter out and during summer by turning the fridge down, (and a variety of other methods, that sadly require thinking-ahead.)

This naturally lead to me wondering how to improve the refrigerator, and from that direction it seemed obvious that 10x50x1.2mm [0] strips of clear transparent PVC with individual right-angle clips could be attached in rows to each shelf to reduce the cold air flowing out of the fridge each time that the door is opened. The problem is that the things in the door might have reduced cooling and if the cooling required circulation then hanging walls of PVC at the front of each shelf might hamper performance. 

[0] Not all shelves are the same height, so 10x50, 10x100, 10x200, 10x500 mm should also be available.

It is inflammable iregardless of what you think

I had always presumed that people, by which I mean the idea of people that I have in my head contract inflammable to flammable because they are lazy and equate  flame with "will burn". While sticking in on the front of a word has evolved in English to be the default prefix for not or non.

Then we bump into irregardless, (or iregardless - both of which are mistakes.)

Here we see the same people so attracted to a prefix that starts with the letter eye that they mistakenly create a word, (or are they just trying to sound cleverer?)

So should we use the clunky non-inflammable to denote something that does not easily combust to encourage people to burn flammable as a word and return to the one true effigy that is inflammable?

I hope that my own mistakes won't spark a row in the comments.

Wednesday, 24 July 2013

Pi.ranoid Raspberry Pi + Zoneminder

I'm surprised that I have not seen anyone with an image of zoneminder for raspberry Pi. What is even more surprising is that piranoid hasn't been picked up as the obvious name.

I'm now working out if I need an entire slice of Pi or something simpler like an Arduino to automate the watering in a friends greenhouse. The Tinkerforge bricks also look interesting.

My plan requires measuring air and soil humidity, and ambient temperature and the amount of red and blue light. The long-term plan is to also compensate for the lower light levels in winter by enabling banks of red and blue LED's powered by a pico-hydroelectric system.

Add useful links in the comments.

Thursday, 18 July 2013

The Rice Matrix

Cooking rice. Millions of people, (mostly women) do this each day. Despite the 'lacking in vitamin A' issue, rice seems to be a good thing to eat.

A few years ago I started to notice that many people had: The way to cook rice. The thing that interested me was that none of them were the same method. After collecting a few more variations I've come up with a matrix. The two types of rice that are produced I refer to as sticky and long-grain. (If you cook long-grain long enough and without rinsing, it is possible to make it sticky.)

ActionStickyLong-grain
Rinse before ?NopeYup - cold water
Water temperature?HotCold
Rinse after?NopeYup - cold water

As you can see, there are a few different method and actions. Long-grain, (the method rather than the type of rice) could be rinsed with hot or warm water, but most of the people that I interviewed used water directly from the cold-tap.

Water temperature is the temperature of the cooking water when the rice is added, (hot usually means boiling).

Do you cover your rice or leave it open? Can you use less energy if you cook it on a lower setting with this a lid on the pan?

Do you cook in enough water for the cooked rice to swim or do you boil it dry?

This just covers those with a hob, (wood, gas, electric, halogen, induction, Aga) and a pan.

Then there are the risotto type rices and the pudding rices.
This does not include those who swear by their rice steamers, (I'm trying out a new one from Lakeland plastics that goes in the microwave - more on that when I have it.)

How do you do yours, and more importantly, why?

Youtube pumping

With the new HTML5 on a 2Mbps ADSL connection I've found, (in Chromium on an old laptop [0]) that I have to pause the video, (using the space bar [1]) to manually buffer the stream from time to time. I don't know why the browser can't do this automatically, but it feels like it is sleeping/waiting for the browser load to go down before it hits the network. (And when it drains the buffer it stops playing which triggers it to get more.)

I really look forward to HTML5 video, but it seems that there is still a kink in the browser to work out.


[0] 32bit Intel CPU@1.20GHz running Ubuntu Linux with 2Gig of RAM.
[1] it should be possible to disable "space-bar = page down" for pages that have HTML5 video, because paging down when you mean to pause is frustrating.

Wednesday, 10 July 2013

Writing environment

I do most of my writing, (both code and stories) in Linux. I launch screen with my custom screenrc and then use vim. In my ~/.vimrc I have:


function! Doc()
  set linebreak
  syntax off
  set spell spelllang=en_gb
endfunction

function! OffDoc()
  set nolinebreak
  syntax on
  set nospell
endfunction

" so ,doc (comma-d,o,c) typed into command mode runs the Doc() function
map ,doc :call Doc()<CR>
map ,offdoc :call OffDoc()<CR>
map ,od :call OffDoc()<CR>

so when I'm not coding I type ,doc and vim turns into the perfect writing environment for me, . o O ( because I cost it!)  [0]

When I find myself in some strange non-linux OS I use notepad++ (which even works rather well in WINE.)

I should probably use padre.perlide.org. (http://www.sublimetext.com/ just confuses me. Yes I'm that old.) If you are thinking of writing an editor for your website I would strongly suggest that you look at CKEditor first. (Yes RT4.0 I'm looking at you!)

Remember that you can implement an entire wiki, (more than a text editor) with one line of perl: http://c2.com/cgi/wiki?FinikiWiki

[0] Yes this is my L'Oréal joke.

Tuesday, 9 July 2013

Getting It There (git)

git is very interesting. Shockingly easy to learn and clearly going to take over RCS. I think that it is worth noting that like any tool it takes training and discipline. Being decentralised and with branches costing nothing, (now that I've found meld to help with the merges) you can run into problems while learning it.

To that end I think that we should have an acronym competition that highlight the pitfalls of having so much power.

Generating Innumerable Tangents (branch clone)

Generating Invulnerable Tangents (can't fudge the SHA1 tree chain)

Do you have any more?

Wednesday, 3 July 2013

Software Available for Humanity

I've mentioned previously in this blog many impressive pieces of free software. Now while the Google and RMS argue over the meaning of free I proposed a new project: Software Available for Humanity or SAfH, (pronounced safe).

This would be a cross between freshmeat.net (yes I'm showing my age) and PortableApps with a dash of http://directory.fsf.org/
Each program would be one of the best at what it does without any agenda. I don't mind which opensource licence it is under but using BSD/MIT/LGPL would count as being better than GPL, (though still good) and hence rank that piece of software as being better.

Criteria: Nothing bad and certainly no evil.
Listing: platform, Program, function, md5sum (why aren't hashes in a standard form of filename.hash with the string inside of  "{md5}blah filename" so that we can build binary verification into download applications?), version, filename, date added, date replaced, [ list of download locations], author(s), homepage, labels.

Then when someone is looking for "a win32 program to remap keys" they will end up with

{"platform":"win32","prog":"SharpKeys","function":"Remap keyboard;Make certain keys on a keyboard act like other keys", "hash":"{sha1}6b19f64804fb8df3a246303e46307f013993f544", "file":"sharpkeys35.msi", "version":"3.5", "added":"2012-02-14 09:00:00", "url": {
 "codeplex.com","http://sharpkeys.codeplex.com/downloads/get/319724"
}, "author":"RandyRants", "homepage":"http://www.randyrants.com/sharpkeys/", "labels":"keymapper, remap keys, win32, act like another key"}


If we have an API (or just an invisible json string in the HTML) then it should be easy to have a sort of ninite.net application that searches for and installs software. Mix that with SpiderOak, (to remember which applications to install) to backup your data, then you could rebuild your desktop with a single click.

I've noticed that some good honest decent programs in portable apps, like IObit Unlocker Portable don't mind where you install them, (and finally have a sane default install path of CWD) while the corporate lures object to being installed in C:\Program Files\. This would fall into the category of "bad". Not exactly evil, but not "for Humanity". 

When it comes to functions, there is almost always a free version that is faster and certainly with 99% less, "you could 'upgrade'" be that "we have a new version", (Google Chrome, I'm looking at you doing your "silent updates" that seem to freeze older computers) or "buy the full version to get that additional functionality".

The problem now is linking the users, (humanity) with the best free options.
(And listing the functions that are yet to be written.)

Do you have a killer app that you with was on the list? I would not mind how specific its functionality because the search would only match to the users requirements, (so a single scripts that just removes win32.trojan.ransom.834 would be fine if it did just that and nothing else.)

I would start with (for win32):

About this blog

Sort of a test blog... until it isn't