Blog logoMatthew Lang


A 106 post collection

Back to GitHub

 •  Filed under Posts, Tools

A few months ago I started a GitLab account out of curiosity. I wanted to see if there was anything that GitLab offered that GitHub didn’t.

In the last two weeks though, I’ve been moving my repositories back over to GitHub from GitLab.

There’s nothing wrong with GitLab, it’s an excellent source code management platform, and it has many great features. However, GitLab just didn’t make the grade that GitHub has set when it comes to source code management and hosting.

Heroku integration

Heroku’s pipeline integration is an excellent feature for managing the deployment process, but the only dependency for this to work is that you need to use GitHub for your source code management.

GitLab does offer their continuous integration tool, but it’s highly dependent on some different configurations and settings, all of which I don’t have the inclination to read up about or even research. To be honest, I would love to use GitLab’s tools, but the problem with them is that they require too much fussing.

GitHub, on the other hand, does one thing well and that’s host your source code for you. Sure you can also do pull requests, code reviews and many other great things but this is all nice to have besides being able to have one place to manage and host your source code.

Issue management

I have to say that GitLab’s issue management tools are very much on par with GitHub but where GitHub excels is their project, milestone and issue integration with pull requests. I find GitLab’s way of handling pull requests complex. I tried using them for a few months, but the whole process just didn’t feel as straightforward as GitHub’s.

Maybe it’s a familiarity with GitHub that stopped me from getting on with GitLab’s issue management tools. I’ve been using GitHub with some clients, and I have to say that managing their pull requests is a simple process.

A bigger community

There’s no doubt that GitHub has the more prominent community and despite attempts by others to create communities elsewhere it just isn’t possible to do so. It’s a bit like building another Twitter. There has been plenty of attempts, but nothing compare’s to Twitter when it comes to micro-blogging.

It would be nice if all GitHub, GitLab and Bitbucket could integrate with each other seeing as they all support using Git, but then what would be the incentive to pick one?

I’ve been hesitant about the number of businesses and organisations the use GitHub for their source code management, but as long as GitHub continues to support them and the rest of the GitHub community with great features and integration with others tools, then I don’t see a problem in sticking with GitHub.

More features for GitHub please

There’s no doubt that GitHub is a much bigger and better-suited source code management tool for me. I’ve used Bitbucket in the past, but even it can’t compare to the ease with which I can use GitHub. It’s time to hang up my projects on the GitHub website and start creating more projects there for people to see.

That doesn't mean though that GitHub has all the features that I need. I would like to see a few more options and features on GitHub though.

A repository template for labels and project columns would be a good thing. I’ve managed to replicate the labels I used for my Trello boards in GitHub issues as labels.

Another thing I would like to see is the assignment of labels to issues as I move them across project columns.

I would like to see the addition of an avatar for repositories. GitLab is on to a winner with their avatars for repositories.

I would also love to see greater management of repositories. Being able to group repositories into folders would make my job a lot easier and would also let me create a showcase folder where I could highlight all my best work.

Between GitHub, GitLab and Bitbucket there’s plenty of options for developers of all types for their source code management and hosting. For me though, GitHub ticks all the rights boxes.

My web development setup for the iPad Pro

 •  Filed under Posts, iOS, Web Development, Tools

While it was my intention to write about my web development workflow on my iPad Pro at a later date, one of my readers got in touch asking about how I use the iPad Pro in this capacity. Rather than hold off I thought it would be a good time to elaborate a bit on my workflow when using the iPad Pro for web development. What follows is still under review and isn’t my first attempt at using an iPad Pro for web development.

My first iteration on using the iPad Pro involved the Blink app and setting up a remote development environment on a DigitalOcean server. This took a while to setup but even then I found that using Vim as my text editor on a touch device didn’t work for me. So it was back to the drawing board and what follows is a second pass at putting together a web development environment for the iPad Pro. It certainly isn't final but it’s working for me now.

