All Posts

Explore all articles from Life Beyond Fife - Page 8

follies

How I became a data scientist

During the #firstsevenjobs trend on Twitter, I tweeted my rather standard career path into software. It piqued the curiosity of a friend and former colleague who was interested in my minor blip as a data scientist - it was a surprising and short six month period in my career and fairly recent. Here's my story about why, and how I became a data scientist, and more importantly, some lessons on why it didn't work out. history of me Before launching straight into recent history, I'll briefly cover my early career where I was a computer scientist researcher. Growing up I...

11 min readRead more →
coding

Insurance against LeftPad level events

When it comes to dependencies, there are two extremes in software development. Complete ownership of everything right down to the abstract data types e.g. "Yes I write my own open addressing hash table and hash map"; or on the other hand grabbing strangers' code left, right and centre e.g. "I'd rather have a dependency on some random, 12 line implementation of LeftPad because that's one less thing to bugfix, debug and maintain". As with all computer science trade offs, the majority feel comfortable somewhere in the middle. Done properly, I see the elegance of relying on small, composable dependencies but...

2 min readRead more →
coding

Breaking into the opinionated, disjointed world of web development

Again and again, I find web development one of the most fascinating of all the disciplines I've come across in my career. Fascinating in the way Extreme Ironing is fascinating: you spend as much of the time wondering why as you do how. Getting started The main issue as I see it for a developer with existing skills in programming looking to become a web developer, is how to get started. Take jstherightway.org as an example of one of many introductory guides to modern web development: as comprehensive and helpful as it is, where do you begin? How do you...

4 min readRead more →
git

Caveats

If this isn't the only site you've looked at for assistance learning git, you may have come across advice that perhaps contradicts some of the suggestions I've made. For example, the template workflow I describe instructs users to get the latest changes from the origin repo using git pull. Other sources will recommend, with good reason, a slightly longer approach that splits this over two git commands, fetch and merge. Opiniated versus Non-opinionated As a programmer you may have heard languages being referred to as opinionated or non-opinionated. Opinionated languages do not just specify their, often terse, syntax, but rather...

4 min readRead more →
git

Conclusion

This guide does not claim, not wants to be, an exhaustive guide to git. It attempts to give a basic mental model for what the commands are actually doing in plain English and with some simple diagrams. Complex topics such as git, of which we've only begun to scratch the surface, are mastered by learning from multiple sources and after use and experimentation in practice. Much of the power of git comes from when things don't work exactly as planned or when there's subtly different use cases for you or your collaborators situation. The inner cycle recommends making frequent commits...

2 min readRead more →
git

The inner cycle

While actively writing code and experimenting with possible solutions, it's crucial to be constantly committing code to your local git repo. By doing so you ensure you can safely undo botched attempts you might develop along the way. Indeed, this gives you the freedom to try outlandish things knowing you can easily revert to the original without needing to rely on <Ctrl>+Z in your text editor. The git commands Anytime you're happy with a small increment of coding, you can commit your changes to the local git repo. This coding increment can be of any quality you wish; it can...

2 min readRead more →