Matthew Lang avatar

Matthew Lang

Web developer with a preference for Ruby on Rails

Hello Pocket, Goodbye Instapaper

A couple of weeks ago I moved my Instapaper account over to Pocket. The reason for the move was that I wanted better organisation of the articles that I had read and that meant more than just being able to file what I had read into folders. Don't get me wrong, Instapaper is great for taking content and making it easy to read, but after that you can only file what you have read into folders. Instapaper does offer a full-text search facility in their premium plan but I found that I needed something in between folders and searching.

Pocket caught my eye when it first came out as a re-brand of Read It Later. I did trial it for a few days but it duplicated what I already had in both Instapaper and Pinboard. Since then I've moved on from Pinboard and I handle my bookmarking needs with a collection of Markdown files. What I needed was better organisation of what I had read. Searching amongst hundreds of articles is okay for unique keywords but I have a lot of articles on web development and some of them are difficult to find.

Pocket offers more than just the ability to queue up articles to read. Tags allow you to organise what you have read and there's full-text search also. Lastly Pocket stores a copy of the article for you should the original go missing. Those last two features are in Pocket's premium plan, but at just $45 for the whole year, I would say that it is worth it.

The only problem I have is that when I imported my Instapaper articles into Pocket, I had over 3,500 articles. That's a lot of articles to tag and I will eventually get round to tagging everything that I keep. It's not all bad though. During the import Pocket tags articles with their original folder name in Instapaper, so I have some form of organisation to start with. Also, it gives me a chance to check my archive and remove articles that are irrelevant. Lastly, Pocket offer clients for OSX, iOS and Android and there is also the web client which anyone can use regardless of your preferred platform.

Instapaper is a great service for those that want to read and archive their content and I would still recommend them. If though you want a little more organisation to what you've read, then I think Pocket might be a better fit.

The Distant Observer

It's close to a couple of months now since I stopped being an active user on App.net. The only time I'm posting updates now is when I want to reply to any mentions I get about my blog posts and shared links. That's as active as my timeline gets these days. I'm still getting notifications of people unfollowing me as they realise that I'm not that active there anymore. In the past that might have been a big deal but not anymore. I'm just not spending as much time on social networks anymore.

App.net isn't the only social network I've chosen to distance myself from. I got fed up with the Twitter service over a year ago and decided to stop tweeting. At the time I was questioning the value I was getting from Twitter and whether I could afford the time to participate as often as I could.

The problem I have with any social network is the incessant checking of your timeline that becomes an hourly ritual. With every spare few minutes I had I was checking timelines, replying to people, favouriting posts, posting pictures and everything else that social networks bring.

Being active on any social network and getting work done requires discipline. I just don't have that discipline and rather than fight a continual battle against getting stuff done, I've opted to simply stand by and observe. I still have my App.net and Twitter accounts that I share links to, but that's all they are for.

I guess being a software developer I already spend enough time with my head buried in technology and being online during the day that when it comes to outside of the work day, I prefer to distance myself a bit from things like social media.

It hasn't been all bad though. In the last few weeks I've managed to read a lot more, both online and offline. I spend more time with the kids and I've even had time to build an idea for a daily email service. It's still under wraps, but progress on it is going well.

If I don't "socialise online", then where am I getting my daily dose of interaction? Well, I share content daily on my blog, writing for it as often as I can and have even become part of a small circle of bloggers that frequently refer to each other with links. You know who you are gents!

So being a distant observer of social media has its benefits. I might not have my finger on the pulse of what's trending, but I'll happily trade that to get the time do other things.

One Year On With My YNOT Gulper

Just over a year ago I noticed that working from home eradicated my need for two separate messenger style bags. In the past I've used a North Face bag for commuting to work on the bike and a Fossil bag for shorter journeys off the bike. The North Face bag is great for the bike but it is bulky, even when it's empty. My Fossil bag was over five years old at the time and was starting to show signs of wear and tear. I needed a single replacement for both.

I needed something that could take the volume I needed for errands on the bike but also be comfortable enough to sling on my back if I was visiting a client or working away from home and needed something to carry my MacBook and a few other things.