Another point to consider is that this web development environment is tailored towards Ruby on Rails development. A similar setup will work for other languages and frameworks providing you can run your development environment locally in iOS or on a platform like Heroku or Engine Yard.

Remote services

I'm using a number of remote services not because I need too just to be able to work on an iPad Pro, but because they're already part of my workflow on the desktop and I can use them on the iPad Pro as well.


I’m using Github for source code management for a number of reasons like client familiarity, Heroku integration and a few other reasons. The main reason I'm using Github though is that it's tried and tested. You can't argue with that.

I've tried a number of source code management services like Gitlab and Bitbucket. While there are benefits and drawbacks to each service, Github is my preferred source code management service.


Heroku has been my go to hosting platform for Rails applications for a long time now. I’ve tried other platforms and while they might be good fits for particular clients with specific needs I’ve found that Heroku has everything that I need for hosting most Rails applications.

I’ve already mentioned that github is good for Heroku in that it’s baked into the pipeline service that Heroku offers. Automated deploys are a great thing and using this in conjunction with Heroku’s CI tool is one less thing for me to configure.

Client side apps

With our remote services in place it's time to focus on the client side apps. Apps that focus on developer productivity have largely revolved around other things that developers do like project management, issue tracking and documentation but there are more text editor apps becoming available on iOS and I’m confident that there will be even more apps like this overtime.

Working Copy

I’m using Working Copy as my local Git client. I’ve been using this for a few months now. It's easy to setup and it works well in iOS 11 with split view and the drag and drop functionality. Working Copy also integrates well with GitHub, Bitbucket and Gitlab. So I’m not tied to using one particular Git source code hosting service.

Text Editors

And now the essential bit of kit for any developers toolbox, the text editor. I’m running two text editors at the moment with the hope of selecting just one of these when I’ve given each of them a thorough test.


I’ve used Textastic in the past but only as a means to edit text files remotely. Using it now as a text editor means that it needs to tie in with Git, have the essential settings I need for editing source code and perhaps the most important feature of all, a nice colour scheme!


So far I’m pleased with its feature set and there’s been little in the way of blocks when it comes to workflow. Once I had Working Copy setup to track my Github repos, I was able to drag a branch into Textastic and start working. Changes to files are marked in Working Copy so that you can commit your changes as you normally would.

Textastic doesn't have all the preferences of a desktop text editor like Sublime Text but the essentials are there. Editor themes, font selection and size, and tab size and type. There's also find and replace and symbol listing which is handy for larger source code files.

Textastic is working well for me but the one thing that I would like to see a easier management of the files I'm working with. A command pallete like Sublime Text would be a nice addition.


GoCoEdit is a new addition to the test. While Textastic I have history with, GoCoEdit is fairly new and I’m still finding my feet with it. It shares many of the same features as Textastic though, so it's easy to get started.


Like Textastic, you can drag and drop a repository from Working Copy into the app to get started working. Changes to files are marked in Working Copy for you to commit.

Editor themes, font selection and size and tab size and type are supported as well. There's also find and replace functionality as well. I've also found that in GoCoEdit there is a command pallete with limited functionality. You can manipulate text, find and replace text and save a file using this but there's not much else you can do with it.

I must admit, I do prefer working with GoCoEdit over Textastic. Saying that though there isn't much between them and both are more than capable of being all-day text editors if you find you have to work on your iPad Pro for the full day.

There are many things missing from these editors that would be taken for granted in a desktop text editor like Sublime Text but apps like this are still relatively limited in what they can do on a iPad. The most essential features are there though.


If there’s one thing I’ve learned from all this is that if you’re going to use an iPad Pro for web development or any other form of work then expect to adapt to a new range of apps. Sure you’re preferred apps might be available on iOS but the interface does require you to adapt to the new environment.

Thankfully iOS is getting there with better features like the split view and drag and drop. Features that we’ve taken for granted in desktop operating systems for years but are only starting to see in operating systems like iOS.

