Sunday 22 December 2013

Designed, Tested and Built my own Casio F-91W Watch Mount with Velcro Strap

I made a thing. http://www.thingiverse.com/thing:207405




















I made this watch mount because my watch strap had become more zip ties than watch strap! Instead of buying a new strap I decided to design a new mounting system. Feel free to edit this design online / remix for other watches etc: https://tinkercad.com/things/lMWv4Bp4AqU This is my second uploaded design to thingiverse, I would value feedback. Thanks!

https://tinkercad.com/things/lMWv4Bp4AqU-casio-f-91w-watch-mount-with-velcro-strap

Saturday 21 December 2013

Getting Inspired by Buckminster Fuller: freedom, design and resilience in retirement




Last night, I was watching an interview with Buckmister Fuller and I was inspired to stay up late 3D printing PLA and ABS vertices for creating a 50cm diameter geodesic dome. When the final parts had been printed I was exhausted so I collapsed into bed.

Then the next day I thought of an anecdote I read in a Richard Feynmen book (probably surely you are joking Mr Feynman) when as a child working at a hotel he used to put carrots in rows and cut them in parallel in order to save time so I made up a jig to make cutting the A and B struts to length much easier. Having finished printing, cutting and colour coding... I have just built my first geodesic dome out of wood and plastic:
* Diameter: 50cm
* Height: 25cm
* 20 x Hexa-connectors
* 6 x Penta-connectors
* 35 x Long sticks: 154.5 mm (Green)
* 30 x shot sticks: 136.6 mm (Red)

I printed 20 hexagonal vertices (.stl) in white ABS:
https://thingiverse-rerender.s3.amazonaws.com/renders/09/c7/1b/4a/98/Micro-dome-hexa_preview_featured.jpg

6 pentagonal vertices (.stl) in red PLA:
https://thingiverse-rerender.s3.amazonaws.com/renders/b1/6b/04/ed/3a/Mini-dome-penta_preview_featured.jpg

I found these files at https://www.thingiverse.com/thing:26860 and I printed them at 1.33333 scale from the original files (in order to make the vertices accept the 4mm diameter wooden rods I had chosen for the project). I cut 35 long 'B' struts of 154.7 mm and 30 short 'A' struts of 136.6mm. I arranged them in the following pattern in order to make a basic geodesic dome:
http://simplydifferently.org/Present/Data/Geodesic_Dome/dome/22-2v-1_2.map.png
Here is a photograph of the finished structure:





















Credit and thanks to http://www.thingiverse.com/obijuan/overview for creating and uploading the files to thingiverse! I have hung the completed geodesic dome on the wall at the Factor e Farm hackerspace which has become more established during my visit.

I hope the geodesic dome in an inspiration to people and not only a nice decoration but also a symbol of Dymaxion (or doing more with less) and that Buckminster Fuller's principles can be usefully employed in the creative work output of and evolution of the space itself!

I was watching some Buckminster Fuller content in the evenings and I was quite inspired so I decided to transcribe some of the sections:

Buckminster Fuller: The Fuller World - Design Scientist (Episode 1)- @ 21m 00s
"So design then seems to be to me a highly objective, conscious, reconsiderate- a imagination that uses a great number of experiences and integrates the effect of those experiences and discovers principles which operate in the special cases and views those generalised principles and then is not just subjective about them, not just a philosopher about them, but begins to actually apply them and those generalised principles to many specialised cases.
I find the design then also goes into a number of tools all these designs are realised in external actions beyond, outside, of man and they relate to man reorganising his environment and reorganising his environment so that his environment begins to work for him- so the spider can go to sleep and the net keeps on working catching the flies not only which are going to support her but also her regenerative function of producing more spiders and so that these tools then get to be an extension of the internal functions of the living species and which their function goes on even when they're present or not. This is an extraversion of internal functions of the individual and it seems to me then to be a very powerful kind of a capability."
I was also taken by another section of the same video content:

Buckminster Fuller: The Fuller World - Design Scientist (Episode 1)- @ 23m 34s

"I see then that the design function can go in several important directions- it can go in defensive directions to build a wall around us to protect us where we do not do too much thinking but we simply learn by experience that a certain amount of bulk, a certain amount of physical matter will frustrate anybody trying to approach us and we have then defensive design and this then tends to be contractive to contract the dimensions of our lives. Then there are expansive ones, designs which increase our freedoms designs which give us levers, designs which use the lever or a plurality of levers as fulcrums to make a series of poll vaultings and that would be finally becomes a wheel where there is many spokes and that wheel then begins to increase the areas that we can visit so that this would be then kind of design an affirmative design as an expansive design where man begins to increase the totality of the area of which he experiences and he increases the amount of time of his experiences by accelerating experiences so that he can have the equivalent of the experiences of many many lives all in one life by the acceleration and the reorganisation of the experiences so that he can have the experiences of many men, all that is by conscious design."

Getting out of the Matrix
http://i.stack.imgur.com/etifr.png
I felt as though he was speaking directly to me in that by accepting other peoples opinions, views and fears and uncertainties about the world as being some kind of objective truth and not questioning things we don't live free and expansive lives. We don't make plans which allow us to increase the areas that we can visit, to increase the amount that we can experience. Instead we get caught up in security of material possessions, the security of employment and the security of person and irrational fear of other people and other cultures limits experience and this is all a kind of defensive building of walls as we surround ourselves with stuff and all of this tends to limit experience and reduce mobility.
We also have a fear of homelessness that prevents us from going out into the world and experiencing the world and trusting in the kindness of strangers so instead we consent to get jobs and pay rent and most adopt the 9 to 5 pattern of daily life with a predictable life-story arc and mostly the only choices we make are as consumers.