This time last year I took delivery of a new YNOT Gulper roll top backpack. I had my eye on the bag for a few weeks, but when I found out that it was on sale, I took the opportunity to buy it. Over the last year it's been my go to bag for biking and day trips for when I'm working away from home.

My YNOT Gulper backpack

The roll-top style of opening means that the bag can effectively expand to carry a few more extra items or can roll back down for minimal loads. Two deep side pockets offer spacious storage for things like lights, locks and a tool bag and there's a front pocket for smaller items.

Over the last year this bag has proved itself time and time again. It's main use is as my go to bag for when I'm not working from home. I use it to carry my MacBook, a notebook, a smaller bag with a mouse, cables, and a few pens. I don't have a Swoop compatible laptop sleeve to clip my MacBook in but my own laptop sleeve offers enough protection.

It's secondary use is for running errands on the bike. I've taken to using my bike rather than taking the car, especially when the weather is good. The roll-top feature of this bag helps when I've got a lot to carry. In a matter of seconds I can expand the volume of the bag. I did initially have a concern about how much weight the back will take and while I have done a number of runs with the bag full loaded, it's thankfully still in one piece.

The Gulper has been rock-solid in its use as a bag for both on and off the bike and it's massive volume makes carrying even the biggest loads easy. With more biking planned for this year, it will be put through its paces again.

Less Listening, More Learning

Podcasts and screencasts can eat up a lot of time. I've started to see a swing towards listening to podcasts and watching screencasts and less time spent putting what I get from them into practice.

For the last year I've been a healthy listener of a variety of podcasts. They are centered around software development, programming and freelancing. Every week I listen to about five or six different episodes on these topics. While they're entertaining to listen to, I'm starting to see that I'm not getting as much value from them. Sure there's sometimes a glimmer of programming language knowledge that you didn't know about, but is it worth putting in a good half hour of your time for that one little morsel of knowledge?

Then there's the screencasts. I had a few of these going last year, again on the topic of software development. Screencasts definitely need more of your time as you can't watch them when you're out on the bike or in the car, they need you to both listen and watch. In terms of getting time to watch these, I simply didn't have the time available. And then every few weeks I would simply declare screencast redundancy and remove them from my list to watch.

Since removing these from my list of intakes I'm seeing more of a move towards reading online, books and RSS feeds. They can be more easily consumed on the go and using smaller blocks of time. This in turn has allowed me to spend a bit more time learning those things that I only listened to in podcasts or watched in screencasts.

Learning isn't simply about consuming as much information about the topic that you're interested in, you need time to apply what you have consumed and seeing if you can in fact you use it correctly. I hope to be doing that a lot more this year and re-address the balance of learning.

Back on Track

Minor setback this week as a couple of viruses knocked me and Jen out of contention for a couple of days. Last day and half has been me trying to get back on track with work.

Almost there.

Learning with Rust

I'm always reading about other topics in software development. Over the last few years I've read about web design, JavaScript, Ruby, agile methodologies and practices, Go and even Objective-C. Reading books on these topics has provided some insight into their respective topics but with the exception of Ruby and agile methodologies I haven't been able to take what I've read and use it in a practical exercise.

A couple of years ago I read about the Go language from Google. So I started reading a couple of books about it. Since then I haven't written more than one hundred lines of code in Go. Was that time spent reading about Go a waste? I think so.

More recently the Rust language has peaked my interest but I haven't started reading about it yet. I've been asking myself if there's something I can work towards using Rust that will let me learn the language. Using Rust in a practical use hasn't been something I've been able to come up with until a couple of days ago. There I was reading Hacker News over the weekend when I seen an article about writing a shell in C. Well, why not write it in Rust?

Building a shell in Rust should give me the chance to explore and learn the language but also give me the chance to try out something other than web development. I've been working with Ruby on Rails for over four years now and while I enjoy the work, I have been looking at a systems programming language to learn. We'll see how it goes.

Writing is a Habit

I've noticed a lull in my posting frequency here. Towards the end of last year, my posting frequency shrank to just one or two posts a week.

Despite attempts to re-ignite the spark, I haven't been able to return back to that time when I was posting more frequently.

It's only in the last couple of weeks that I have noticed the source of the problem. It lies in the fact that I define each post I am writing as a single task.

