Other articles

  1. ndjson-env - Loads environment from ndjson files, selected by `jq ._name`


    I have a tool called pgpass-env that, given a suitably commented PostgreSQL ~/.pgpass file will allow you to easily set the environmental variables for software that doesn't support reading from that format.

    Thinking about this problem, it seems to be a general problem:

    • Given a file, which somehow has …
    read more
  2. jdbc-pipe

    Quick JDBC queries respecting UNIX conventions (environmental variables, STDIN, STDOUT etc)


    1. Install the Java SDK, preferably avoiding Oracle.
    2. Install Leiningen.
    3. Check this project out and cd into it (git clone git@github.com:forbesmyester/jdbc-pipe.git && cd jdbc-pipe)
    4. Run lein uberjar.
    5. Create the destination directories in to ~/.local/bin …
    read more
  3. Great Emulator Frontend

    After struggling with libretro / retroarch I've settled on Attract-Mode for my emulator frontend but couldn't find a good package for my Debian Stable system. Luckily compilation was easy... ``` sudo apt-get install libsfml-dev libopenal-dev zlib1g-dev vflib3-dev libavcodec-dev libavformat-dev libswscale-dev libopengl-dev libglu1-mesa-dev checkinstall make checkinstall ``` Running was not immediately obvious... It could … read more
  4. Looking at Docker's new tools.

    Linux users have very easy native Docker

    Being a Linux user I always had native Docker access. Once I had installed Docker and added my user to the Docker group docker build etc would always just work. What's more the integration with networks etc is fantastic. I was happy.

    The …

    read more
  5. Merged Into Quramy/tsuquyomi

    In general when I am developing I tend to have unit test results on the right with my code on the left as apposed to having two files open. This means I tend to use C-^ keystroke a lot, which is jump back to last buffer in VIM.

    The last …

    read more
  6. 'Weekend Project: DB DiaYAML'


    When thinking about problems I sometimes come up with ideas on how to solve them. It might be a great solution, but more often than not they need some finesse and I may want to discuss them with other developers.

    I find diagrams are a highly effective way of …

    read more
  7. Move Panes and Windows in Tmux

    I have a pretty well customized tmux configuration, as do lots of people but there is one thing that I've found difficult to do and isn't in most peoples configuration (that I've seen). This is the ability to move panes between different windows or re-order the windows.

    Configuring tmux for …

    read more
  8. Require Parts

    Noticed this when requiring Ramda:

    [BABEL] Note: The code generator has deoptimised the styling of "/home/fozz/Projects/siac-ui/node_modules/ramda/dist/ramda.js" as it exceeds the max of "100KB".

    Now I love Ramda, you should read about, it's awesome, but I am only actually using a few functions …

    read more
  9. Network Manager Hell

    I recently re-installed my laptop (which has loopback, WIFI and wired network connections) from scratch and I found that it has "NetworkManager is not running" displayed when I click the NetworkManager applet, which is apparently not that strange. This was straight after an install which was disappointing :-(

    My installation method …

    read more
  10. Wanting to build my own Virtual Network

    When I was about 18 and living at my parents, my bedroom was full of old computers which I'd turned into servers and managed to wire up using a BNC network and HowTo's printed out on the college computers... I didn't have internet access. I tought myself TCP/IP networking …

    read more
  11. When.js Vs Ramda

    Something unfortunate happened to me over the weekend... I was writing code using the great Ramda, there was promises going on and the code was wonderful... Then along came the awesome When.js to solve my more complicated future based problems but this made me write code like the following …

    read more
  12. Init Provisioning

    I have a desire set up virtual machines on my laptop using scripts for testing things like microservices. Unfortunately I don't much like BASH as a provisioning system and would prefer to work with Ansible.

    The Init Provisioning scripts are designed to allow easy development of Ansible based virtual machines …

    read more
  13. json-array-diff

    For most of my working life I've been doing RDD (refresh driven development) but in the last 3-4 years I've been using more and more TDD. It's got to the point that pretty much all functionality new that I write is written using TDD, life is sooooooo much better but …

    read more
  14. UI Experiment for PhoneGap Android App

    I currently have a personal project which will almost certainly involve creating a mobile app. I'd ideally like to make it a hybrid native/Phonegap app to maximize the time spent writing cross platform code as apposed to duplicating work between different mobile platforms... The fact that the bulk of …

    read more
  15. 'Neo4J: Introduction to Graphs'

    Went to a great talk about Neo4J at their London offices last night. It was great to hear (new to me) ideas about how to store data.

    If I were to sum it up in a really short amount of words I would say that it is somewhat like an …

    read more
  16. Begin all Docker files with...

    I've just had an extremely frustrating mostly wasted day with Docker. It turns out that, at least with Ubuntu 14.04 the root user is quite messed up, for example it's home directory ends up being just / and worse than that putting files like .ssh/known_hosts in the root (or …

    read more
  17. Brackets.io Select TextObject plugin

    I am currently (and have been for a long time) in a state of flux with my current editor selection... For a while about 6 months ago I thought I would end up using VIM and even started reading a book about it. I learnt about VIM Golf, the amazing …

    read more
  18. Airport Drinks

    Gatwick Airport

    Today I am flying to Dublin for 7 days so I can continue my work with CityHook / Indigo and I am currently in the airport passed security... Of course they confiscate all drinks from you... so where to get a drink?

    I found that you can get bottled …

    read more
  19. New Release... returnFuncToAsyncFunc

    Sometimes you have a function, that you're planning to use within something like async.waterfall but it's wrote to be synchronous and returns a value instead of using a callback. This function will accept that function, along with a context and return an asynchronous version of that function


    var …
    read more
  20. React Mixin Manip

    I have created a simple React Mixin which enables you to use the power of Manip with the awsomeness of React.

    When you want to alter data within React you can use the component.setState() or component.setProps() methods. This is wonderful if you want to modify top level data …

    read more
  21. Reusable Releases

    I am intending to take the React demonstration from TodoMVC and use it as a basis for demonstrating SyncIt. To enable me to do this I have released two seperate pieces of code, which for contractual reasons were always integrated directly into SyncIt and are now available seperately via GitHub …

    read more
  22. DIY Fix for Sony MW600

    I have a Sony MW600 Bluetooth Headset:
    And I have lost the spring that goes between the clip and the body of the device... But using two sets of pliers and a the spring from a Mini Wooden Peg:
    I could bend bend it into the shape required and get … read more
  23. Sinon.js Vs Dojo


    I was coding along quite happily on a project (soon to be unveiled) and got to testing my code that interacts with the server. I was intending to using Sinon.js to mock this, but the response was never coming back... My code was like this:

    xhr("/dataset", {
    handleAs …
    read more
  24. Graphviz

    Often as a developer I want to explain something that is either very complicated or very abstract to other people and this is not easy always.

    In this situation I might use a diagram but I am not particularly skilled at doing this and I find the whole process incredibly …

    read more
  25. Matt was at London AJAX

    Last Tuesday I presented SyncIt to London AJAX. I was surprisingly not that nervous going in, thanks to all the practice, but I feel I was no less nervous throughout the presentation either.

    You can see the presentation at the skillsmatter site, who are the really nice people who host …

    read more
  26. Just got back from MondoDB London 2013

    So I just got back from MongoDB London 2013 and here is a quick run down of some of the highlights for me...

    Optimising for Performance, Scale and Analytics - David Mytton, Server Density. Talked about spotting problems with your deployment and the things you should watch out for as signs …

    read more
  27. Asciiflow

    Today I disovered a great little tool for helping to draw small flow diagrams and then being able to export them into ASCII! It does not try to be a complicated tool, but instead gives you simple very simple ones just for drawing boxes lines, writing text and moving that …

    read more
  28. Me Map/Reduce

    Me Map Reduce is inspired by MongoDB's map/reduce functionality.

    In javascript you can easily do map/reduce in modern browsers using those methods already on the Array Class. But using these functions would always cause the output to be the same length as the input and there is little …

    read more
  29. Ansible Server Init

    Installing a Development Server

    Today I wanted to get started on writing the server code for SyncItStore so needed to set up a dev server. I started installing Ubuntu Server and was keeping notes on the steps I needed to replicated it.

    I created virtual guests on my laptop using …

    read more
  30. NAS Adventures...

    The Product

    I currently am an owner of a Thecus N3200pro NAS. I bought it because it has three disk bays, so can do RAID5 and was similarly priced to a very cheap PC. I was happy with it at first...

    The Problem

    Later on I wanted to try out …

    read more