My web development workflow has required some changes for the iPad Pro but it’s nothing drastic and a bit of learning on a new device isn’t a bad thing.

Thanks to Curtis McHale for reaching out to ask about this and giving me that much needed nudge to write.

Pro colour schemes

 •  Filed under Posts, Tools, Products

If you see me bashing away at text editor then you'll know that I'm a die hard Solarized fan. In the last few weeks though I've been using the Dracula colour scheme as well just for a little change.

Colour schemes for text editors and other software tools are a personal choice. There are benefits to the carefully thought out schemes like Solarized where you get a balanced set of colours that works in most conditions. That works for me. For other people though, they might just use a set of colours because they like the colours in the scheme. Everyone is different and has their owns reasons for what they like working with.

Over the weekend I read about a new colour scheme called Monokai Pro, which is based on the popular Monokai colours and it's availability as a colour scheme for Sublime Text 3. I installed the package and spent some time with it over the weekend. What's interesting about this colour scheme is that while the package is freely available for Sublime Text 3 to evaluate, it does require a license to use. The license is 10 euros to buy.

I debated with paying the license fee for what is essentially a list of colours, but when you look beyond that you see that the Monokai Pro colour scheme has a lot more to it than a colour scheme for your code.

An example of the Monokai Pro colour scheme

The colour scheme changes the interface of Sublime Text as well and there are a number of settings that allow you to customise how different parts of the Sublime Text user-interface look. A very professional finish.

In the end I decided that it was worth the money to buy a license for the package and bought one on Monday.

The most interesting part of this though is not the colour scheme itself but what it is. Yes it's a package for Sublime Text that people can install, yes it's a list of colours that you can change your interface too but other than that it's also a product, a micro-product if you like. And it's not the first product that I have seen that is marketed towards text editors like Sublime Text 3. A few years back I bought a license for the GitGutter package for Sublime Text and I've been using it ever since.

Just goes to show that products come in all shapes and sizes and shouldn't be discounted because of their feature-set or size when compared with similar "free offerings".

Hello TextExpander ... again

 •  Filed under Posts, Tools

A while back, I read with disgruntlement about the change that Smile were introducing to their TextExpander product. It was the introduction of a cloud syncing change to their product which required a monthly subscription.

I wasn't too keen on the idea. The reason I wasn't too chuffed with the idea is that I only ever used TextExpander on my MacBook Pro and nowhere else. I decided to look for an alternative. I switched to aText and never looked back. Until now.

Last week I purchased an iPad Pro. I've spent the first couple of days getting the various apps I needed setup. Then I started working on getting together a usable development environment so that I could do everything on my iPad Pro that I can do on my MacBook Pro. Aside from some of the terminal hackery that I can do on my MacBook, I can do just about everything else on my iPad including web development work for clients.

With my new tablet of choice I started doing administration work last week. An invoice was outstanding so I started the process of gathering the work I did for the week and writing the invoice and email for the client. Invoice done, I moved to the email. After a couple of attempts at trying to generate my email template I then realised that I wasn't using my Macbook Pro which is why the auto-expanding snippet I use for this particular email didn't work. It was time to re-assess the auto-expanding snippet tool of choice.

So what's a familiar auto-expanding tool that let's me use a single library of snippets across multiple devices? Well, TextExpander of course!

Is the subscription price for this worth it now?

I think so.

The content creation device

 •  Filed under Posts, Tools, iPad

Jack Baty has been using his new iPad in anger this week. The results are good!

I’ve been using the iPad exclusively while at home for more than a week and I have been continually surprised by how much I enjoy it. I’ve been emailing, managing projects, editing photos, drawing, tweeting, and generally carrying on like it’s actually normal doing stuff on an iPad other than reading social media sites and playing games. Who knew?

Surprise! The iPad is a Content Creation Device