Writing Isn't a Task

I've learned this the hard way. Since collecting all my writing ideas in Todoist, I've struggled with writing on a regular basis.

In Todoist I collected ideas as tasks and worked on them when I could. The writing process isn't simple case of hitting a word count and being done. It is for the first draft of anything you write but self-publication involves a continual loop of writing, reading and reviewing. It only ends when we feel that what we have written is ready to be published.

Instead of using Todoist, I'm going back to using Trello to mange my content funnel for the blog. From a list of ideas, I'm hoping to be able to gradually move cards across my board until they're ready for the blog. Writing is a process, not a task.

Writing Takes Time

Another hard lesson learned. In the past I would outline posts and write them on the day of publication. That might be okay if you have a couple of hours a day to review what you have written, but I don't have that time. I'm lucky to get an hour a day set side for this. So I need to use this time in a better way.

Rather than writing one post a day, I'm going to start writing parts of different posts each day. I might work on one or two posts, review another post and ready another post for publishing, but in no way should I be writing, reviewing and publishing in the one day. If I want to get the most from my writing then I need to give ideas and drafts more time to incubate.

Whether you're writing, reading, reviewing, editing or publishing, it's all starts with a simple habit of getting those words down on the page.

I'm hoping that by the end of the month, I'll be back to at least four posts a week. Let's see what happens.

Benefits of Being an Indie Dev

Marco Arment provides a detailed breakdown of his sales figures for 2014 for his app Overcast. More interesting though is the benefits he mentions to being self-employed.

I can work in my nice home office, drink my fussy coffee, take a nap after lunch if I want to, and be present for my family as my kid grows up. That’s my definition of success.
Overcast’s 2014 sales numbers by Marco Arment

Couldn't agree more.

Why Are Flashbangs Still in the Hands of US Police?

In the past year I've read a number of different accounts of police using these harmful devices for raids. It boggles the mind that something so dangerous is availble to US police forces as well as being frequently mis-used.

The U.S. Court of Appeals for the 7th Circuit wrote in 2000 that “police cannot automatically throw bombs into drug dealers’ houses, even if the bomb goes by the euphemism ‘flash-bang device.’” In practice, however, there are few checks on officers who want to use them. Once a police department registers its inventory with the Bureau of Alcohol, Tobacco, Firearms and Explosives, it is accountable only to itself for how it uses the stockpile. ProPublica’s review of flashbang injuries found no criminal convictions against police officers who injured citizens with the devices.

Perhaps the most horrifying case of harm by these explosive devices though was the case of Bou Bou Phonesavanh.

Bou Bou was sleeping in a portable playpen at the foot of his parents’ bed when the Habersham County Special Response Team broke down the door to the room and threw a flashbang. The grenade landed on a pillow next to Bou Bou’s face. The blast blew a hole in his chest, severed his nose, and tore apart his lips and mouth.

Hotter Than Lava by ProPublica

Perhaps the biggest problem though is the attitude that a militarized police force is necessary and keeps people safe. I don't see a problem with police officers carrying firearms in the US, they have done for years, but there is a problem with how much equipment is at their disposal and the lack of constraints in which they are allowed to use it.

Weapons like this belong in the hands of specialist armed forces only, not law enforcers.

Paying For Software Is Smart

Paying for tools is a smart choice. If programs like Keynote and Mail.app were actually profit centers for Apple, I would imagine that we'd have far better support, fewer long-term bugs and and most of all, a vibrant, ongoing effort to make them better.

Five Thoughts on Software by Seth Godin

I completely agree with this, after seeing Google eventually take down Reader, I've always swayed towards paying for tools and services when I can. They're more likely to be still running in the long term, offer greater support and they are updated more frequently to ensure their customers are still getting value.

There are exceptions to this though, but this is a rare exception only made possible by exceptional companies.

Zombie Music

Two albums worth mentioning are the two albums of The Walking Dead soundtrack. I didn't think these existed until a couple of months ago. The dark and broody music accompanies the show well, but it's also a good listen on it's own.

The Last of Us