My retirement plan: creating my own living system
In response to Buckminster Fuller's words in that video, my imagination really fired up as I started to think about how I could use design to change the environment around me in such a way that would extend my internal functions and reorganise my environment so that it would work for me... so that it would, in the fullness of time, support me... as I think of my own future, I would like to eventually create a living system, by which I probably mean a forest garden, which I had designed after much studying and having made the tools to make the tools to make the tools.
https://upload.wikimedia.org/wikipedia/commons/2/27/Forgard2-003.gif
By going to this level of recursion it would be a bit slower for me but it should scale to work on the general analytical and algorithmic approach and be just as efficient or fast as if I had undertaken the problem as a 'solve for one, once'. As the vision of numerical gardening, open source farming tools and methodologies and building living systems and forest gardens as a long game / long view route to autonomy would encompass and engage many others to also work on the shared problems that we all face and then others might be able to do the same.
https://upload.wikimedia.org/wikipedia/commons/5/5d/Advanced_Automation_for_Space_Missions_figure_5-29.gif

I would like to secure the potential for my own freedom and the continuation of autonomy throughout my life rather than follow the life pattern which would seek to build a 'defensive structure' around me in Bucky's words... I also dismiss the pessimistic conclusion that activism or anarchy or 'being liberal' is the preserve of the young and that exploration and travelling is the rite of passage of the young and that slowing down or settling down is the inevitable conclusion or natural trend for anyone trying to have a family life. The truth is that the net closes as we ourselves choose to set the trap and we choose to fall into it. We choose to gradually limit our experiences and slow down. This is in our design as we 'prepare for the future' within the parameters and boundaries that are expected (think: 'build a career', 'saving for your pension'). This sounds like building a defensive structure and slowing down the rate of human experiences. I would rather live several lifetimes worth of experiences as Bucky suggests.

Resilience in Retirement
So why should my priorities change? How would my heart change as a function of age? I would like to exercise my choice and plan ahead for my own future in my own way. I would like to build a structure or plan for resilience in my own future which will allow me to continue to explore and learn and experience more, increasing the area in which I can move- being like the wheel and not the fortress which we supposed was to keep others out but which is actually a cage of our own making and designed to keep us in.

Hackers, Back to the Land
So imagine a process by which land that you want in a place that you like could be acquired. Not competing with any markets, or choosing somewhere trendy... just plain old unwanted / unused land in a country that you like.
https://upload.wikimedia.org/wikipedia/commons/e/e7/Vincent_van_Gogh_-_Green_Field_-_Google_Art_Project.jpg
Maybe a software agent would take your current bank account or savings or a projection and generate search hits and there would be a reporting feature...

You get lucky one day and then start to tend the land by using natural processes to get the land to become 'regenerated' and then a productive living system gradually over your lifetime and transformed from dead soil or useless land into living soil and a forest garden in which you have planted trees that take 15 or 20 years to grow and can then sustain / feed you.
https://upload.wikimedia.org/wikipedia/commons/d/d5/Forestgarden2.jpg

Tending the Garden and Watching it Grow
All the while you continue on with your normal life elsewhere in the city or travelling or whatever... but through well timed purposeful, organised planting, sowing, watching and community building it can yield food and fuel. Then your land has more value over time and you then kind of inherit it later in your own life as a living system that will support you and others with fuel and food.
https://upload.wikimedia.org/wikipedia/commons/4/46/Coppice2.png
https://upload.wikimedia.org/wikipedia/commons/5/5e/Coppice_stool2.JPG
Computational / 'CNC Gardening'
(did I just coin a new term? if so, yay!)
"Numerical control (NC) is the automation of machine tools that are operated by precisely programmed commands encoded on a storage medium, as opposed to controlled manually via hand wheels or levers, or mechanically automated via cams alone."
I would envisage that having acquired such land I would like to make a plan for it and I will have developed (at least a first / rough version) of some algorithmic / computational approach to gardening combined and fused with radical (but traditional) techniques of permaculture and living forests with calculations and site plans that I have made- obviously as a function of climate, soil type, USDA growing zone and local ecosystems etc.

Initial Conditions
Think of it as choosing the best 'initial conditions' for the natural progression and natural evolution and development of a 'living system' which could sustain a family / or a community that I would like to be part of later in my life.
https://upload.wikimedia.org/wikipedia/commons/e/e5/Gospers_glider_gun.gif

The way I would see it, I would attend the site at various points during my life to gently shape and guide the process but, for the most part, nature would take its course and the land and the system that would be developing there would be largely auto-catalytic and autonomous.
https://upload.wikimedia.org/wikipedia/commons/5/55/Sigmoid_curve_for_an_autocatalytical_reaction.jpg
The rate law for the second order autocatalytic reaction
A + B \; \stackrel{k}{\rightharpoonup} \;2B
is the following one
\ v = k[A][B].
The concentrations of A and B vary in time according to
[A]=\frac{[A]_0+[B]_0}{1+\frac{[B]_0}{[A]_0}e^{([A]_0+[B]_0)kt}}
and
[B]=\frac{[A]_0+[B]_0}{1+\frac{[A]_0}{[B]_0}e^{-([A]_0+[B]_0)kt}}.
The graph for these equations is a sigmoid curve, which is typical for autocatalytic reactions: these chemical reactions proceed slowly at the start because there is little catalyst present, the rate of reaction increases progressively as the reaction proceeds as the amount of catalyst increases and then it again slows down as the reactant concentration decreases. If the concentration of a reactant or product in an experiment follows a sigmoid curve, the reaction is likely to be autocatalytic.
Onto the next part in the video:
"We can see then how man could develop designs for keeping other men from bothering him by building a prison this would be a constrictive design and then he could design ways of helping human beings as for instance he notices of the great many automobile accidents and in the early days of the automobile accidents we used to put up more and more signs warning people that there's a dangerous area, we sent out more motorcycle policemen and had more traffic policemen. I saw that instead of trying to reform man, you could reform the environment. We could go in for divided highways, we could go in for split level highways, we could go in for appropriately banked turns so that people could get from here to there with great ease, they could be themselves, they would do logical things in relation to their natural physical senses and be able to get from here to there much more rapidly so that would be what I would call such highway design would be what I would call affirmative and 'degrees of freedom' increasing design in counter distinction to the stoplight, the sign which says slow down don't get there as fast, don't have as much life and then the very constrictive design of a prison which you say you are a dangerous driver and you have been a dangerous driver so long that I am going to take away your car and take away your motion and I am going to restrict you even more by saying that you can only move around within one acre here inside the prison so we see the design can, consciously understood, greatly enhance our species and it can be very fearfully used to constrict our freedoms and if not used at all can render us less effective than other species. What really distinguishes man from all other living species is the magnitude of which he has employed the design capability."

