Rob Crocombe


Software engineer at Ravelin.com

Blog posts

Labeling pie charts without collisions

Recently at work, I’ve been using Chart.js to create pie/donut charts. We really wanted the labels to be shown around the outside of the chart, next to each segment. Chart.js doesn’t do this out of the box, so one of the only solutions I found was the plugin Chart.PieceLabel.js. This was a great start, but I found that if the chart segments were too small, the labels would overlap and be unreadabl… Read more →

The Delight and Damage of Prettier

At work, we recently added Prettier to our TypeScript dashboard. Prettier is a code formatter that’s gained popularity for its smart and deterministic output. Why did we make this change? When you work on a big codebase with multiple contributors it can be difficult to keep everyone to a specific style of coding. Prettier takes this weight off your team’s shoulders and ensures you never have to re… Read more →

Apple AirPods Review

I’ve been snagging my EarPods on door and drawer handles since my first iPod, wishing for the same comfort and styling without the pesky, tangled cables. So how excited was I when Apple announced the AirPods. I was sensible enough to wait for reviews and opinions first before buying them. Unfortunately supply has been very limited, ordering them online would take 6 weeks for delivery. The best way… Read more →

Azure gives me a headache

What should happen when you delete a web app and create another with the same name? Azure thinks it should sometimes show you the new app, and sometimes give you a “404 Not Found” error, depending on how it feels. We use Azure for deploying production versions of CS Blogs, for reasons I won’t go into here, and it’s been a real pain. The lack of documentation for deploying Node.js apps that are mor… Read more →

Lessons learned from csblogs.com v1.0

In April this year, Danny Brown and I began re-writing csblogs.com. While version 2.0 looks and acts the same, a lot has changed under the hood. Here are some of the things we’ve learnt along the way. MongoDB wasn’t for us While I didn’t have much of a hand in this choice, mongoose.js was easy to develop with at the early stage of development. We later realised MongoDB was not good for relational… Read more →

Code Generation Service, now open source

It’s been almost a year since I finished my masters degree at the University of York, and I’ve finally gotten around to open-sourcing my dissertation project “Code Generation as a Service”. That sounds like the right amount of time to recover from stressful report writing and dealing with the Eclipse IDE. The project is a web service that allows software engineers who specialise in Model-Driven En… Read more →

A new PC build for 2016

For me, building a cool PC is as much fun as using it. When I moved to America, I couldn’t take my PC with me – it’s just too big and heavy (and rather old now) – so I decided I would build a new one from scratch. I wanted something suitable for gaming, to catch up on games I missed last year (The Witcher 3, Tomb Raider, Fallout 4 etc.) and I also plan on getting this year’s games to play on it (l… Read more →

Readability: Slack vs HipChat

By now I’ve used my fair share of both Slack and HipChat (team-focused messaging services), and I couldn’t figure out why I did’t like Slack’s user interface. I think I’ve finally figured it out. I was recently looking into the best layout for positioning labels in forms - vertical, above the input, or horizontal, inline and to the left of the input. I found this UX Exchange answer and subsequentl… Read more →

A walk through blog technologies

As with any programming project, I came across challenges and new technologies while writing the new blog website. This post describes my more interesting findings. Hopefully it might be helpful to anyone thinking of building a static blog too. Build Process I really wanted to try Grunt or Gulp in the project, as I thought that having an automated build process would help speed things up, and it w… Read more →

Introducing my new blog

Welcome! Today I make the switch from Wordpress.com to Jekyll. I wrote a blog post before about building a new portfolio site with Jekyll on GitHub Pages, and I enjoyed development so much I thought why not build my whole site with this? The advantages were clear: I would have full creative control over the site now that it was up to me to design and implement it. I no longer had to use Wordpress… Read more →