loading...
James Turner profile picture

James Turner

Director - Innovator of Things - Co-Author of Your First Year In Code

Location Adelaide, Australia Joined Joined on  Twitter logo GitHub logo LinkedIn logo StackOverflow logo External link icon
Education

Bachelor of Information Technology

Work

Director at Turner Software

All 228 comments

Writing My Own Boot Loader

Great post! I have always wanted to do my own OS though ideal...

Changelog: API updates

Woooo! Great job everyone!

Firefox sends data to Google by default. Here's how to prevent it

Ummm, it doesn't look like the safe browsing logic is done vi...

Building a flat website with ASP.NET Core

Blazor is a very interesting technology though personally, I'...

Building a flat website with ASP.NET Core

Thanks! Since writing this post, I've actually moved from a f...

Rewriting a 2000s graphics engine

Super interesting post - great work on rewriting the engine!

What's with the customer care numbers?

Just lots of spam posts - make sure to report any like this t...

Dark Mode Toggle Using Tailwind CSS

That's awesome! I currently use Tachyons (very similar to Tai...

Worst thing about Visual Studio

Consistency with other IDEs withstanding, I feel like CTRL+O ...

Worst thing about Visual Studio

Wait, CTRL+P opens files in other IDEs? That seems so strange...

What is Microdata?

On GitHub, I haven't come across any that handle multiple dif...

What is Microdata?

Sorry, I haven't worked with any JS tools to extract microdat...

What is Microdata?

