DEV Community

James McPherson profile picture

James McPherson

Data wrangler, software engineer, systems programmer, cyclist. Unix (mostly Solaris) for aeons. I talk C, Python, SQL, Performance, Java, Kafka and Makefiles.

Location Brisbane, Australia Joined Joined on  Personal website https://www.jmcpdotcom.com/blog github website twitter website

Education

BA (Mathematics, Modern History), University of Queensland

Work

Senior Data Wrangler at CoreLogic International

All 67 comments

Root to Linux: Search Files with Grep

I have a niggle for your otherwise very nicely written piece....

The Art of Writing Agile User Stories

I've been a software engineer for 25y, and the "user story" w...

“Should I get certified?”

I haven't got any certs yet, and I've long thought that they ...

Tech Acronyms Made Easy

Another really useful acronym is SOLID en.wikipedia.org/wiki/...

What is your fitness routine?

6 days a week I get up at 0430 and go for a bike ride. On a w...

Humanity in Software

I've just started a new role and it's daunting to be in the n...

How much coffee do you drink?

A double-double espresso every morning. Sometimes another dou...

Right way store datetime to database.

If I really, really have to store a timestamp in a db column ...

Linux commands for sysadmins (but not only, part 1)

I'd have started with saying that the man command is your fri...

Programmer Burnout is real and it is important to know how to overcome it

I've found that vigorous exercise is also an excellent time t...

Git log filtering and how to show a better history tree

I'm stealing that alias :-) Very useful, thankyou

"Hello, World!" but in 30 different languages!!!

I think I need another coffee, because I thought you were goi...

"Hello, World!" but in 30 different languages!!!

For completeness one should mention that this example is x86 ...

Git merge, git rebase, and crawling out of the git hole

Really well written, thankyou.

Learning to use Docker

I made my first Docker container just yesterday. I've been ...

What's your favorite question to be asked?

I reckon that's a rather rude question, actually. Especiall...

What's your favorite question to be asked?

For the infernal combustion engine: It's all based on har...

What Is an API? (Hint: It Is Not a Sandwich)

This is a very good explanation of what an API is and (just...

4 Types Of Developers You Meet In The Office

Valid.

4 Types Of Developers You Meet In The Office

I believe you've forgotten the toxic types the person who...

How To Make A Makefile

aaaargggghghhhh please Cthulhu no! autotools' library and...

What does your team do when your communication channels go down?

Panic :-)

How To Make A Makefile

Nice intro article, thankyou. I rewrote the core Solaris b...

The Elusive Senior Software Developer

Indeed, those parts of tech are really hot right now. I'm b...

“href” vs. “src” in HTML

This Brave browser looks very interesting, going to kick th...

The Elusive Senior Software Developer

This is me in a nutshell. I was very happy as a senior Sola...

What software projects made you "wow" 🤯

In no particular order: the Sun 3/80 with PC coprocessor ...

Nine Ways I (Try to) Act as a Tech Ally

Thankyou for this post, it was really useful. I also try to...

What practical tips do you have for creating Python modules?

I had a quick check of your TODO list - I don't think you'l...

Why write unit tests

That's an opportunity to bring things (and people) in from ...

Why write unit tests

Unit testing is your insurance policy - that (a) what you'v...

A Post About My New Job (and the Ones I Didn’t Get)

This is a great read, thankyou. I'm currently looking for w...

Connect to OracleDB from NodeJS?

I'm glad I read through the comments before jumping in - th...

What jobs did you hold before you got into software?

milk runner (showing my age here!) bartender pizza delivery...

What are your favourite non-tech related podcasts?

All The President's Lawyers, on kcrw.com, which I started l...

Using the big O notation in the wild

A minor niggle - I had to re-read your comment about the pr...

Why I like my desk unorganised and messy

My desk is quite messy. Every now and again I make an effor...

Tell me some useless (or useful) software trivia

Americans pronounce "cache" as "kaysh", but Australians are...

Tell me some useless (or useful) software trivia

WellActually that's the proper name for it, from a...

What is the importance of understanding libraries and frameworks?

I don't agree - an IDE is completely different to either a ...

What is the importance of understanding libraries and frameworks?

I don't agree (and strongly so) with your representation. L...

What are the books about software engineering history that you have enjoyed most?

Not 100% software engineering, but definitely history and s...

Overcoming blocks about contributing to Open Source

Your list of blockers is correct (only missing the communit...

I love writing scripts to solve small problems

This is the sort of relatively simple use-case that I'd jus...

Seeing Context with `grep`

No, because that's not its job. If you want search highligh...

Seeing Context with `grep`

An even better way of "seeing the whole file" is to use cat...

Do you drink coffee while working?

Nespresso isn't coffee ..... :p How you get your coffee i...

Do you drink coffee while working?

I used to say no - because I start my day with a double-esp...

A Collection Of Python Programming Resources For Beginners

I'd add in stackoverflow.com, the Python interpreter REPL a...

Do you use BeautifulSoup or LXML to parse your HTML markup in Python?

I'm not particularly stressed about the performance of the ...

Do you use BeautifulSoup or LXML to parse your HTML markup in Python?

I'm biased in favour of BeautifulSoup, because the majority...

What was your first 'big' programming project?

Hmm. Thirteen years ago I was part of a small team (4) boot...

Becoming a Senior Engineer

Wholeheartedly agree with your post - and I count myself fo...

Uplifting Stories of Tech Leads

I believe that you can grow your staff if you don't code. O...

Book Review: The Mythical Man Month (1995)

My experience is that when you've got fewer than 10 people ...

Book Review: The Mythical Man Month (1995)

I read the paperback version of this book (20th anniversary...

Going to My First Conference. Pro Tips?

It's pretty simple, really: Listen. Mingle. Be respectful ...

Are CSS and HTML programming languages?

I think that in the early days it would have been a stretch...

What does your Terminal look like?

When I started using Unix (1st year uni), it was SunOS 4. W...

Against 'foo' (and 'bar' too)

There are two paragraphs in your piece which provide the meat...

What habit do many senior engineers have that juniors should try to avoid adopting?

Sigh ... I was sure that when I responded to Ben's post thi...

What habit do many senior engineers have that juniors should try to avoid adopting?

A few things: taking a moment (or 10) to understand the ...

What's the longest you've stayed at a job you were unhappy with?

Close to 2 years, after 90% of my colleagues were laid off....

9 Software Architecture Interview Questions and Answers

I came across this post this morning, and it actually annoy...

Which editor do you use when opening files like .bash_profile, etc?

While my primary text editor is emacs (and I'm getting up t...

loading...