Thoughts on the Current Game
I relate to this in terms of how to think about man-made climate change and, in general, how to change the world through invention.
File:Global Temperature Anomaly.svg
-telling people to use less will not be the final solution. There are many many more of us coming.
-telling industries controlled by a capitalist system to turn less of nature into goods will not work. Their game is increase GDP and make 'more'.

A solution?
-use design to create and inform a gentle transition towards the highest energy output (maybe like Nocera's technology) for lowest environmental cost and make this the easiest path for industries to follow. The game here is essentially work to 'change the game' and inspire as many people as possible to do the same and help them to stop themselves working really hard on the wrong problems and make 'better' not 'more'.

Final thoughts from Factor e Farm and introducing a new Hackerspace


http://www.ecointeligencia.com/wp-content/uploads/2012/09/open-source-ecology.png

I have begun to tidy up my project areas at the Hablab at Factor e Farm, at the Open Source Ecology Project. It is two days before I am scheduled to fly back to Berlin which, by the way, is an enormous distance from here at around 4734 miles away.


I am reminded that over 5 weeks ago I did the same journey to get here and I have experienced and accomplished a lot since then, here is a link to my wiki work log: http://opensourceecology.org/wiki/Samthetechie_log and a photo of all my finished tickets from our (analogue) scrum board:


Yay for the Hablab!
I would also like to thank everybody that has previously worked on the hablab. I am sure my stay here was in relative luxury compared to when you were actually building the hablab! I saw the videos of its construction and it looked like really hard work!


The Story of HabLab: 2011-12 from Open Source Ecology on Vimeo.

I hope that during my stay I have left it a bit better than I found it (both the Torch Table and the Hablab) and that the next DPVs at the farm will do the same again. We are all giants standing on the shoulders of giants.

There have also been some real highlights of the trip that happened offsite:
Kansas City 2600 Meetup



Dropping in on a Friend 
Funnily enough the surprise was very much on me...



Hammerspace in Kansas City 
Visiting the local hackerspace!
 

FactorEFarm Hackerspace 
I hope that my time here has been useful to OSE and has been well spent and that the action of setting up a mini hackerspace is generative and makes the space more productive and I hope that the space will continue to exist at the farm and be built on by others. http://hackerspaces.org/wiki/FactorEFarm
 



















An Invitation
I would also like to warmly invite all hackers, makers, engineers and others who are interested in working on the project remotely or indeed those who would consider applying to do a dedicated project visit and I am happy to speak to anyone who wants to know more about my experiences while I was a DPV here.

Jan 2014: CEB Press
The next meetup at Factor e Farm will be in January 2014 where people will be working on the CEB press I would be cool to come back out here with a team of Engineers (we need specialists in Electronics, Electrical and Mechnical Engineering- background in hydraulics would be a plus!) and also someone who is dedicated to taking photos, videos and is good at wiki editing / blog writing and documentation / storytelling.

Tuesday 22 October 2013

The Aaron Swartz Memorial Hackathon

Image of Aaron Swartz by Fred Benenson. CC-Attrib 2.0
Less than a year ago, the death of Aaron Swartz shocked us with sadness. This young man, one of “our own”, gave in to despair and lost the biggest fight of all. His death reminded the activist community of our need to take care of each other even as it woke many in the world outside our community to some of the issues about which Aaron cared so deeply. In the wake of his death, people from all over the world gathered in hackathons to work on some of those very issues, and now we plan to come together again for Aaron’s birthday.

On the weekend of November 8-10, there will be simultaneous hackathons in San Francisco, Seattle, Austin, Chicago, Boston, Buenos Aires, Berlin and perhaps where ever you are, to celebrate the life of Aaron Swartz by working on projects relating to privacy, open data, open government, open science, or justice. Each location will pick one major topic or project to work on, something highly hackable with opportunities for people of any technical level to get involved. All products produced during the hackathon should be released with an open license. The global event coordinators recommend that videos and text be Creative Commons-licensed CC-By-SA, and code be licensed under the GPLv3.

Each event will start with a mini-unconference of one to two hours in which participants will be able to give lightning talks about the topic that the local event has chosen as its focus. People can present specific challenges related to the local topic, or inform the group about the local project, why it’s important or how it works. Wherever possible, these short talks will be recorded and streamed live so that remote participants and participants at other locations around the globe can see them. Once the talks have been given and the challenges discussed, the hacking will begin.

Normally the advice is that you can’t pull together a decent hackathon in less than a month, but this is different. If you do not live near one of the currently confirmed events, there is still time to organize an event in your area. The event need not be large, and if you don’t have time to find sponsors to feed your hackers, just make it a potluck. This is not a slick event. It is a memorial for someone we lost less than a year ago and a celebration of the activism that we share as a community.

If you are able to organize a local event, big or small, please visit the hackathon wiki page to learn more and contact aaronswhack@numm.org as soon as you have confirmed your location and time.

Wednesday 31 July 2013

I quit Twitter: @samthetechie

I just quit Twitter https://twitter.com/samthetechie at https://ohm2013.org/










My digital privacy is very important to me so after the opening talk from @gmc at the Ohm2013 - Observe Hack Make hacker camp, I just quit Twitter. Many people are doing the same today. So please join us. Also, I am about to leave all social networks apart from Diaspora...Feel free to start a debate and ask me why below.

Today is the day, not tomorrow, not next week. I am here to help you to transition to Diaspora and other stuff. Just ask me any technical questions- I am happy to help.

I am also deleting facebook later so, if you *want* to actually stay in touch with me and invite me to stuff then send me an email and also please add me on Diaspora now: samthetechie@despora.de ‪#‎howto‬ ‪#‎diaspora‬ http://www.wikihow.com/Join-Diaspora

Saturday 20 July 2013

Cryptoparty Handbook for Kindle

cryptopartykindle.jpg CryptoParty Handbook!

Cross-posted from: http://cryptoparty.blogspot.com/2013/07/cryptoparty-handbook-for-kindle.html

The CryptoParty Handbook tries to provide a comprehensive guide to the various topics that might come up while investigating the realms of computer and internet security and is designed to be a practical guide during Cryptoparties.

Get the Handbook

The book is written in markdown and then compiled into various formats. Download it as .pdf .mobi .epub or .md

Don't take any wooden nickels!

You should always check the fingerprint of downloaded files using commands like sha256sum and compare the resulting hashes against hashes provided by other sources. So if you spread the news about the book, please spread the hashes as well!
The following handbook files have been hashed using sha256sum as a post build step after make install is run on the handbook source code, the results are:
dc73608cc85186247e278a84cd85afcec6062325baf4ce87840d515a26a03b92
cryptoparty-handbook-2013-07-10.epub 
 
d8f440cf6d925c332decfcf4c01b0f73d323a59a6639cfd9f0d3c051927cf442
cryptoparty-handbook-2013-07-10.md 
 
33e46514a8e6b376155ad460aac8e7c704b6b849267b6fb2f80f9e84fc5e65e7
cryptoparty-handbook-2013-07-10.pdf 
 
9d46af4e2523865f300a6f86f9fd7824500417d98ff4512bb8a0a45aead66df5
cryptoparty-handbook-2013-07-10.mobi
 
(download)

Get the Saucecode

Writing the handbook is a group effort. For collaboration github is used. Although primarily used by programmers, github provides a very comfortable editor for markdown. Just register, clone the handbook repository, edit it and file a pull request (it is really not hard, just try it out).

Tell us what you think

Please submit bugs, issues, ideas and comments here: github

CryptoPartyHandbook for Kindle

We are thrilled to announce that the Cryptoparty Handbook is now Kindle-friendly. Please download .mobi .cover.jpg and metadata.opf and place all three files into your Calibre Library.

Wednesday 19 June 2013

Optimised Companion Planting / 3D Gardening Simulations

Updates (13/8/14):

The Effect of General Computing on Gardening?
Increases in the availability of general computing and processing power allow computers to be used to solve everyday problems where perhaps it was not considered necessary or required beforehand.
For quite a while I have thought that there must be a way to leverage available data online, 3d modelling software and information about companion planting relationships to help generate suggestions for gardening.

Garden Sim!
So whilst I have been experimenting with the following ideas whilst thinking about generating optimal planting strategies for gardens, I am not setting out to make the next version of Garden Simulator. But then again, I don't know what I am missing because I have never played it but come to think of it, I would rather actually do some real gardening, I mean- you cannot eat simulated fruit and vegetables which is, after all, the motivation for all this!
Given that general computing is ubiquitous and there is a lot of data available, it is worth investing some time to develop or experiment with simulation techniques even if only to generate new and interesting questions or spot opportunities for generating valuable insights for gardeners though a more targeted application of simulation for hard problems related to gardening / producing food effectively.

Simulation Overload?
It is important to realise the limitations of simulations. A professor in robotics once told me about the complexities in accurately and analytically modelling the motion of a moving rover with wheels taking into account wheel slippage and changing friction between different surfaces (not always clean, dust changing frictional constants etc). In the end it is just not practical to model the movement of the rover in this way and it is more beneficial to spend effort designing error-correcting feedback loops based on data from inertial navigation units (INUs). So at some point, simulations break down and become meaningless.

Empirical vs Analytical
Of course there is a lot to be said for adopting both empirical approaches and analytical approaches to this (and all) problems and the fact that there does exist analytically optimal solutions, does not diminish or replace the importance of 'local expertise' or other empirical bodies of knowledge. The problem is that 'local expertise' is not always available to be interrogated and expertise not always free.

Social
One of the most important things that a new gardener can do is connect with other (local) gardeners and share information for mutual benefit, but when just starting out it does not hurt to have a starting point like a computer-generated plan for a new vegetable plot rather than just a blank canvas. Then once you have this 'template', what better way to fill in the details that to consult a gardening 'hivemind' like stackexchange: http://gardening.stackexchange.com/

Toolbox
Here are some of the things I have been experimenting with in pursuit of these ideas:

What does the solution look like?
Firstly, the desired solution is a list of viable plants and some graphical representation of their optimal arrangement given some arbitrary input conditions.

Factors
It is important to think about about which factors might be significant in terms of the productivity of the garden which is, effectively, an artificially created natural system. Obviously the plants need the right weather conditions and nutrients in order to thrive and be productive which limits the selection of which species are sustainable i.e. require the least intervention / effort in order to be viable. In order to address this we often read gardening books or talk to neighbours in order to generate suggestions about what might work and what might not work.

Process
A lot of the fine detail and procedural knowledge gets left out of this process and we often end up with single solutions or a collection of disparate facts about gardening but not a complete system design / arrangement. I.e. nothing that is really actionable.

Context
I think it is important to establish the overall picture then pursue knowledge about its constituents in the proper context which means coming up with a plan or, at least, the beginnings of a plan before trying to leverage expertise on a specific topic.
 

We can intelligently select plants that are going to thrive in a given geographic area and a given time of year by looking at the shared results of trials from those who have tried before us. To the left there is a map showing the south east of england with a number of crowdsourced (variously around 8 to 9a) gardens which are in a particular USDA Hardiness Zone. This is a geographically defined area in which a specific category of plant life is capable of growing, as defined by climatic conditions, including its ability to withstand the minimum temperatures of the zone. Links to USDA Zone Gardens on myFolia:
1 2 2a 2b 3 3a 3b 4 4a 4b 5 5a 5b 6 6a 6b 7 7a 7b 8 8a 8b 9 9a 9b 10 10a 10b 11 11a 11b 12 12a 12b 13 13a 13b 14 
To the right is a temperature scale of hardiness zones, showing the average annual minimum temperature in degrees Celsius. The main factors determining average minimum temperature are elevation, latitude and proximity to the coast.

Given a set of input conditions like location, time of year, available soil types, soil pH, there must exist multiple optimal solutions to make the 'best' use of arbitrary amounts of available garden space. This result could be derived from comparing and contrasting all available gardening advice in published books and scientific literature about edible plant species (analytical) or it could be derived based on reports on what has worked and what has not worked from thousands of crowdsourced trials (empirical).

With sufficient levels of computing power and sophisticated techniques for making use of all that distilled knowledge, we can begin to provide optimal, informed, solutions to simple questions which are meaningful to people.

Why? Human beings need to eat!
What? should I plant? (plant species)

How? do I plant it? (plant spacing, techniques, techniques, particular details, tutorials and guides),
Where? perhaps somebody else technically owns the land but you can collaborate and share to make it possible to grow food.
When? gardening calendars can be drawn up to orgnise and plan.
Who?  Once list of plants is established it is possible to link to available crowdsourced data and also a network of people in order to help realise the intention of growing those plants. Seed swaps can be organised, information exchanged between people. Land / effort can be shared for mutual benefit.

Scraping Data about Plants with urllib in Python
Having generated a list of potential viable plants based on USDA zone, we can start to query datasets in order to get data about individual species.

Getting data about carrots:
values = {'query' : "carrot" }
data = urllib.urlencode(values)
version = choice(user_agents)
headers = { 'User-Agent' : version }
req = urllib2.Request("http://myfolia.com/plants/search", data, headers)
htmlText = urllib2.urlopen(req).read()
soup = BeautifulSoup(open(htmlText))
#need to parse the response and 'click' on first link in the results
Xpath to that top link: /html/body/div/div[2]/div/div/div/div[2]/ul/li/h2/p/a
which gives this: "plants/9-carrot-daucus-carota-subsp-sativus" path which should be combined with the base URL: "http://myfolia.com/" to give this link: http://myfolia.com/plants/9-carrot-daucus-carota-subsp-sativus

Then we need to scrape again, this time to targeting the plant data we are interested in.

Xpaths can be used to assist scraping:

name:      /html/body/div[2]/div[2]/div/div[2]/h1

latin name:    /html/body/div[2]/div[2]/div/div[2]/h2/em

height:    /html/body/div[2]/div[2]/div/div[3]/div[5]/div/form/ul/li[4]/label/span

width:    /html/body/div[2]/div[2]/div/div[3]/div[5]/div/form/ul/li[4]/label[2]/span

Once we have scraped all the data about plants we are interested in, we can then use that data to generate crude representations of the plants in 3D to assist geometric optimisation, identification and general arrangement:
cylinder(x, y, z, d, h, common_name, latin_name) {x,y,z} is the position in space.
cylinder(0, 0, 0, 2.5/2.54, 15/2.54, "orange", "Carrot", "Daucus carota subsp. sativus")     cylinder(15, 50, 0, 100/2.54, 120/2.54, "purple", "Rosemary", "Rosmarinus officinalis") cylinder(115, 100, 0, 120/2.54, 90/2.54, "green", "Courgette", "Cucurbita pepo var. cylindrica") cylinder(215, 150, 0, 50/2.54, 150/2.54, "red", "Tomato", "Solanum lycopersicum")
cylinder(315, 200, 0, 100/2.54, 50/2.54, "orange", "Potimarron", "Cucurbita maxima")
cylinder(415, 250, 0, 90/2.54, 30/2.54, "darkgreen", "Melon", "Cucumis melo")

generating cylinders with Python in Sketchup, representing mature plants based on crowsourced data scraped from myFolia
Abstraction
Understanding this problem at the appropriate level of abstraction given the techniques and the data available is required to actually provide something practically useful. Not all data is available (yet), not all manipulated variables / factors have as significant an output on the overall performance / output of the system and some intentional tweaking of the physical or chemical environment can take place in order to support an otherwise unsustainable but, nevertheless, desired species.
Whilst the last comment might seem like an endorsement to use fertilizers and automated irrigation systems, it is important to recognise that inventions ranging from clothing to central heating and insulation in homes have allowed species (homo sapiens) to thrive in unlikely places which would otherwise be inhospitable for us.

Breaking the Problem Down Further
  • 3D representation of the plants (ranging from simple cylinders with a radius and height, to complex and detailed 3D models).
  • 2D geometric optimisation algorithms and constraints
    • strategies to ensure optimal plant spacing
    • implications for maintenance, access to work on and tend to plants
    • best adherence to companion planting relationships:

    • reduction of monoculture / simple rows and drills of the same type of plant (as far as I know we dont tend to find neat rows of plants in nature, certainly not dense islands / clumps of only one type of plant so this cannot be optimal).
    • model as charged particles which attract and repel each other?
    • model as a free body diagram / series of interconnected springs + masses f = kx ?
  • which plants should be selected based on nutritional / aesthetic requirements of the gardener?
  • implications of the geographical location of the garden?
    • compbined with the time of year:
      • hours of daylight per day.
      • path of the sun over the garden.
        • local objects which shade the garden like trees or large shrubs
      • local climatic conditions and weather forecasts.
        • average rainfall and its distribution of rainfall throughout the year?
        • frost risk?
  • which other plants complement those selected / suggested?
    • which provide provide each other with complementary macronutrients?
      • rate of deposition of nitrates via nitrogen fixing nodules on roots (e.g. legumes)
  • which are responsible for localised inhibition of pests or other competing species of plant?
  • which provide competition for macronutrients, micronutrients?
  • Effects of size of plant and shadow casting / root growth of plants over their lifecycle which affects the casting of shadows and nutrient uptake and therefore have implications about orientation of the plot to the path of the Sun and inter-plant spacing.
  • desired ratio of species based on yield per plant
Having considered some or all of the above at varying levels of abstraction, it would be useful to output:
  • a diagram showing optimal spacing and juxtaposition of plants in the form of a 3D representation of the planting bed.
  • which can be exported in 2D Top / plan view.

  • A list of plants and planting schedule for reference in the garden.

Wednesday 5 June 2013

Cryptoparty.org Backup


Last night one of our members emailed the cryptoparty mailing list to say that the cryptoparty.org website was unexpectedly down. The site currently displays the text "Suspended due to spam."

It is a shame that people looking forward to attend cryptoparties this week who had publicised links to the website for their events will find that they are now broken.

Several members from the community, including myself, periodically scraped the cryptoparty.org website in order to ensure that everyone's contributions were not lost. My scrape was made with:

wget --recursive --no-clobber --page-requisites
--referer="http://www.google.com" --user-agent="Mozilla/5.0 (Windows;
U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
--random-wait --html-extension --convert-links
--restrict-file-names=windows --domains cryptoparty.org --no-parent
https://cryptoparty.org/wiki/CryptoParty

Current List of cryptoparty.org mirrors/backups:

https://www.torservers.net/mirrors/cryptoparty.org/wiki/ (site as of 3rd June 2013)

http://www.samthetechie.com/cryptoparty.org/ (site as of 21st May 2013)

http://www.samthetechie.com/cryptoparty.org.tar.gz (backup, archived)

http://web.archive.org/web/*/http://cryptoparty.org/ (several snapshots over time:)


Saturday 16 February 2013

How I got my Copy of Cory Doctorow's Homeland


I recently read Cory Doctorow's new book Homeland on my kindle and I would highly recommend it along with it's prequel, Little Brother.

Obtaining my (paid for) copy from Amazon.com in mid February when it was not available in the UK was not exactly intuitive shall we say...
From what I could tell, it appeared that there were country-specific restrictions in place at the time (around mid Feb) and buying the kindle version (for digital delivery) from the UK did not appear to be possible which made no logical sense to me. So, presuming that this was merely an error, I set about racing my friend Luke to try and find a hack/workaround to download the book even though it was 'not on sale' here yet. Or to put it another way: hell hath no fury like a geek in pursuit of their next Doctorow fix.

Howto:
1. Change .torrc to use USA only tor exit relays. (Please note that this is a temporary hack and definitely not a good configuration for long-term usage on tor) :p
2. Register an American postal address (despite digital delivery) on amazon.com. I now live in the Whitehouse apparently:
1600 Pennsylvania Ave NW
Washington, DC 20500
United States
Phone: +12024561111
3. Change my Kindle's 'location' to USA.
4. Buy book as per normal.
5. Request file download and then load it on to the device through 'Calibre' so that amazon could not fiddle with my kindle/locale/etc remotely (i.e. no wifi on kindle).
6. Oh and just to be sure the book would not disappear like the somewhat ironic case of 1984 being remotely removed from 1000's of kindles.
7. I then rooted my kindle and intentionally borked the phone home features so that it cannot be remote controlled anymore. I like to err on the side of security by design not by policy. There is more info about kindle mods/hacks here.

Luckily it is now easier to get Homeland on your kindle:
http://www.amazon.com/Homeland-ebook/dp/B00AEC8O2K/ref=tmm_kin_title_0

and

http://craphound.com/homeland/download/

Sunday 13 January 2013

Guerilla Open Access Manifesto by Aaron Swartz

    Information is power. But like all power, there are those who want to keep it for themselves. The world’s entire scientific and cultural heritage, published over centuries in books and journals, is increasingly being digitized and locked up by a handful of private corporations. Want to read the papers featuring the most famous results of the sciences? You’ll need to send enormous amounts to publishers like Reed Elsevier.
     
    There are those struggling to change this. The Open Access Movement has fought valiantly to ensure that scientists do not sign their copyrights away but instead ensure their work is published on the Internet, under terms that allow anyone to access it. But even under the best scenarios, their work will only apply to things published in the future. Everything up until now will have been lost.
     
    That is too high a price to pay. Forcing academics to pay money to read the work of their colleagues? Scanning entire libraries but only allowing the folks at Google to read them? Providing scientific articles to those at elite universities in the First World, but not to children in the Global South? It’s outrageous and unacceptable.
     
    “I agree,” many say, “but what can we do? The companies hold the copyrights, they make enormous amounts of money by charging for access, and it’s perfectly legal — there’s nothing we can do to stop them.” But there is something we can, something that’s already being done: we can fight back.
     
    Those with access to these resources — students, librarians, scientists — you have been given a privilege. You get to feed at this banquet of knowledge while the rest of the world is locked out. But you need not — indeed, morally, you cannot — keep this privilege for yourselves. You have a duty to share it with the world. And you have: trading passwords with colleagues, filling download requests for friends.
     
    Meanwhile, those who have been locked out are not standing idly by. You have been sneaking through holes and climbing over fences, liberating the information locked up by the publishers and sharing them with your friends.
     
    But all of this action goes on in the dark, hidden underground. It’s called stealing or piracy, as if sharing a wealth of knowledge were the moral equivalent of plundering a ship and murdering its crew. But sharing isn’t immoral — it’s a moral imperative. Only those blinded by greed would refuse to let a friend make a copy.
     
    Large corporations, of course, are blinded by greed. The laws under which they operate require it — their shareholders would revolt at anything less. And the politicians they have bought off back them, passing laws giving them the exclusive power to decide who can make copies.
     
    There is no justice in following unjust laws. It’s time to come into the light and, in the grand tradition of civil disobedience, declare our opposition to this private theft of public culture.
     
    We need to take information, wherever it is stored, make our copies and share them with the world. We need to take stuff that's out of copyright and add it to the archive. We need to buy secret databases and put them on the Web. We need to download scientific journals and upload them to file sharing networks. We need to fight for Guerilla Open Access.
     
    With enough of us, around the world, we’ll not just send a strong message opposing the privatization of knowledge — we’ll make it a thing of the past. Will you join us?
     
    Aaron Swartz
    July 2008, Eremo, Italy

Sunday 6 January 2013

Response to: "Dear Hacker Community – We Need To Talk."

The following is a response to Asher Wolf's

I want to extend the hand of friendship to Asher and apologise to her for the way she has been collectively treated, as a woman, as a single mother, by others from different social backgrounds. She may have gone a little overboard in her personal criticisms but the anger of her reaction is understandable. Sexism and misogyny are real and, sadly enough, also exist in the hacker community.

I am sympathetic that Asher had to reach out to me for help after a previous webdesigner had let her down with the website and it is a pity that things did not work out again. I had completed everything else on the specification in the contract that Asher and I agreed on apart from 'Site Customisation / Look and feel' and I was, at the time of Asher's blog post, still waiting for feedback and more input from her in order to proceed. As an Electronic Engineer doing a favour for a friend I was not skilled enough to be able to work intuitively when the only guiding information that I had from Asher regarding design was "please make it like Penny Red's blog". http://www.penny-red.com/

I have publicly https://twitter.com/samthetechie/status/287211641735618560 asked Asher for her bank details so that I can make a refund but she has failed to get into contact with me which raises a number of questions. It appears that her motivations for including me in her post did not include financial remuneration or even that she was particularly dissatisfied with my work and frankly I feel quite fed up and misrepresented. I really wish that she had just contacted me privately to tell me that she was unhappy, it would have been a lot easier to resolve that way.

Asher told me on a number of occasions that the website was low priority given the other things that we were collaborating on at the time including Cryptoparty, Hurricane Sandy, Hurricane Hackers and Occupy Sandy. It turns out that this was a bad strategy and it would have been better to finish the project in early November.

Asher, as a friend, how can you conscience letting that blog post and those tweets stand when only a couple of weeks prior to that you wrote this for my MIT application?

“He has volunteered countless hours with Cryptoparty. He personally founded the London chapter of Cryptoparty, hosting successful events at both Google and Mozilla.
Mr Carlisle has also worked tirelessly to edit the Cryptoparty handbook, adding numerous corrections and additions to crowd-sourced manual since it's first publication.
In response to Hurricane Sandy, Mr Carlisle facilitated a Cryptoparty-hosted 'Hurricane Hackers' meetup in London, and donating countless hours of his time online to support tech efforts in the wake of storm damage in the U.S.
Most recently, he represented Cryptoparty at the European Commission's 'No Disconnect Strategy Workshop for European Capability for Situational Awareness.'
Mr Carlisle is a rare kind of individual: he spends a large proportion of his spare time thoughtfully engaged in practical application of new technology for the sake of human rights, creating and implementing initiatives benefiting countless numbers of people.
He is constantly cultivating a network of friends and colleagues throughout the world - including journalists, technologists, thought leaders and activists - seeking input on ways to engage technology with human rights issues and critical feedback on his work.
It is hard not to feel inspired when working with Samuel. He is a thoughtful, highly intelligent young man and a pleasure to work with.”

It is a mystery to me how someone who claims to be my friend could betray me with messages like these:

Asher (re: European Commission) "Not running off to do something more important than the work I paid you to do, or busy flogging my idea to ppl in higher echelons and taking the credit?", "When I tried to talk to you about the E.C. issue, you rage quit the fucking conversation."

https://twitter.com/Asher_Wolf/status/287924490778845184 "@leashless @bendiken I find it even more concerning he represented Cryptoparty at the E.C."

Asher "Busy flogging the idea of Cryptoparty without my involvement. Never asked me ANYTHING, not for a single moment of input before taking massive steps by putting Cryptoparty near Google, Mozilla, the E.C. You just assumed it was okay."

Asher I believe in autonomy and I have acted above reproach and with honour in so far as Cryptoparty is concerned. With the best intentions of the Cryptoparty movement at my heart, I will work autonomously in order to make progress in the absence of a centralised control structure. I consider this to be consistent with the "Sudo Leadership", "Excellence" and "Do-ocracy" values of the Cryptoparty movement. Cryptoparty London has inherited a culture of Do-ocracy, Sudo-Leadership, and Excellence from here https://cryptoparty.org/wiki/CryptoParty#Suggested_Conduct which derives from Noisebridge's 'Tripartite Pillars' https://www.noisebridge.net/wiki/Noisebridge_Vision#Tripartite_Pillars and, ancestrally, from the international hackspace design patterns (from the 24th CCC in 2007, http://hackerspaces.org/wiki/Design_Patterns). Cryptoparty is about open and participative dissemination of ideas, building community and sharing of information and techniques around cryptography, not egos and personal agendas. I can't understand how you claim to be the leader of a community project which you have 'quit' several times. Let's put this all behind us and remain focused on building community, having fun and creating a safe space for learning about the usage of crypto tools as has always been the case at Cryptoparty London.

I wish for a sincere apology (public or not, Asher has my email address) for the hateful speech and threats that I received from her and others during #29c3 and the few days following because all that did was perpetuate the violence and anger which we all need to fight against.

With regards to Asher's application to do a panel talk at 29C3, I was very disappointed that it was rejected. When she emailed me to say that the talk had been rejected I was totally gutted. That was the first time that Asher and I would have been able to meet after collaborating online for the last 3 months (Australia / UK) and also a good time for the CCC community and many others to hear about Cryptoparty.

We were all very disappointed that it was not approved. So much so that the first thing I did after arriving at the CCH building in Hamburg (this year's venue for 29c3) was to seek out and complain to several organisers and let them know that they really fucked up by failing to accept the talk and get Asher to Hamburg. They unanimously agreed that it was a mistake that they would have liked to correct.

You know, this whole thing came at a particularly difficult time for me and I can understand how it might have slotted into Asher's experience of men in the system as a whole but at the same time I think it is inappropriate and unprofessional to use that as a justification to trigger a campaign of hatred, threats and libel. Here is an incomplete but reflective summary of the abuse that I and others have received as a result of this; though Asher appears to have deleted some of the less tasteful and libellous tweets. Luckily others have re-tweeted them so they are findable:

  1. https://twitter.com/jennylmackinnon/status/287698323857625091 "RT @Asher_Wolf: Anyone sitting in on @SamTheTechie's lightening talk at #29c3, ask he'll pay back $700 for the work he never did on my website"
  2. Asher: “Go to hell Sam. You're a complete douche."
  3. Asher: “Well done. Your attitudes destroyed the idea of Cryptoparty for the ppl, by the ppl."
  1. https://twitter.com/Asher_Wolf/status/285371641423351808 "If @SamTheTechie is currently leading a Cryptoparty at #29c3 and you're a bystander, I will repeat: fuck you."
  2. https://twitter.com/roastydog/status/285231257414152192 "What the fuck? @Asher_Wolf rightly calls out the hacker community for sexism and gets d0xed? Wow cool response bro dudes."
  3. https://twitter.com/MarkAlanRussell/status/286453684982927361 "@samthetechie @RitaMartincsek IMHO charging $700 for WP makes you a conman. Even if that's what the contract stipulates.”
  4. https://twitter.com/selfagency/status/286192589374382080 @n3rdyg1rl not really looking to get in the middle of @Asher_Wolf's argument with @samthetechie but all he had done was install wordpress
  5. https://twitter.com/OccupyBayStreet/status/285407837650296832 Hey @samthetechie, please return @Asher_Wolf's $700 or explain why it's yours. Thanks, All the Men Who Would Rather See the Asshats Leave.
  6. https://twitter.com/stokely/status/285375469635895297 .@Samthetechie What is going on? Are you repaying @Asher_Wolf the money she paid you? It's time to make this right.
  7. https://twitter.com/Asher_Wolf/status/286465653559414784 'Informed via email @SamTheTechie had access to 29c3's NOC and he was removed from the team after he "misbehaved there."'
    Response to 11. Actually I was volunteering at the conference since the 24th December to deploy wireless routers and networking equipment to help setup the conference and I was thrown out from the team purely as a result of your hateful messages online.
    To highlight just what a misrepresentation this was, here is a message from someone that met me at the conference "And thanks again for you advice/connections at the Congress. You're such a kind, positive force in an environment like that, finding ways of bringing people together and treating everybody with respect and openness. You turned every area you were in into a pocket of kindness and productivity -- I was thoroughly impressed!""

Asher it is time that you stop abusing your voice, reach and influence to misrepresent me far and wide for a bit of extra coverage because many find that bullying and exploitative. I know that I am not the only one because others have reached out to me in private to show their support so I am just stating that I simply deserve better than that from the people I choose to call friends and the people I choose to work with.

Lastly, Jacob Applebaum autonomously decided, in presumption of my guilt in the matter, to setup a Paypal fund https://twitter.com/ioerror/status/286512607647633409 and http://supportasherwolf.chipin.com/asherwolf-conflict-resolution which has made a total of 885.00 USD which is equivalent to around 844.71 AUD (a profit of $144.70). At first you seemed happy about it https://twitter.com/Asher_Wolf/status/286456766739382272 but then you seemed to change your mind and https://twitter.com/Asher_Wolf/status/287093319845154816 and https://twitter.com/Asher_Wolf/status/286691725173456896

I humbly suggest that you reverse your decision to simply let Paypal keep the money because I feel that it is disrespectful to the people that, rightly or wrongly, supported you when you said that you were left out of pocket as a result of things not working out.

So please invest the time and effort to be courageous in making an example of Paypal so that more people will feel encouraged to do the same and then, if you wish, give the money back https://twitter.com/Asher_Wolf/status/286663778706259968 to those who donated it that's your choice.

Being raised, against all odds, by an amazing single-mum, I have to say, I mostly agree with your post. But we should pool all of our resources and efforts together and face the real problems rather than in-fighting. Women everywhere are being treated as second class citizens, most of the parenting automatically lies with them, whether they want it or not. And women are also missing out in the work place and as of 2009 “women earned on average 17% less gross hourly than men in the European Union” http://epp.eurostat.ec.europa.eu/statistics_explained/index.php/Gender_pay_gap_statistics#Gender_pay_gap_levels. We need to stop this! We also need to take a good look at our own community, in which people think it is fun to ridicule creeper cards, right after yet another woman in the world (she was given the name Damini by the people and she was from India) has been raped, used and killed by a group of guys that I hardly consider to be human http://en.avaaz.org/1280/india-gang-rape-war-on-women.

I really wish that Asher and I will be able to resolve this and for our movement to set a milestone for our agenda which features freedom of expression, right to privacy, right to family life and civic empowerment and engagement.