Yep! Google uses structured data like Microdata (in combinati...

🏆 Add dynamically generated GitHub Trophy on your readme

Looks pretty cool - nice job! The different ranks remind me o...

8 reasons why I rarely sign an NDA

Interesting article! One thing I'm confused a little on, are ...

Show me your personal website/portfolio

I think Razor Pages are an improvement to the general MVC arc...

Show me your personal website/portfolio

Here is mine: turnerj.com It is an ASP.NET Core website usin...

Implementing an LRU Cache

Thanks for the reply. Do you think it is worth measuring the ...

Implementing an LRU Cache

What are your thoughts on actually considering cache size? Li...

Smart Traffic Management System

That looks like a fun project, great job! I've always found t...

Looking for C# Open Source Projects for a 1st Time Contributor

Just wanted to chime back here - I've had two super awesome p...

For Empowering Community

Thanks to the awesome OSS community, the DEV API library for ...

You can now web-monetize your DEV posts! (But don't get your hopes up too quickly)

It would be interesting in the next few weeks to see some rou...

Multilayer Caching in .NET

That was really interesting, thanks for sharing! If you ask...

Multilayer Caching in .NET

Nice! If you don't mind me asking, what happened to it? Was i...

Multilayer Caching in .NET

In-memory caching is great and is super fast but remember, th...

Looking for C# Open Source Projects for a 1st Time Contributor

It might be a bit self-serving but I have a DEV API client in...

Announcing the Grant For The Web Hackathon on DEV

Thanks for replying! Basically I was thinking of some form of...

Announcing the Grant For The Web Hackathon on DEV

I'd love to know more about the server-side of things regardi...

Fast array reversal with SIMD!

Great article - love the visuals that go along with it too.

Levenshtein Distance (Part 2: Gotta Go Fast)

Thanks! I knew about the series listing functionality but t...

10 years easier or harder?

I'd say mostly easier - better tools, (generally) better do...

Levenshtein Distance (Part 1: What is it?)

I don't want to spoil anything but... yep, that is the firs...

What is Microdata and why should I care?

While Open Graph does describe page content, I felt with it...

The newly announced future of .NET - unifying all the things

Yeah, graphics/window support in .NET would be great - espe...

Sitemaps 101

Its probably best to raise a new issue on GitHub regarding ...

Building a Polite Web Crawler

Yep, you can supply any user agent in the crawl settings (s...

Welcome Thread - v39

Welcome!

The newly announced future of .NET - unifying all the things

I'm writing an article about maximising performance in .NET...

8 things to look for in your next hire instead of 10x engineers

Great list! Yeah, that original Twitter thread was a master...

What Licenses Are in Use?

Since the license is external to the package the URL could...

What happens when you IndexOf an empty string?

You're right, .replace("", "x") and .split("") definitely h...

What happens when you IndexOf an empty string?

If you were writing an IndexOf function, say it was a for-l...

What happens when you IndexOf an empty string?

I'm thinking things like a basic text search function where...

What happens when you IndexOf an empty string?

Interesting idea using it to find out the length though tha...

What do you install first on a new laptop?

Whoa, that sounds awesome! I'd love to see the source for h...

What do you install first on a new laptop?

Thanks for that link - I plan to use Chocolatey but didn't ...

Welcome Thread - v36

Cheers Nick!

The DEV Community Published a Book: Your First Year in Code

Actually would be kinda cool having every author read their...

The 10 points that make up real "10x engineers"

Yeah, I really like to think it was satirical but with how ...

The 10 points that make up real "10x engineers"

No need to apologise - you were kind and respectful. Have a...

The 10 points that make up real "10x engineers"

Even if every absolute they gave was a generalization, they...

The 10 points that make up real "10x engineers"

Based on the Twitter thread, to be a "10x engineer" you hav...

The 10 points that make up real "10x engineers"

I'm a dark theme user too and while I prefer it, the vibe I...

The 10 points that make up real "10x engineers"

The problem is less about some developers doing more work t...

How to inspire exceptional contributions to your open-source project

I only saw the tag "good first issue" for the first time th...

Why I Am Writing A Custom Engine

Yep! Some games (due to there mechanics) may only ever work...

Why I Am Writing A Custom Engine

So, why do I want to make my own engine? The short answer ...

What project have you worked on, that years later, you are still proud of?

Great story and great job building it! Sounds like it deliv...

What project have you worked on, that years later, you are still proud of?

Sounds crazy! 200 projects is quite a lot! I think the most...

What project have you worked on, that years later, you are still proud of?

For me, there was one project I worked on with my boss. The...

How I Started Existing on the Internet

That's pretty great growth on DEV and on Twitter! I've been...

What Do You Do To Celebrate a Big Accomplishment?

Steaks are a rare medium well done! That looks like a beast...

How to go from 3 views to 1,000,308

Agreed about the one sentence per paragraph, it seems to be...

DevDiscuss Resume Stats

I've started getting more into Inkscape recently with some ...

Demystifying Array.prototype.flat

I wonder if I am thinking of it similar to how substr works...

Demystifying Array.prototype.flat

Interesting - without looking at the docs or anything, I wo...

Should a button communicate the current state, the intended behavior, or both?

What is interesting is that with Twitter, even as something...

Should a button communicate the current state, the intended behavior, or both?

I remember seeing something similar about toggle states on ...

Why do recruiters hide the name of the company? 🤷‍♂️

While I have quite often experienced what you've described,...

Generic Measurements Mathematics In C#

Great job! That looks super useful for a project I am worki...

A world without passwords

Thanks for the link though also kinda worrying at the same ...

A world without passwords

I suppose the user wouldn’t actually be aware of the priva...

Java, C++, or C#???

I can't speak for C++ or Java but C# is only getting better...

What is your favorite desk accessory?

A small USB fan - helps keep me cool while programming. Goo...

What would be a technical solution to ✔️ not looking good on dark mode?

Just goes to show how different an emoji may look on di...

Should behavioural changes be considered breaking changes under SemVer?

Wow, that is a subtle breaking change!

What's the most excited you've ever been about a new technology?

Definitely .NET Core - the whole .NET development experienc...

Should behavioural changes be considered breaking changes under SemVer?

I was thinking about that too - technically if someone wrot...

Should behavioural changes be considered breaking changes under SemVer?

Interesting - yeah, in cases like an API where you can trac...

Should behavioural changes be considered breaking changes under SemVer?

I guess though it is hard to determine whether a client pre...

3 questions I have about developing open source libraries

Thanks for responding! With point 1, I would have thought ...

Should behavioural changes be considered breaking changes under SemVer?

What makes it hard is that fixing any bug would change the ...

DEV Summer Style

Was looking through the store the other day for hoodies and...

What are you "old enough to remember" in software development?

Development Specific: PHP4 Table layouts (though they rea...

If you enable "lazy loading" in chrome://flags, your DEV browsing experience will be moderately more efficient 😄

We're probably serving a solid 3-4 TB of images/month thes...

If you enable "lazy loading" in chrome://flags, your DEV browsing experience will be moderately more efficient 😄

Would love to know if you notice a measurable difference in...

The newly announced future of .NET - unifying all the things

That article you've linked to is an interesting read and yo...

The newly announced future of .NET - unifying all the things

practically every popular language and platform (perhaps e...

I am DevOps Engineer Working With K8s A Lot, Ask Me Anything!

Not a question but this is the first time I have seen Kuber...

The newly announced future of .NET - unifying all the things

Yeah, there is so much variability with enterprise stacks t...

The newly announced future of .NET - unifying all the things

That is my understanding of it otherwise these version numb...

The newly announced future of .NET - unifying all the things

Ahhhh, I see! I guess the reason I don't have as many issue...

The newly announced future of .NET - unifying all the things

I am liking Azure DevOps, it does seem to be getting better...

The newly announced future of .NET - unifying all the things

Wow, those are strong words! I never used Xamarin so I have...

The newly announced future of .NET - unifying all the things

As an aside from the post, unifying/standardising .NET like...

Image optimisation

One good resource I like for image optimisation is TinyPNG....

The closed source sustainability crisis

I'm still not sure that last bullet really fits with that A...

The closed source sustainability crisis

I think open source is great and it is great when people ha...

I need a little help from the whole community...

We just got the call that Rooney has a firm stance on not ...

Uploading your JSON data to Azure Cosmos DB for MongoDB API

Oh yeah, most definitely. Atlas on Azure is what I decided ...

Uploading your JSON data to Azure Cosmos DB for MongoDB API

I was actually pretty keen to try CosmosDB for a major proj...

What PC would you buy as a new dev now?

Wow... that seems a bit like a dodgy salesman, or at least ...

What PC would you buy as a new dev now?

Windows will not even allow you to swap out a hard drive w...

Async/Await easy cancellation in c#

That's pretty cool!

I'm a Visual Studio PM at Microsoft, working on developer services like Live Share. Ask Me Anything!

So this is what a typical/default build output would look l...

Headless GraphQL CMS

SilverStripe seems to tick every box you've mentioned. It ...

Selling an unused domain for profit

With your example of reporting not working - I would still ...

Selling an unused domain for profit

Domain flipping/squatting is very much like ticket scalping...

I'm a Visual Studio PM at Microsoft, working on developer services like Live Share. Ask Me Anything!

Haven't had a chance to use Live Share (you kinda need to h...

Selling an unused domain for profit

I'll be honest, domain flipping/squating to me is one of th...

When you DIY a Time Zone library

Yep, that video is great and was my inspiration for my post...

When you DIY a Time Zone library

Things like time zones and internationalization are funny b...

Workspace Wednesday: Show off your desk/computer setup!

Just re-arranged my office the other week. To the right o...

What's your favorite coding joke/comic etc?

MongoDB (the company) is up HUGE after today's earnings call

That is interesting! A few years back I got interested in N...

The Tale of the 1,000+ Hour Side Project

Yeah was just checking out Codealike and it wouldn't fully ...

The Tale of the 1,000+ Hour Side Project

Great story, thanks for sharing! The UWP stuff is interesti...

How I Solved My NYC Parking Problem With Python, the Search Tweets API and Twilio

That's a pretty clever idea! Good job 🙂

What does a dev's personal website need to include?

Just went to your site and it wasn't working for me (Firefo...

4 Tips For Workplace Pranks

Where I worked we had a fairly relaxed atmosphere and I did...

Where Do I Put My Business Rules And Validation?

One of the things I like in C# is actually the built-in val...

Where Do I Put My Business Rules And Validation?

Well written article! While I do like parts of the DDD conc...

How do you price yourself?

The project I am working on was discussed as a fixed sum. ...

How do you price yourself?

I just got accepted into one of my first large, paid proje...

How C# asynchronous programming is different than what you think

C# is moving a bit fast that I feel sometimes it's burdens...

It’s okay to invent unusual things (lessons learned from history of science)

Like in most things, there is a balance you want to achieve...

How C# asynchronous programming is different than what you think

No problem 🙂 Some of these things about async/await aren't...

How C# asynchronous programming is different than what you think

I do like the way async/await works in C#, it only felt lik...

I am a lawyer who became a iOS developer, Ask Me Anything!

Do you think your law degree helps give you a certain uniqu...

In Pursuit of Enjoyable Developer Collaboration

I do really want to try Live Share out at some point in tim...

What was your win this week?

This week, I... did my first commits to the dev.to repo! Th...

Why C# is (one of) my favorite language?

I love C#, it is my favourite language. I actually do like ...

SEO Does Not Matter to Grow Organic Traffic

I agree with what you're saying, all the meta tags in the w...

What makes a 10x Developer?

I don't consider that someone can be 10x better/faster/more...

What’s an unpopular software opinion you have?

True while they are just another glyph, even if I was use t...

Interacting with the Dev.to Article API

Yeah as it is still about 13,000 requests - if that ran oft...

I'm writing a book for junior developers!

Done! 😁

Interacting with the Dev.to Article API

Cool, another post about the Dev.to API! 🙂 Correct me if I...

I'm writing a book for junior developers!

Would love to chip in where I can - sounds like it could be...

What’s an unpopular software opinion you have?

Just out of curiousity now, what is the lines/files of code...

The state of web analytics 📊

Google Analytics has the market fairly cornered though for ...

What was your win this week?

This week, I.... went to the gym for the first time in my l...

What’s an unpopular software opinion you have?

Ligatures are weird and don't make code easier to read. Yo...

What’s an unpopular software opinion you have?

Preferring not to use a debugger, but rather writing tests...

What’s an unpopular software opinion you have?

Key phrase: time-to-time Don't mind ternary operators for ...

What’s an unpopular software opinion you have?

I'm the same - some languages are fine with it on new lines...

Show your .dev

Depends where you buy it through. I'm in Australia and my r...

Show your .dev

Thank you! I had a few iterations of it but that is the one...

Dev.to API library for .NET 🚀

Just commented on Aaron's about the same thing but basicall...

Dev.to API library for .NET 🚀

Nah, I worked it out myself from a comment from Ben, some g...

Dev.to API library for .NET 🚀

BTW, I've put it on NuGet like you suggested 🙂 nuget.org/pa...

Dev.to API library for .NET 🚀

Thanks Rhymes! A technical question: the fact that it's a...

Show your .dev

turnerj.dev

Inspired by @thevuedev, I created @TheReactDev

FYI, there is actually an API for articles etc for dev.to t...

Take Home Assignments and the Interview Process

I posted an article a few weeks back to discuss this very t...

Command-line or GUI for dev tools? Some hate the command-line, really? Still?

I feel the same way. I don't have an issue or a perceived e...

Command-line or GUI for dev tools? Some hate the command-line, really? Still?

I rarely touch the command line unless something really goe...

What would your ideal developer interview process look like?

Interesting process! It does seem like a lot of time to spe...

What would your ideal developer interview process look like?

What types of problems do you think work best when whiteboa...

What would your ideal developer interview process look like?

Interviews and first impressions are hard enough, it's ano...

What would your ideal developer interview process look like?

Interesting! Hadn't thought about #2 and I guess with the u...

What would your ideal developer interview process look like?

Interesting approach! I like interviews that ask relevant...

What would your ideal developer interview process look like?

Interesting Kostas! With the full day interview, at that s...

What was your win this week?

Nope, hand made in flat HTML. I wrote an article the other ...

What would your ideal developer interview process look like?

I'm not a fan of multiple rounds of interviews and I don't ...

I left my job today after 7 years

Thanks Jonathan, that is very kind! I recently launched the...

I left my job today after 7 years

Thanks Joell! Yeah, the plan is to get paying customers ASA...

I left my job today after 7 years

Hey Glenn, interesting idea. I probably wouldn't want to st...

What was your win this week?

This week, I.... launched the new landing page for my produ...

Building a flat website with ASP.NET Core

Thanks! I'm really happy with how it turned out 🙂 Github w...

Building a flat website with ASP.NET Core

It is a bit like that isn't it - finding time to do all the...

I redid my portfolio site for the third time, this year alone!

I was going to comment the exact opposite thing! I find pin...

I left my job today after 7 years

With the day 1 bug part, I mean more like if the entire thi...

Why did you pick that name?

Like my original article covers to some extent, I had launc...

Why did you pick that name?

Yep, I did follow through from this post and get a trademar...

Calling all Full-Stack Haters

As far as a team of developers goes, it is probably best to...

Don't trust SemVersioning in NPM Modules

Yep, what you've stated is #4 of the official specification...

I left my job today after 7 years

Nope not on PH Makers, only just saw a link to it yesterday...

What was your win this week?

It has been a dream of mine for the majority of my life. Al...

What was your win this week?

This week, I managed to leave my job without turning into a...

I left my job today after 7 years

Best of luck to you also then! 🙂

You don’t need to quit your job to make

Now you tell me! I literally quit my job yesterday... 😂 Yo...

I left my job today after 7 years

My product is called "BrandVantage", a cross between an ana...

Fluid Animated CSS Gradient Text Effect

Ahhhh my issue was with icon fonts specifically that the gr...

Fluid Animated CSS Gradient Text Effect

I did this exact same thing a few weeks ago on two sites I ...

For Freelancer Developers/Web Design Companies, do you outsource your hosting or do you use your own Infrastructure?

It really depends if you want to be a hosting company or no...

CSS With Feature Detection For Cross Browser Compatibility

One thing I found recently was a site called Browser Strang...

Why Are Some Developers so Allergic to IDEs?

It is a question I have had myself for a while and I think ...

No Robots Allowed

I'm a bit torn by the robots header. On one hand, it allows...

Really easy way to use HTTPS on localhost

I'm curious to how it knows to change the output depending ...

When programming on a laptop: Mouse or Trackpad?

Never heard of "focus follows mouse" before. Do you mind me...

(How) Do you improve your creativity/designer skills?

Yeah, unDraw is an amazing resource. I've been working on t...

(How) Do you improve your creativity/designer skills?

I'm not sure how it happened but I stumbled upon Steve Scho...

The Rise of Microsoft Visual Studio Code

I guess it really depends on what you work on. I do .NET de...

What is your job title?

When I applied for my job, it was for a PHP/MySQL Developer...

Geo Crash Course

While I don't know if it is remotely the same level of func...

What should production CSS look like? Share your layout-to-web workflow

So a no-print class is designed for controlling whether an ...

What should production CSS look like? Share your layout-to-web workflow

I've worked on a few big applications in vanilla CSS and wh...

What should production CSS look like? Share your layout-to-web workflow

I think a lot about CSS (and programming in general) is fin...

What should production CSS look like? Share your layout-to-web workflow

I've cherry picked a few of your specific points that I can...

What should production CSS look like? Share your layout-to-web workflow

For your specific questions, see below. I'll post another c...

When programming on a laptop: Mouse or Trackpad?

I personally still use a mouse (Logitech M505) with my ASUS...

Shuffle Fail: Fixing my car stereo with code!

Nope, I didn't consider doing that though it would be a lot...

Shuffle Fail: Fixing my car stereo with code!

Yeah, the title is a little disingenuous. While it would to...

Building for Scale? Make a R.A.D.I.C.A.L. System!

Yeah, I see what you mean when looking at it like that - ea...

Building for Scale? Make a R.A.D.I.C.A.L. System!

Interesting article though I am curious why you chose to go...

How I made a web scraper because LinkedIn

FYI, it seems that LinkedIn does actually allow you to down...

.NET Core Dependency Injection: Everything You Ought To Know

Great article! I've dealt with DI in .Net Framework via Aut...

Taking the horror out of UI testing 😱

This sounds like a really clever tool and I can totally see...

How many hours do you work?

8 hours a day during the week for my main job with an addit...

Founder vs Employee

I've been an employee for a company for nearly 7 years with...

Why did you pick that name?

Yeah, those are definitely some good tips. If many people m...

Why did you pick that name?

That's not a half bad idea! Maybe not even just the name as...

Why did you pick that name?

Ohhhh, that is interesting! Random question: Does your fav...

Why did you pick that name?

Cool! Mind sharing a bit of background about the 4 proposal...

Your Degree of Interest in Microsoft

Ditto! I've liked and worked with C# for a while now but wi...

I got a Bachelor of IT at 18, ask me anything!

My degree began when I was 15 (a 3 year degree). That being...

I got a Bachelor of IT at 18, ask me anything!

The best advice really depends what your goals. Do you want...

I got a Bachelor of IT at 18, ask me anything!

That is a bit of a difficult question to answer as it chang...

I got a Bachelor of IT at 18, ask me anything!

That's a fair question and the answer is actually pretty si...

I got a Bachelor of IT at 18, ask me anything!

Primarily it was software development. We were doing Java, ...

Welcome Thread - v15

Hello world! I'm James and am from Australia. Found dev.to...

loading...