This is just a quick hat tip to The Last of Us on the PS4. I've been playing this game for the last few weeks and after playing a series of disappointing games like Destiny and Call of Duty: Advanced Warfare, it's great to see gaming being taken in a different direction. The game itself was brilliant, but not only that it was backed by a great story, believeable characters and a game that didn't rely on an arsenal of weaponry.

Highly recommended.

The De-cluttered Desk

I had been putting it off for weeks, probably months in fact. My desk was slowly becoming a paper-based version of Smaug's hoard of gold . It was time for a de-clutter.

We don't have a huge house but it's big enough for us. My workspace is located in the back of sitting room where my sons tend to congregate in the evening and at the weekend. I've got a desk, bigger than probably most people have in their homes but with it being my workspace for the whole day it needs to have space to allow me to be comfortable.

Over the weekend I started organising the top of my desk and moving things about to give myself more room. It took a few iterations but I'm seeing a benefit of the change now as I write this. I have more space on my desk almost all cables are out of sight. Having got this sorted I turned towards the tower of books, magazines, papers and other dead-wood that was accumulating under my desk.

I was glad to see that I managed to get rid of a few programming books that were aimed at more of a novice level. I've kept some of these books for years, but having not read one of them in the last year, it was definitely time for them to go. Never a bad thing to throw away the books you have learned from and moved on. Old magazines for healthcare and programming were consigned to the recycle box with a vow to keep only the last month's magazine.

Lastly it was the turn off the paper. With reams of paper cluttering under my desk, it was time to keep the stuff that needed to be processed and shred the rest.

The de-cluttered desk is now ready for some productive work. It's amazing the difference that an exercise like this does for your motivation.

My Development Tools - 2015 Edition

I forgot to do this last year. It completely went out of my head.

Hardware

Not much has changed since I last wrote about this.

  • MacBook Pro - I'm still using the same MacBook Pro I wrote about over a year ago. It has served me well in that time, but in hindsight I think I might have been better off with a MacBook Air. The retina is nice, but I do find the Pro rather bulky when I compare it to my Dad's Air. With all the hype of a new 12" MacBook Air circulating about, I am keen to see what new products have in line for the MacBook range.
  • Mighty Mouse - It's a great mouse but one annoying thing about it is that it frequently disconnects itself and has to be re-connected. A minor annoyance.
  • Logitech K811 - Last year I made the switch to the Logitech K811 keyboard. With a Mac Mini on the desk for the family and my MBP for work, switching between these two using the keyboard is simple.
  • Dell UltraSharp U2414H Monitor - Treated myself to a new Dell monitor at the end of last year. The thing I love about is the thin bevel around the edge and the screen is crisp and clear. Also it's adjustable in terms of height and angle. If I just had a bit more room on my desk, I would definitely stretch to having two of these sitting side by side.
  • External Hard Drive - I'm still using a Seagate external drive for Time Machine backups but I am considering a bigger external NAS for this.
Hardware nice to haves

As I mentioned above, the only change I would make at the moment is to replace my Pro with an Air, but with so many rumours flying around about changes to the MacBook line up, I prepared to wait a few months to see what emerges. Other than that, all my hardware is reliable and working well.

Software

This is the software that I use every day. These are the essential applications I need to work. If I had nothing else in terms of software, then these applications would be all I would need.

  • Mail - I still haven't found the need to switch to anything else. It handles all my email needs and it's baked into OSX as well.
  • Firefox - No complaints with Firefox and probably now the longest I have went without switching browsers. For a while it was almost a yearly thing. Chrome to Firefox to Safari to Chrome ... you get the idea. The tab groups is a particularly nice feature as I frequently have different tabs open for different clients and projects.
  • Todoist - Another type of tool that I used to do a lot of switching on. I must have tried over 20 different task apps in my time, but Todoist is the one I'm most comfortable with and it's baked into my workflow now. Can't recommend this product enough, especially their premium subscription.
  • iTerm2 - Still my preferred terminal emulator although I no longer use the pane splitting feature of it and defer to tmux for managing my panes.
  • Vim - I did it, I finally made the jump to Vim and I have stuck with it. Despite a few minor annoyances that could be fixed in the config, I am definitely more productive as a programmer in Vim.
  • Dropbox - I re-assessed Dropbox my need for Dropbox a while back wondering if iCloud might better suit me, but having my a seperate service handle syncing my essential files made more sense than relying on iCloud.
  • Facetime - Facetime, in particular the audio only calls, has become my main way of chatting to clients. I only defer to Skype now when I need to have a group conversation.
  • HipChat - It's probably not a good thing to be able to have clients get in touch with you at any moment of the day, but HipChat has become valuable as a portal where I can check-in with clients during the day. Also most of my work is done on Heroku, and I have a number of deployment hooks in place that feed back to client's rooms on HipChat. This way they get to see when code is deployed and ready to be tested as well as seeing notifications from commits I'm making on Github and Bitbucket.
  • 1Password - Probably my most valuable piece of software. Secure, easy to use and does make handling your passwords a lot easier. Also found their iOS app to be useful as well.