I picked up an iPad Pro at the weekend that I'm currently using side by side with my MacBook Pro. The iPad Pro isn't intended to be my main development machine but it will be my portable development tool of choice. First impressions are good and Jack's blog has been a great read with his recent move to using an iPad.

Ulysses Subscriptions

 •  Filed under Posts, Tools

So following the footsteps of TextExpander and Day One, the writing app Ulysses is now moving towards a subscription service.

I've wrote in the past about subscription services. I get why people and companies are doing it. Subscriptions provide a more stable revenue stream and allow consistent development of the product.

If I was a keen writer and I used Ulysses on a daily basis then I imagine that I would take out the Ulysses subscription. For just under $5 a month I'm getting a great writing tool that I can use on all my devices.

$5 isn't a lot of money, but when you're working on the Internet on a daily basis, it won't be the only subscription service you'll have. You'll have other subscriptions for other products and services that you use and these all add up. With all these subscriptions, they can quickly mount up.

I used TextExpander for a few years until they announced that they would be moving to a subscription plan for their users. Many seen as it as a good move for TextExpander to support the business and I agree with that. What I don't agree with though is the pricing. Paid monthly, TextExpander is only 83 cents cheaper than Ulysses. Two vastly different products, but very similar in pricing. Are they priced right? Who knows. All I know is that I refuse to pay a monthly subscription service for a product that I only use on a single device.

I'll be interested to hear what Curtis has to say on this. I know he's been a long time user of Ulysses but we emailed each other recently and he did say he was cutting back on subscriptions. Will he cut back on this? I'd like to say he'll stump out for the subscription, but I'm not entirely convinced.

Lastly I also just remembered that Ulysses is available on SetApp. It will be interesting to see if Ulysses remains on Setapp as it only costs $9.99 per month and for that you get access to an increasing number of apps for OS X as well as Ulysses.

Update 2017-08-10: It looks like SetApp user's don't need to worry as Ulysses will be unlocked on your other iOS devices if you have already picked Ulysses using SetApp. Good to know!

In addition to those “big” arguments from above, there are bunch of smaller advantages, too. One example: if you use Ulysses via the Setapp subscription, we will now automatically unlock the iOS app as well. And the way we modeled and priced our subscription plans, now much closer resembles the value each plan provides, than a “pay once” model ever could.

Why we’re switching Ulysses to Subscription by Max Seelemann

Exploring alternatives to GitHub

 •  Filed under Posts, Github, Tools, Web Development

I've been a user of GitHub for a long time now. Ever since I started my career in Ruby on Rails I've had a GitHub account.

I'm looking again at alternatives to GitHub mainly out of curiosity. There's been some improvements to GitHub over the last few years and new features are gradually coming out but there are other options out there.

I did move some private repos to BitBucket a few years ago, but due to the lack of any extra features I moved these repos back. BitBucket just didn't have anything of added value that would keep me using it.

I tried GitLab a few months ago but I didn't really give it a fair go. I spent a couple of weeks using but I didn't really dig into it too much. I created my account there again to give it a try. I've been using it now for a week and I've moved a number of private repos over from GitHub. The nice thing is that as well as my repo GitLab has moved over my issue list for each repo. Another thing I don't have to worry about moving it across.

It's still early days to make a final decision on this but I've been impressed with not only what GitLab does at the moment, but the pace in which they are releasing new features.

The best thing and worst thing about GitHub is its community size. A lot of developers use only GitHub for source code hosting and although some people might see this as a good thing, it's like saying that Facebook is the only social network platform out there. Yes, there are a lot of people using GitHub but there are alternatives to it and I'm always willing to explore the alternatives to any development tool that I use.

Once I've spent another few months using GitLab I'll probably have a final decision on where I'll be hosting the bulk of source code. I won't be closing down my GitHub account if I do decide to use GitLab for hosting my source code. I still need a GitHub account for client work, but that's all it will be used for.