Taiga.io is a project management platform that I have been itching to try out for quite some time. I have had experience using Redmine in the past for a previous job, and while I am comfortable in it I have a taste to try something new.
I had a brief foray into the solution from Atlassian (Jira) - which I found full featured but much too weighty for my small consultancy business. As well as introducing many features I didn’t need, it strained my small Linux server I spun up to test with.
I was then drawn back into trying Taiga after learning that it had been written in Python, my language of choice. I already had my Debian box (running Stretch) running, so I jumped on and decided to give it a go.
cookiecutter is an awesome command line utility created by Audrey Greenfeld, that is used to create projects from templates, especially useful if you create multiple projects with essentially the same boilerplate.
It is easy to take one of the many available templates that already exist, fork it, modify it to suit your specific needs and get reproducible, fast spin up of new projects.
Having only been using cookiecutter for a short time I was working with a new template I had created, and as I tested it with dummy projects, and tweaked it I was getting very fed up with continually entering the input context each time.
I brought out my Google-fu and was led to this question on Stack Overflow which had a similar problem to me, and was asking whether there existed a command flag that could be used to insert default context in the template at creation time, as in cookiecutter --no-input --context my-context.json <cookiecutter-template>.
Repovisor - Command Line Repository Management Tools
Repovisor 0.0.1
Repovisor is a tool I have written for viewing the status of multiple repositories on the command line.
It is designed for people who have multiple repositories in use at any one time, who may need to double check whether they have forgotten to push, pull or commit changes. Running the commands at the end of a days work allows you to commit your work whilst it is still reasonably fresh in your mind.
DICOM is a medical standard for storing image data from a large range of devices. As a Cognitive Neuroscientist, the primary data I am currently interested in is magnetic resonance imaging data. Now the raw data as received from the radiographer is in the DICOM file format.
Presentation is a Windows-based program for stimulus delivery and interfacing with hardware tailored for Neuroscientists and Psychologists. It is script based, basically abstracting away the low-level communication with display and sound card drivers, input devices and more to allow researchers to quickly implement experiments for their research.
Whilst it does its job well at making life easier for researchers to create powerful and fast experiments, because of its target market I find myself as a programmer constantly at odds with some of the design decisions.
Back when I was finally willing to release python code to the wild I did some reading on the web of the simplest methods of getting a project uploaded to PyPI. I found several resources, but one that I clipped and still occasionally refer to was a simple article by Peter Downs on making a project pip installable that is hosted on Github.
This was very simple to follow, so I registered with PyPI (and TestPyPI) using a password generator and created my .pypirc file. After fleshing out my project and adding the necessary components to the setup.py file I excitedly tried to register and upload my first project.
Favourite Python Talks: David Beazley’s Back Catalogue
The Python community
One of the best things I have found about the python developer community is the willingness to selflessly give back to it. One of these avenues are the talks of its premier conference PyCon and its many offshoots.
These talks are uploaded to YouTube and provide a great insight into the breadth of use of python. There are talks aimed at beginners, outsiders, professional users and more. They range from 3 hour long tutorials on aspects of python like prominent libraries to short but detailed investigations of the internal workings of the CPython implementation
Shenanigans in a self-managed server running Wordpress.
Good advice gone bad
As part of my refresh of my blogging website, I was reading some advice about working with Wordpress. One of the main pieces of advice I discovered in multiple places (like this article and this one) was about permalink format.
I read them fairly thoroughly, thought through the issues and decided. I have just rebooted my website. I like the look of the post-name permalink structure for improving the ease of sharing and discovery. I don’t have any current posts that I care about redirecting to.
So I went ahead and made the change, as well as updating my theme to something less standard. Some last minute viewing of my changes then involved a click or two on some of my internal links like Read more.. and Next/Previous, only to get a 404 response.
(or the trip hazards of testing from outside a VM)
A problem resolved…
As someone new to web development I ran into an issue the other day that baffled me for an inordinate length of time. As I am essentially required to run Windows as the O/S of choice in my organisation, but my natural habitat is Linux I tend to spend a lot of my time developing my applications and scripts within a virtual machine.
I am a big fan of the Python ecosystem, and naturally, as I test the waters with web development I’d like to investigate pythons tools and frameworks. I also made a change the other day to my process where instead of running a browser internal to my VM, for testing and viewing I decided to run the browser from my host machine.
Running the simple HTTP server in python using python -m http.server was one of the first services I tried. A quick jump onto Chrome later I was initially perplexed that it wasn’t showing up.
However, with not much searching I quickly realised that the default Network setting on VirtualBox (NAT) does not allow connections out unless I explicitly open a port. With that stored in my memory bank, I went on my way, now thinking that I knew how to solve similar issues in the future.
My keyboard backlighting does not work by default on Xubuntu, so following the excellent advice over at The Drunken Sloth Inn and a quick keyboard binding that gets that frustration out of the way.
Next up is creating a quick link to the Terminal seeing as most of my work gets done there. This is a simple matter of navigating to the main menu (mouse icon in top left by default), finding the Terminal Emulator and right-clicking on it and selecting Add to Panel. I also do not like the default placement, so I right click on it and select Move to place it somewhere more comfortable.
My personal machine is Windows, but as an aid to development and to keep my Linux skills practised I run a variety of Linux variants as virtual machines within VirtualBox. I have used VirtualBox for a while now with no problems, although on systems running inside it I tend to focus mostly on command line and simple (low resource requirement) tasks.
Because of this focus I have consistently come back to Xubuntu as my OS of choice. It has a simple but consequentially clean GUI. It has low requirements for RAM and graphics card capabilities, and it allows me to focus on my task at hand. It has been a while since I have done a major upgrade, and I thought I would give the latest version (15.04 at time of writing) a spin and install it on a new VirtualBox machine.
The Design + interactive + Green-tech Festival was held at Newcastle City Hall on the 16th and 17th of October this year. Here is a run-down of the highlights for Day 2 from my perspective. As a mental health researcher my main focus was the Mental Health stream. Little disappointed that no coffee, snacks or lunch was provided, but at least I was prepared for this for Day 2.
UPDATE: Conference presentations have been posted online by HIMH here.
The Design + interactive + Green-tech Festival was held at Newcastle City Hall on the 16th and 17th of October this year. Here is a run-down of the highlights from my perspective. As a mental health researcher my main focus was the Mental Health stream. There were a great series of talkers - primarily from the mental health service sector - who were predominantly discussing the use of new technologies such as social media.
Interested in computers from a young age, I studied Computer Science and (just for kicks) Mathematics at the University of Newcastle. During my studies I did some part time work with the Kip McGrath Education Centres head office assisting with development of some of their tutoring resources.
Once I finished my studies I found a job working with a research institute called NISAD (Neuroscience Institute of Schizophrenia and Allied Disorders) My role at this position was as a research assistant, but included a large range of duties from system administration, software development, data management, hardware support and more. I was also very quickly drawn into the world of Magnetic Resonance Imaging (participating in a study on the first day I started).