While I do use the following software every day, these are more like nice to haves rather than essential. Still, they make me more productive every day, so I'm glad I have them.

  • Alfred - Despite Apple's changes to Spotlight in Mavericks I'm still sticking with Alfred as my preferred application launcher.
  • Fantastical - Scheduling and calender management made easy. I also use this on my iPhone as well.
  • RSS Notifier - I still use this as a mini RSS reader for service updates from the likes of Dropbox, Cloud66, Heroku, Linode and other tech services.
  • Divvy - Great little application for managing your windows. Shortcut keys for common layout patterns have been commited to memory for a long time so it makes setting up different apps on my screen easy to do.
  • CleanMyMac 2 - Broom was great for identifying huge files and folders on my MBP but this goes one further and routinely cleans out junk and reclaims a great amount of wasted space. Usually run once a month now just to keep my MBP in good shape.

The Web

A web developer's playground. Just a small selection of the many services and products that I use online.

  • DuckDuckGo - Still my preferred search engine and I'm also finding that I use the Google bang operator a lot less.
  • Github - My preferred source code management tool for client work only.
  • Bitbucket - A solid source code management tool for my private repos. It's a shame that so many people are automatically are drawn to Github. Bitbucket works well, but it does lack a number of features that Github has.
  • Heroku - I mostly work with Heroku when I am working with clients. I no longer use it for my own projects and products though.
  • Linode (Referral link) - This blogs runs on a small Linode server. Yes it is costing me money each month, but Heroku's scale of pricing from one dyno to two dynos is simply too expensive.
  • Cloud 66 - Despite many attempts at getting a bare server up and running with all the software I would need for a Rails application, I always found the maintenance and deployment of servers too much of a pain. Cloud 66 have an interesting solution in that they analyse your application and configure a server of your choice with all the correct components you need. Deployments can be done from the command line or the Cloud 66 website. So far I have two production applications running on Cloud 66. I'm happy with the setup so far.
  • LinkedIn - Jury is still out on it's usefulness. I get the odd request now and again, but most leads have come directly from email.
  • FreeAgent (Referral link) - Still the best invoicing and time tracking solution for people like myself. Works flawlessly and the FreeAgent team do a great job of keeping you notified with tips and suggestions through their Monday Motivator email.
  • Instapaper - Still the best 'read it later' service there is. Left it for a few months but quickly returned after realising how great it is.
  • Feedbin - My preferred RSS reader and still delivering new features. I am pleased to say that Feedbin is still going strong.
  • Gauges - I haven't reviewed this recently but I'll probably still stick with it. Which reminds me, I have another service in the pipeline that could be using this.

Backups

I haven't had any major backup disasters in the last year, but that doesn't mean I can stop backing up my data.

  • Time Machine - I had a minor run in with Time Machine a while back trying to get some files from a folder that had synced to iCloud. I stick with it for the moment but I'm wondering if I should look at alternatives.
  • Backblaze - I started using this at the recommendation of Curtis McHale. Good to know that if the worst happens I can get a copy of my data sent to my home asap.

So that's the tools round up for this year. I might do a progress report in the summer with any changes that happened since then. Glad to see that small paid services such as Instapaper and Feedbin are still going strong. Also good to see that I'm not constantly switching tools like I have done in the past. I seem to be reaching a state of 'tools zen' where I know what works for me and what doesn't.