16 Sep 2018Continue reading →
What I did last week
Visit foodsharing Edinburgh
I visited foodsharing Edinburgh and met up with Nicola Wilson from The Shrub Co-op. I hadn't really planned what I was going to say, but gave a walk through of Karrot including how it works on the android app. I was pretty pleased with how it looked and worked :)
It seemed to fit their needs quite well - co-ordinating regularly scheduled pickups and recording the weight afterwards. At the moment they get people to sign up to a regular pickup, but that might just be because it is too hard to have a more dynamic structure - that's something that Karrot allows more easily.
I also pitched the aspect of it that if they wanted specific things to be developed in a more focused way they could either find/pay local develeopers to add features, or pay us to build them too. I perhaps put more focus on this aspect than I intended as I think it wasn't immediately clear to her that you can use Karrot for freeeeee and we build new features for free too! .. but I would like it that if projects do have funding (and they do) and they find the software useful that they consider contributing back.
I also stayed for their introductory event, which seemed to mostly be student-y people there, and they went through a very long list of possible roles within foodsharing Edinburgh - somebody there has been doing a lot of organisation structure work! I wondered if perhaps it would have been more effective to just introduce a few of the easy to start roles (like doing food pickups), and then go from there.
I was also intruiged about the organisation structure in general - foodsharing Edinburgh seemed to originally be it's own co-op, but now merged with the The Shrub Co-op? They didn't mention anything about the co-op aspect, and there is also foodsharing.scot, and Zero Waste Edinburgh|Scotland (I guess they provide the £££).
I also got to have a nice tinkle on the piano whilst there :)
She emailed me afterwards with:
It was great to meet you too! Thanks for giving me a little intro to all things karrot :) I'd be really interested in learning more and exploring options for collaboration, but as things are super busy right now with inducting volunteers and getting new projects off the ground, I will have to put this on the back burner a little. I will speak to my colleagues and get back to you soon.
So, sounds positive! ... or a subtle brush off ;) Let's see. Sometimes it can be easier to sell things than give them away for free ;)
Spontaneous meet up with @wu_lee
Whilst I was there I connected with @wu_lee on the tip of my friend Doug who has been helping out with tech stuff at social.coop. We had both read a lot about the recent tensions in the community there and it was great to have an in person conversation about it. The more he spoke about the need for more help on the technical aspects, the more I felt interested to help out... which seemed surprising to him (that most people want to avoid things that are a little chaotic).
Uni sustainability freshers event
I went along to the Glasgow uni sustainability freshers event and made connections with a few people.
There is a guy who is part of the GUEST project in the uni who will probably know a bit more about foodsharing Glasgow as it possibly gets more active again now the university has started up again. Taïs seemed into making contact there.
I met Adil from another Glasgow uni (Strathclyde) who was super enthusiastic about trying out Karrot (before I had got home event he was SMSing me questions about how to create a group, add pickups, etc.). There is Strath Foodsharing group on Karrot now - not quite active yet though. I also signed up to do a pickup next Wednesday. Which will be my first ever pickup despite working on foodsaving projects for a while now.
There was a nice band playing some chilled out music with electricity supplied from a pedal powered system. I was chatting to the guy running it for a while and having a feeling he seemed familiar, and I realised I had met him 6 years ago at Talamh on a bike trip.
Cool pedal powered rig
When I met the guy 6 years ago
"Volunteered" at KPCafe
I went along to KPCafe last Thursday, I didn't feel a particularly useful volunteer, but had a nice time! It was a slightly different event as some people from GSA (Glasgow School of Art) were there to do an event too.
I happened to bump into the people from the WTF is Neoliberalism course who were planning a future session on the topic of feminism+neoliberalism, I joined them for the discussion and got a little list of interesting things to follow up:
- Pop Culture Detective - YouTube channel
- She's Beautiful When She's Angry - film
- Mothers of Invention - podcast about climate change + feminism
- Conversations With People Who Hate Me - podcast
- Feminist Theory from the margins to the centre - book by bell hooks
Failed to visit the unity world cafe
Got a bit into some of Taïs' course material
I enjoyed flicking through her reading list. I did not enjoy that most of it required journal access. I would love the open access journal movement to be here already...
One of the things I came across was the Varieties of Capitalism analysis that splits market economics into either Liberal Market Economies (LME) or Co-ordinated Market Economies (CME). The most interesting bit to me was how the companies relate to each other - in a CME they are more co-operative with each other, I like that. There is quite a big part of me though that enjoys the freedom and independence that the LME structure can allow. The CME economies feel a bit rigid and old fashioned. I'm not sure I particularly like either though.
I also started reading some other stuff, but it gets quite heavy quickly, and somewhat overwhelming!
Two things I read/heard from made some good points about wage increases being a very narrow thing to focus on. It might be that labour exploitation has also increased even more, or other things that make life nice. Sorry that's a bit vague :)
Bought some new clothes!
I don't really have enough clothes for a city. I purposely didn't bring loads, as I didn't want to carry a mega heavy bag up here.
It took my quite a long time to come around to charity shop clothes shopping, but I'm fully there now. I managed a very effecient shopping trip, grabbed 3 items from a small rail, tried them all on, bought them all. Total cost £15. That's my kinda shopping!
Chatted with Chris at Webarchitects
Chris runs a small co-operative web hosting company. He's done a lot of positive things for alternative projects (for example, taking on all the projects from Ecohost) and I'd love to see how the company could offer hosting services to meet the expectations of the modern developer - e.g. DigitalOcean. There would be a long way to go to that, but I'd love to see what I can do support the co-op generally, whilst earning some money for my work :)
We had a nice chat for an hour or so about all sorts of topics, and I'll swing by Sheffield soon to chat more.
Started planning a UK trip
I had in mind to have a trip around the UK soon after getting to Glasgow, to get a bit of space and exploration after a quite intense few weeks before. I haven't done that yet, as we're still working out our accomodation here and settling in. But I have started to plan!
Loosely, I'd like to hitchhike around, visit some housing co-ops, family, and friends, do some camping, maybe see if some people are interested to start Karrot groups, read some more book.
I managed a bunch more coding than the week before!
I worked a bit with the new proof of concept foodsharing android app to add a few other API endpoints, and put it on GitLab. It's still very primitive.
I also spent quite a bit of time working on adding persistent sessions to foodsharing.de and the variety of issues that arose from that.
I fixed a bug on Karrot when displaying the group application chat.
Me and Taïs started thinking about how to implement more types of locations (fair share points, drop off points, etc.).
Taïs did a bit of wireframing
Moved around a bit!
We stayed a couple of nights in a student housing place thanks to Misha. We also organised a 3 night stay next week via trustroots.
What I wanted to do but did not
Do some book write ups
I did not manage this at all. I feel a bit daunted by it. Some of it is technical (getting the notes into a good structure on my computer). The other is mental. My head feels quite busy now already, and there are more ideas piling up!
I wanted to put a post on the community forum. I actually wrote a draft, but haven't posted it yet.
What I want to do next week
Move into our new room/house
We're due to move in on the 20th, but don't really believe anything until we are actually standing there, but hopefully all goes well.
Now I've got the DI structure sorted, I'd like to find a way to progress the consent for persistent cookies. It's a user interface task and my brain was not really thinking about that when I started. There is not much space to put a checkbox, and modal dialogs, or popup toast dialogs are annoying. Hmmm.
I'd like to add something to the foodsharing android app so a user can actually see something meaningful! Maybe see if it will connect nicely to the real backend.
For Karrot I'd like to start playing with the backend stuff related to Public locations for food distribution.
Besides doing my pickup, I'd like to see if they want to officially start using Karrot. I would go through with them any niggles they have, etc.
Stay with trustroots person
Well, this should be easy, we have it all planned.
Get a bit more involved in social.coop tech
I applied to be a member of Webarchitects, and announced my intention in the matrix chat, so I would like to join the tech working group, and see where it goes from there.
Get some of my travel plans a bit clearer
I'd like to start getting a clearer idea of where I want to go and what I want to do so I can contact a few more people who would benefit from advance notice.
09 Sep 2018Continue reading →
I have never been someone who is singularly focused on doing one thing really well. At various times I might feel admiration, appreciation, or jealously towards those people. It seems like it might be easier live like that and to know what to do at any given moment.
In any case, I am not like that. Maybe those people aren't like that either.
At any one time there are many different directions that interest me - maybe I should work hard and save up some £££ so I can do some kind of project with it, maybe I should get more involved with existing initiatives that seem good and can use some of my skills, maybe I should find a bit of forest to live, maybe I should do more bike touring, walking, hitch-hiking, exploring, maybe I should finally leave the comforts of being in the first world, maybe I should stay in/near a city for long enough to get involved properly, maybe I should push to start a family, ... I could probably go on.
I am liable to drift in between all of these things though, so want more tools to help that process.
13 Jun 2017Continue reading →
I left this blog quite for a long time, I never really wrote much on it anyway. It was going to be for technical articles, probably to build my online presence as a computer programmer. It might still become that, but it will also be my general blog now too, where I write about my pondering, travelling, etc.
I also have my ponderings github repo, I am not sure how the content on these two sites should overlap.
Anyhow! I recently started nomadic bike touring again (nomadic meaning I don't have a fixed base to go back to). I did this 5/6 years ago (see ontheroad.nicksellen.co.uk) and stopped because:
- my money was decreasing, it clearly had an end, if not now then when...
- I had a compelling offer to go back down south and do some work
11 Aug 2016Continue reading →
Just a tiny script containing one sed command to escape input suitable for use with
adb shell input textcommand.
Make it exectuable then move it somewhere on your path :)
Makes it possible to enter complex passwords for example. Example in combination with pass:
adb shell input text $(pass amazon | adb-escape-text)
17 Apr 2015Continue reading →
For a recent project I was wondering what the best way to share node.js code across projects without publishing modules publically to npm.
The node.js ecosystem is all about sharing code publically and it's super easy to do this entirely from the comfort of the command line with
npm publishand friends. It's quite a joy actually.
However, sometimes the code must stay private, but you still want nice modular npm modules. This scenario is less well supported by npm - npm themselves says:
Lots of companies using Node.js love the "many small modules" pattern that is part of the Node culture. However, splitting internal applications and private code up into small modules has been inconvenient, requiring git dependencies or other workarounds to avoid publishing sensitive code to the public registry.
Difficulties related this topic are well discussed:
- https://gist.github.com/branneman/8048520#comment-972519 - this is about 1.5 years worth of discussion on the topic, including some of the key node.js community
I actually found a solution pretty quickly that I'm happy with but I wanted to dig a bit deeper into the alternatives.
26 Oct 2013Continue reading →
I was using Clojure to process github repos for use in libsearch.nicksellen.co.uk and ran into a problem. I had a function that was going through each repository and pulling out the useful information. This is quite time consuming as I use multiple API calls per repository and so I wanted to print some output to show progress.
The problem was that I was only seeing output printed after the entire operation had finished.
I'm quite new to Clojure and there are multiple things that might have been involved:
- Clojure uses lazy sequences in a lot of places - values are only calculated when needed
- in functional languages side effects are kind of special, and writing to
stdoutis a side effect
- I was running the code inside Emacs Live in a Leiningen REPL - that's a lot of layers in which to add behaviour
12 Aug 2013Continue reading →
I've been working on a framework for building apps by describing them as a sequence of connected operations forming a graph. It's an early stage but reasonably functional. It's not publicly available at the moment.
It has some relationship to:
This is a quick overview of a few aspects of it.
11 Jan 2013I'm evolving my data storage policy (personal/work/everything), the first step is categorising my data according to usage patterns. The dimensions I need think about are storage size, access requirements, ability to replace to data if lost, and security sensitivity.Continue reading →
25 Jun 2011Continue reading →
Installing mysql2 (0.2.6) with native extensions /Users/nick/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/site_ruby/1.8/rubygems/installer.rb:533:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError) /Users/nick/.rvm/rubies/ruby-1.8.7-p334/bin/ruby extconf.rb checking for rb_thread_blocking_region()... no checking for mysql.h... no checking for mysql/mysql.h... no ----- mysql.h is missing. please check your installation of mysql and try again. -----
Ok, so we need the headers
Fortunately you can download MAMP source form their website - this gives you a .dmg with lots of .tar.gz files, you just need the mysql one.
I tried just copying the include directory as it was - but loads of the header files have variables that need replacing.
Let's compile this thing
compilation uses cmake, so ensure you have that first.
tar zxvf mysql-5.5.9.tar.gz cd mysql-5.5.9 cmake . make mkdir /Applications/MAMP/include/ cp -r include/* /Applications/MAMP/include/ cp libmysql/*.dylib /Applications/MAMP/Library/lib
Installing mysql2 (0.2.6) with native extensions Your bundle is complete!
28 Jan 2010Continue reading →
I don't often require this but always forget the command each time. Previously I had used:
| grep Pathname
...but whilst stumbling around I found the much more succinct (and undocumented as far as I can see):
Continue reading →
It turns out the nokogiri build script makes a few too many assumptions:
- it tests for Solaris-ness by checking target_os is solaris2 where on Solaris 10 it is solaris2.10
- it assumes gcc and sets a bunch of invalid CFLAGS such as -Wall
- it doesn't let me specify a custom lib/include directories - it failed to find my iconv because of this (furthermore after adding the paths manually misleadingly it still said it couldn't find them but the problem was the options passed to cc were incorrect)
- further down the line something decided it knew where Sun Studio was. It was wrong. to be fair this probably wasn't nokogiri's fault.
I've ended up using gcc for compiling ruby related things which knocks out problems 2-4.
However I started seeing problems with a vasprintf symbol not found (similar to this problem). The problem is the same as my point 1 above (in ext/nokogiri/extconf.rb line:22):
# ruby -rrbconfig -e "puts Config::CONFIG['target_os']" solaris2.10
It's fixed by this commit
Continue reading →
This is a quick roundup of the tools that can be used to extract text from PDFs or Word documents.
Continue reading →
A common thing to expect from a web app is some kind of event feed:
peter liked your photo
joe is also going to see blur next week
your mum returned home
Another common thing is to receive emails when things happen:
your photo has been approved
you are now friends with angie
john sent you a message
22 Dec 2009Continue reading →
I've noticed a few things have a similar pattern of working:
- analyse environment and makes plans (logical orderly "left brain" thinking)
- get immersed in immediate goal, following intuition along the way (more creative "right brain" thinking)
- get lost or confused so goto step 1 (broken brain thinking)
24 Jun 2009Continue reading →
In preparation for attempting a double dunwich dynamo (i.e. there and back) I made a web app to track my progress. I've had it on all week so far tracking my progress to and from work to observer how it works. I've noticed a few things:
- it actually works, yay!
- I appear to be able to cycle straight through buildings
- I can't cycle very fast
- this is a gross self inflicted invasion of privacy