How To Code Well: Recent Episodes

Peter Fisher

Web development discussions and interviews from Peter Fisher. Covering JavaScript, Linux, Docker, PHP, Python, MYSQL, HTML and more

Peter Fisher is a freelance web and mobile developer in Gloucestershire UK and the Host of the How To Code Well YouTube channel.

If you have any feedback or wish to do a collaboration then please get in touch.

View Details

We are continuing our mini series on getting into the Software Development industry and today I'm going to discuss how to use social media to your advantage. // Recommended products and servicesManning courses and books - https://www.manning.com/?utm_source=pfwd-1&utm_medium=affiliate&utm_campaign=affiliate&a_aid=pfwd-1Web hosting with Cloudways - https://www.cloudways.com/en/?id=182670// Web Development tutorials and coursesLearn how to become a web developer and level up your programming skills in PHP, Python, JavaScript, Linux and more at https://howtocodewell.net JavaScript courseshttps://youtube.com/playlist?list=PLZdsdjcJ44WWaBGywrjhXjlJnilh6Z0NX&si=GunpkXQ_PTMtS_loPython courseshttps://youtube.com/playlist?list=PLZdsdjcJ44WUgC0NVgVb-sYElKh8wLjEahttps://youtube.com/playlist?list=PLZdsdjcJ44WXkZs76CYt5n9pW6j3WmWeJPHP courseshttps://youtube.com/playlist?list=PLZdsdjcJ44WVQvlMCROYImhEqN4qmf8cShttps://www.youtube.com/playlist?list=PLZdsdjcJ44WXC5m_8HMcoZft2hmytd4lDhttps://www.youtube.com/playlist?list=PLZdsdjcJ44WU6oEDZje8htDMG2qBKSSvuhttps://www.youtube.com/playlist?list=PLZdsdjcJ44WUWbArkekAHznqfJ60vW8V_https://www.youtube.com/playlist?list=PLZdsdjcJ44WUU6i2s73XMK1ZSD9uTPL-zLinux courseshttps://youtube.com/playlist?list=PLZdsdjcJ44WXnRf0t9hw42_IqQ0Vm6BfIDocker courseshttps://www.youtube.com/playlist?list=PLZdsdjcJ44WU_cY2Y1LFLnmsSjFD5BZLZhttps://www.youtube.com/playlist?list=PLZdsdjcJ44WWBHkRiBzspcfhf_YuIOCGnHTML courseshttps://www.youtube.com/playlist?list=PLZdsdjcJ44WUmamJbyAYJ9SGkTffxtiRGhttps://www.youtube.com/playlist?list=PLZdsdjcJ44WVfB5TZ9eWeNMHJAX6njS_AMYSQL courseshttps://www.youtube.com/playlist?list=PLZdsdjcJ44WVBkq0CNfawyI5eXOOcnRxG// Follow How To Code Wellhttps://twitter.com/howtocodewell https://instagram.com/howtocodewellhttps://facebook.com/howtocodewell// Support How To Code WellBe a member on Patreon:https://patreon.com/howToCodeWell⁠Buy me a coffee: https://buymeacoffee.com/howtocodewellDisclaimer: Links included in this description might be affiliate links. If you purchase a product or service with links that I provide I may receive a small commission. There is no additional charge to you. Thank you for supporting How To Code Well

View Details

There are certain things that Software Developers should and should not include on the CV's. Let's talk about how to write a stand out CV so that you can land your next Software Development role.

// Recommended products and services

Manning courses and books - https://www.manning.com/?utm_source=pfwd-1&utm_medium=affiliate&utm_campaign=affiliate&a_aid=pfwd-1

Web hosting with Cloudways - https://www.cloudways.com/en/?id=182670

// Web Development tutorials and courses Learn how to become a web developer and level up your programming skills in PHP, Python, JavaScript, Linux and more at https://howtocodewell.net

JavaScript courses https://youtube.com/playlist?list=PLZdsdjcJ44WWaBGywrjhXjlJnilh6Z0NX&si=GunpkXQ_PTMtS_lo

Python courses

https://youtube.com/playlist?list=PLZdsdjcJ44WUgC0NVgVb-sYElKh8wLjEa https://youtube.com/playlist?list=PLZdsdjcJ44WXkZs76CYt5n9pW6j3WmWeJ

PHP courses

https://youtube.com/playlist?list=PLZdsdjcJ44WVQvlMCROYImhEqN4qmf8cS https://www.youtube.com/playlist?list=PLZdsdjcJ44WXC5m_8HMcoZft2hmytd4lD https://www.youtube.com/playlist?list=PLZdsdjcJ44WU6oEDZje8htDMG2qBKSSvu https://www.youtube.com/playlist?list=PLZdsdjcJ44WUWbArkekAHznqfJ60vW8V_ https://www.youtube.com/playlist?list=PLZdsdjcJ44WUU6i2s73XMK1ZSD9uTPL-z

Linux courses

https://youtube.com/playlist?list=PLZdsdjcJ44WXnRf0t9hw42_IqQ0Vm6BfI Docker courses https://www.youtube.com/playlist?list=PLZdsdjcJ44WU_cY2Y1LFLnmsSjFD5BZLZ https://www.youtube.com/playlist?list=PLZdsdjcJ44WWBHkRiBzspcfhf_YuIOCGn HTML courses https://www.youtube.com/playlist?list=PLZdsdjcJ44WUmamJbyAYJ9SGkTffxtiRG https://www.youtube.com/playlist?list=PLZdsdjcJ44WVfB5TZ9eWeNMHJAX6njS_A MYSQL courses https://www.youtube.com/playlist?list=PLZdsdjcJ44WVBkq0CNfawyI5eXOOcnRxG

// Follow How To Code Well https://twitter.com/howtocodewell https://instagram.com/howtocodewell https://facebook.com/howtocodewell

// Support How To Code Well Be a member on Patreon: https://patreon.com/howToCodeWell⁠ Buy me a coffee: https://buymeacoffee.com/howtocodewell

Disclaimer: Links included in this description might be affiliate links. If you purchase a product or service with links that I provide I may receive a small commission. There is no additional charge to you.

Thank you for supporting How To Code Well

View Details

In the 200th episode of the How To Code Well podcast we are going to talk about soft skill questions asked during Software Development.

// Recommended products and servicesManning courses and books - https://www.manning.com/?utm_source=pfwd-1&utm_medium=affiliate&utm_campaign=affiliate&a_aid=pfwd-1Web hosting with Cloudways - https://www.cloudways.com/en/?id=182670

// Web Development tutorials and coursesLearn how to become a web developer and level up your programming skills in PHP, Python, JavaScript, Linux and more at https://howtocodewell.net JavaScript courseshttps://youtube.com/playlist?list=PLZdsdjcJ44WWaBGywrjhXjlJnilh6Z0NX&si=GunpkXQ_PTMtS_loPython courseshttps://youtube.com/playlist?list=PLZdsdjcJ44WUgC0NVgVb-sYElKh8wLjEahttps://youtube.com/playlist?list=PLZdsdjcJ44WXkZs76CYt5n9pW6j3WmWeJPHP courseshttps://youtube.com/playlist?list=PLZdsdjcJ44WVQvlMCROYImhEqN4qmf8cShttps://www.youtube.com/playlist?list=PLZdsdjcJ44WXC5m_8HMcoZft2hmytd4lDhttps://www.youtube.com/playlist?list=PLZdsdjcJ44WU6oEDZje8htDMG2qBKSSvuhttps://www.youtube.com/playlist?list=PLZdsdjcJ44WUWbArkekAHznqfJ60vW8V_https://www.youtube.com/playlist?list=PLZdsdjcJ44WUU6i2s73XMK1ZSD9uTPL-zLinux courseshttps://youtube.com/playlist?list=PLZdsdjcJ44WXnRf0t9hw42_IqQ0Vm6BfIDocker courseshttps://www.youtube.com/playlist?list=PLZdsdjcJ44WU_cY2Y1LFLnmsSjFD5BZLZhttps://www.youtube.com/playlist?list=PLZdsdjcJ44WWBHkRiBzspcfhf_YuIOCGnHTML courseshttps://www.youtube.com/playlist?list=PLZdsdjcJ44WUmamJbyAYJ9SGkTffxtiRGhttps://www.youtube.com/playlist?list=PLZdsdjcJ44WVfB5TZ9eWeNMHJAX6njS_AMYSQL courseshttps://www.youtube.com/playlist?list=PLZdsdjcJ44WVBkq0CNfawyI5eXOOcnRxG// Follow How To Code Wellhttps://twitter.com/howtocodewell https://instagram.com/howtocodewellhttps://facebook.com/howtocodewell// Support How To Code WellBe a member on Patreon:https://patreon.com/howToCodeWell⁠Buy me a coffee: https://buymeacoffee.com/howtocodewellDisclaimer: Links included in this description might be affiliate links. If you purchase a product or service with links that I provide I may receive a small commission. There is no additional charge to you. Thank you for supporting How To Code Well

View Details

Let us talk about the weirdness that is currently happening in the Web Development job market and in particular focus on contracting.// Web Development tutorials and coursesLearn how to become a web developer and level up your programming skills in PHP, Python, JavaScript, Linux and more at https://howtocodewell.net JavaScript courseshttps://youtube.com/playlist?list=PLZdsdjcJ44WWaBGywrjhXjlJnilh6Z0NX&si=GunpkXQ_PTMtS_loPython courseshttps://youtube.com/playlist?list=PLZdsdjcJ44WUgC0NVgVb-sYElKh8wLjEahttps://youtube.com/playlist?list=PLZdsdjcJ44WXkZs76CYt5n9pW6j3WmWeJPHP courseshttps://youtube.com/playlist?list=PLZdsdjcJ44WVQvlMCROYImhEqN4qmf8cShttps://www.youtube.com/playlist?list=PLZdsdjcJ44WXC5m_8HMcoZft2hmytd4lDhttps://www.youtube.com/playlist?list=PLZdsdjcJ44WU6oEDZje8htDMG2qBKSSvuhttps://www.youtube.com/playlist?list=PLZdsdjcJ44WUWbArkekAHznqfJ60vW8V_https://www.youtube.com/playlist?list=PLZdsdjcJ44WUU6i2s73XMK1ZSD9uTPL-zLinux courseshttps://youtube.com/playlist?list=PLZdsdjcJ44WXnRf0t9hw42_IqQ0Vm6BfIDocker courseshttps://www.youtube.com/playlist?list=PLZdsdjcJ44WU_cY2Y1LFLnmsSjFD5BZLZhttps://www.youtube.com/playlist?list=PLZdsdjcJ44WWBHkRiBzspcfhf_YuIOCGnHTML courseshttps://www.youtube.com/playlist?list=PLZdsdjcJ44WUmamJbyAYJ9SGkTffxtiRGhttps://www.youtube.com/playlist?list=PLZdsdjcJ44WVfB5TZ9eWeNMHJAX6njS_AMYSQL courseshttps://www.youtube.com/playlist?list=PLZdsdjcJ44WVBkq0CNfawyI5eXOOcnRxG// Follow How To Code Wellhttps://twitter.com/howtocodewell https://instagram.com/howtocodewellhttps://facebook.com/howtocodewell// Support How To Code WellBe a member on Patreon:https://patreon.com/howToCodeWell⁠Buy me a coffee: https://buymeacoffee.com/howtocodewell// Recommended products and servicesManning courses and books - https://www.manning.com/?utm_source=pfwd-1&utm_medium=affiliate&utm_campaign=affiliate&a_aid=pfwd-1Web hosting with Cloudways - https://www.cloudways.com/en/?id=182670Disclaimer: Links included in this description might be affiliate links. If you purchase a product or service with links that I provide I may receive a small commission. There is no additional charge to you. Thank you for supporting How To Code Well

View Details

Today we are going to talk about deploying a WordPress website using Docker.

Word Press Docker Install https://github.com/pfwd/wordpress-install

Programming tutorials: https://howtocodewell.net

Support the show on

Patreon: https://www.patreon.com/howToCodeWell

View Details

Let's discuss my PHP plugin idea that could also make you money.

https://howtocodewell.net

View Details

Today we discuss how to get WordPress off of PHP 7.4 and on to PHP 8.x with handy upgrade tips and tricks that can be applied to other PHP frameworks.

Other tutorials and episodes mentioned.

  • 195 What's new in PHP 8.3 https://youtu.be/59JkLHx2Yq8

  • 194 Ditch TypeScript https://youtu.be/0D7pfQZdak4

  • How to use the PHP interactive shell https://youtu.be/c0_iimmevqU

Learn how to code well https://howtocodewell.net

View Details

Today we are taking a look at what is new in PHP 8.3

PHP 8.3 will be released on November 23rd 2023 and has some interesting new features and breaking changes that every PHP develop should be aware of.

Checkout the features, breaking changes and links to the RFCs at https://stitcher.io/blog/new-in-php-83

Learn web development https://howtocodewell.net

View Details

Let's talk about TypeScript and when not to use it. In some cases plain JavaScript is all you need.

http://www.howtocodewell.net

View Details

What do you do when you have finished all your tickets and you have two days remaining in the sprint?

Send me a message: https://howtocodewell.net/contact

Watch the episode: https://youtu.be/BV6sPzW4rOw

Follow:

Twitter  https://twitter.com/howtocodewell

YouTube: https://youtube.com/howtocodewell

View Details

NHS legacy IT meltdown

https://www.theregister.com/2023/01/30/hospital_legacy_systems_recovery/

https://www.theregister.com/2022/07/22/hospital_it_meltdown/

JD Sports says 10 million customers hit by cyber attack.

https://www.bbc.co.uk/news/business-64452986

Git commit patterns

https://dev.to/jasonh33/git-commit-patterns-5dm7

View Details

Today I'm talking about Microsofts Artificial Intelligence land grab, we've got more details on what happened with the FAA and I'm giving away a JetBrains license.

To get the JetBrains license please send me a message on Twitter https://twitter.com/howtocodewell explaining your background in coding and what you are going to build with the JetBrains IDE.

Want to get in touch? https://howtocodewell.net/contact

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

⏰ My current live coding schedule (Times are BST)

Sundays 15:00 - Live coding on Twitch

View Details

This should not of been allowed to happen. I have so many questions. This is not how software should be developed or deployed.

Corrupt software took down the FAA system.

https://www.nbcnews.com/news/us-news/software-blamed-faa-outage-three-decades-old-years-upgrade-official-sa-rcna65562

Join https://howtocodewell.net

Send me a message https://howtocodewell.net/contact

View Details

Let's talk about the current https://howtocodewell.net maintenance mode.

Links

John Doe

https://john-doe.neocities.org/

Single Page show/hide using :target and anchor tags. Very good for portfolio sites

JSON crack

https://jsoncrack.com/

A great way to visualise your JSON structures

Infection PHP

https://infection.github.io/

Mutation testing which is used to measure the effectinvess of tests.

Update Angular.

https://update.angular.io/

A tool that walks you through how to update your Angluar app. Split into basic, medium and advanced apps.

Conferences

PHP Tek May Chicago 16th to 18th

https://tek.phparch.com/

International PHP Conference Berlin May 22 - 26 of May

https://phpconference.com/berlin-en/

PHP Day 2023 May 18 - 19

https://2023.phpday.it/

PHP UK 14 - 16 of Feb

https://www.phpconference.co.uk/

Symfony Live Paris 23 - 24 March

https://live.symfony.com/2023-paris/

SymfonyCon Brussels 7 - 8 December

https://live.symfony.com/2023-brussels-con/

Symfony Online June 15 to 16 of June

https://live.symfony.com/2023-online-june/

Laracon Libsbon Jan 26 - 27

https://laracon.eu/

Laracon Online September 14

https://laracon.net/

Laracon US Nashville July 19 to 20

https://laracon.us/

Laracon India 25 - 26 Feb

https://laracon.in/

Lots of Javascript conferences

https://confs.tech/javascript

We are Developers World Congress Berlin Germany 27 - 28 July

https://www.wearedevelopers.com/world-congress

React Miami 20 -21 April

https://www.reactmiami.com/

View Details

A high level roadmap for howtocodewell.net and a deep look into the web development trends of 2023.

BitTo AI

https://www.producthunt.com/posts/bito-ai

Courses on howtocodewell.net

Docker Machine

https://howtocodewell.net/course/docker-machine

Linux Bash for beginners

https://howtocodewell.net/course/linux-bash-for-beginners

PHP CLI basics

https://howtocodewell.net/course/php-cli-basics

PHP String for beginners

https://howtocodewell.net/course/php-strings-for-beginners

HTML for beginners

https://howtocodewell.net/course/html-for-beginners

MySQL console

https://howtocodewell.net/course/mysql-console

View Details

Howtocodewell.net is now live! Signup to enrol in courses

PHP 8.2 is here. Check out some of the features https://laravel-news.com/php-8-2-0

Courses on howtocodewell.net

Docker Machine

https://howtocodewell.net/course/docker-machine

Linux Bash for beginners

https://howtocodewell.net/course/linux-bash-for-beginners

PHP CLI basics

https://howtocodewell.net/course/php-cli-basics

PHP String for beginners

https://howtocodewell.net/course/php-strings-for-beginners

HTML for beginners

https://howtocodewell.net/course/html-for-beginners

MySQL console

https://howtocodewell.net/course/mysql-console

View Details

Is React going anywhere?

By Ruben Casas

https://www.infoxicator.com/is-react-going-anywhere

Why we’re leaving the cloud

By David Heinemeier Hansson (DHH)

https://world.hey.com/dhh/why-we-re-leaving-the-cloud-654b47e0

Facebook hired over 15,000 new staff from January to September

https://www.ndtv.com/world-news/facebook-parent-meta-doubled-staff-in-2-years-saw-covid-as-growth-time-3504755

Want to get in touch? https://howtocodewell.net/contact

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

⏰ My current live coding schedule (Times are BST)

Sundays 15:00 - Live coding on Twitch

View Details

Change log

  • I’ve been traveling. Recently came back from holiday.
  • The GL- Travel route has been very useful. I need to still some time to do a full review
  • The PIA VPN has also been really good but I’;m not during all the features yet so would like more time to play with it.
  • I’m speaking at the PHP London user group on Thursday the 24th. The talk is titled - Code with Confidence using PHP_Code_Sniffer https://www.meetup.com/phplondon/events/289746815/

Feedback links

Do I have any PHP OOP tutorials?

Yes https://www.youtube.com/watch?v=fiMo0zNdrt4

181 - Elon Musk is not giving Web Developers enough time to fix Twitterhttps://www.youtube.com/watch?v=j_0pW25KhDo

Re Twitter: Glad to see you are on the side of reason in regards to banning people.

180 - Stop relying on other peoples codehttps://www.youtube.com/watch?v=w1WQhHgSJi0

168 - What is a design system? https://www.youtube.com/watch?v=KY4jhhJ1YFE

PHP release dates

PHP 7.4 reaches end of life on the 28th of November 2022

PHP 8.0 reaches end of life on the 26th of November 2023

PHP 8.1 reaches end of life on the 25th of November 2024

PHP 8.2 will be released on December the 8th 2022

https://www.php.net/supported-versions.php

How to Make Good Code Reviews Better

https://levelup.gitconnected.com/how-to-make-good-code-reviews-better-172c5dc01d81

View Details

Change log

I'm traveling in the coming weeks have bought myself

  • Travel router GL-AXT1800

  • Private internet access VPN

I will be talking about how I get on with these upon my return.

The federated web is not all sunshine and rainbows

What is the federated web

okta.com/uk/blog/2019/05/what-is-federation-and-why-should-your-apps-support-it/

9 dark secrets of the federated web

https://www.infoworld.com/article/3676590/9-dark-secrets-of-the-federated-web.html

Benefits of the federated web

  • Own your own data
  • Choose the community/server you care about
  • Support that community
  • Privacy benefits
    • No single company owns both the server and the client
  • No ads (Yet)
  • Competition
  • Open source
    • Trust in the code base
  • The network will survive if your server drops

Negatives of the federated web

  • Many servers, Many admins and many problems
  • Fragmented experiences
  • Duplicated data is unsafe data
  • Logs logs logs. At scale this isn’t cheap
  • Stay off the block chain
  • The admins are sysadmins not just community admins

Let me know what you think https://howtocodewell.fm/contact

View Details

Change log

  • Having a code freeze for a few weeks :)

Twitter lay offs begin

Follow up on the Twitter story. It is reported that Elon has laid of nearly half of the Twitter staff.

https://www.nbcnews.com/business/business-news/twitter-layoffs-elon-musk-fires-staff-how-many-rcna54799

EU bringing down the walled garden

https://www.computerworld.com/article/3678689/apple-must-take-another-brick-from-its-wall-says-eu.html

Microsoft teams has an update which makes it 30 percent faster

https://www.theregister.com/2022/11/04/microsoft_faster_teams/

Andrej Karpathy on the Lex Fridman podcast.

Former director of AI in Tesla

https://www.youtube.com/watch?v=cdiD-9MMpb0

View Details

Change log

  • Code Quiz is still getting some good pull requests. There are 30+ issues that need your help. If you're a JavaScript, Docker or PHP developer then checkout the GitHub issues labeled as 'Help needed' and 'Good first issues'

https://github.com/howToCodeWell/code-quiz/issues

  • The How To Code Well platform is nearing completion. I think the e-learning platform will be launched in the next month

http://howtocodewell.net

Web Development news

Adobe are now charging for Pantone colours. It will cost a further $15 dollars a month.

If you don’t have the Pantone colours package your colours will be black.

https://www.wired.co.uk/article/adobe-pantone-color-subscription-fee#:~:text=11%3A00%20AM-,Adobe%20Just%20Held%20a%20Bunch%20of%20Colors%20Hostage,black%20unless%20you%20pay%20up.&text=Since%20the%201950s%2C%20the%20company,see%20in%20the%20real%20world.

Elon Musk has bought Twitter for 44 billion dollars and is floating the idea of charging $8 a month to be verified.

Can this feature be built in enough time?

https://www.theverge.com/2022/10/30/23431931/twitter-paid-verification-elon-musk-blue-monthly-subscription

VR has an identity crisis.

The oculus quest 2 is not for kids. Facebook will not allow kids under 13 to use their platform.

https://www.androidcentral.com/gaming/virtual-reality/meta-is-getting-serious-about-not-letting-kids-play-in-vr

If normal jobs interviews were like coding interviews

Joma Tech

https://www.youtube.com/watch?v=bn_KRzohcAo

View Details

Turbo pack

Vercel have announced Turbopack which they claim will be a Rust based successor to web pack.

https://vercel.com/blog/turbopack

Vercel are claiming speeds of up to 10x faster than Vite and 700 time faster than Webpack.

“Turbopack only bundles the minimum assets required in development, so startup time is extremely fast. On an application with 3,000 modules, Turbopack takes 1.8 seconds to boot up, while Vite takes 11.4 seconds.”

https://vercel.com/blog/turbopack

“Since we're not offering 1:1 API compatibility, most Webpack plugins won't work out of the box with Turbopack.”

https://turbo.build/pack/docs/migrating-from-webpack

Should you care?

  • Not right away
  • Not unless your’e always on the bleeding edge
  • Not unless you need speed over connivence

How to stop relying on frameworks and libraries

  • Decided if you can write feature yourself using only the core components of the programming language.
  • Check the knowledge of the team to find their base line skills.
  • Move away from opinionated code ecosystems
  • Avoid syntactic sugar covered standards
  • The framework you use today may not be the tool you use in the future
  • Code like you don’t have access to third party tools
  • Care more about core conventions (PSR) than framework guidelines

View Details

Changelog

Code Quiz

  • We now have a Next JS website. This is also running a Docker image. No React components yet.

  • Docker compose files are now in the root directory

Contributions welcome: https://github.com/howToCodeWell/code-quiz

Ideas for the future

Store Quizzes in Markdown files instead of PHP fixtures

  1. Simplified - We have a single source of truth for code questions
  2. Future proofing - We can use code snippets in the questions

PHP has these three problems

  • PHP has too many BC breaks which is making library authors uncomfortable
  • Voting is too centralised. You have to be in 'the club' to vote on RFCs
  • Funding is an issue

I personally think that PHP should only introduce BC breaks if:

  1. There is a really good benefit in doing so.
  2. All BC breaks should have been mentioned in the RFC with examples.
  3. BC breaks are only allowed in major releases.
  4. There is a large deprecation window between major releases.
  5. Backward compatibility is important and should prioritised over new changes.

Voting is too centralised.

  • Mailing lists suck. There are better ways to manage communication in 2022
  • It does feel like an elitist club.
  • Follow the RFC guide here https://wiki.php.net/rfc/howto

Funding is a problem

  • Companies need to take PHP more seriously and pay for the communities time
  • Companies need understand that open source comes at a cost to both them and the community
  • Who pays for PHP https://thephp.cc/articles/who-pays-for-php

Google stadia is dead

https://www.protocol.com/newsletters/entertainment/google-stadia-shutdown-developers-aftermath

Follow on the socials

Twitter: https://twitter.com/howtocodewell

Instagram : https://www.instagram.com/howtocodewell/

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Tuesdays 18:00 = Live Podcast YouTube

Sundays 15:00 - Live coding on Twitch

View Details

Change log

Code Quiz (https://github.com/howToCodeWell/code-quiz)

  • OpenAPI generator is now working on the code quiz monorepo
  • Lots of great contributions to that open source project. Thank you :)

howtocodewell.net

  • Pre-production is now fully working after a few issues with infrastructure config.
  • I'm currently working on adding content to existing courses on the pre-production site.
  • Some features will be removed before launch via feature flags.

Today we are going to talk about static API's. 

  • What is a static API

  • How do you create a static API

  • What are the befits and disadvantages of a static API

Building Systems With Static APIs - Corey Butler

https://medium.com/swlh/building-systems-with-static-apis-631c165d3882

WTF is a Static API - Seancdavis

https://www.seancdavis.com/posts/lets-talk-about-static-apis/

View Details

Change log

  • The first build of the http://howtocodewell.net pre-production Docker image is making its way through the GitLab pipelines towards the Kubernetes clusters
  • The Code Quiz has paused for a week as I'm taking some time off.
  • The Code Quiz API now includes the Open API generator which will be used to generate type script for the API client
  • Lots of great pull requests being added to the Code Quiz open source project http://github.com/howToCodeWell/code-quiz

Feedback from Abu Sales on the Best PHP tools of 2018 - Top 5 video

Great for professionals, However, for amateurs as am I, MAMP as environment, and WeBuilder (buy) or Notepad++ (free) as Editor are more than enough to fly toward the mountain !

What is WAMP?

Windows Apache MySQL PHP

Install WAMP

https://www.wampserver.com/en/

What is MAMP?

Mac Apache MySQL PHP

Install MAMP

https://www.mamp.info/en/downloads/

What is LAMP?

Linux Apache MySQL PHP, Python and/or Perl

How to install a LAMP stack

https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-ubuntu-18-04

View Details

Change log

  • Code Quiz API https://github.com/howToCodeWell/code-quiz
  • Thank you to MetinBaris and everyone else who has contributed to the Code Quiz project
  • Added dotenv package
  • Lots of bugs fixed
  • GitHub Actions on API client
  • EsLint added
  • Unit tests added

You're doing Agile spikes wrong

Let's talk about Agile spikes. What are they, why do we need them and why are you doing them wrong.

Follow on the socials

Twitter: https://twitter.com/howtocodewell

Instagram : https://www.instagram.com/howtocodewell/

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Tuesdays 18:00 = Live Podcast YouTube

Sundays 15:00 - Live coding on Twitch

View Details

Change log

  • Code Quiz API https://github.com/howToCodeWell/code-quiz
  • Added GitHub Actions to the JavaScript Api-Client
  • Added API Platform package and configured the API endpoints

Should beginners learn JavaScript, Python or PHP

Learn the programming concepts first.

It doesn’t really matter which programming language you start with as long as you START programming

Python is a good teaching language as it prevents sloppiness that JavaScript can allow.

Get the daily code quiz on

Twitter: https://twitter.com/howtocodewell

Instagram : https://www.instagram.com/howtocodewell/

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Tuesdays 18:00 = Live Podcast YouTube

Sundays 15:00 - Live coding on Twitch

View Details

Changelog

  • The Code Quiz GitHub repository now has a basic mock API client that uses a JSON Server. This was installed on the Tuesdays Live stream
  • Work has started on building a Vagrant box that houses MiniKube and the howtocodewell testing environments.

Code Quiz GitHub Repository: https://github.com/howToCodeWell/code-quiz

Building the Mock JSON API: https://youtu.be/OznPvJIjMDc

JavaScript Code Quiz answers: https://youtu.be/Tyvmq3gyZMY

Tips for newly appointed Web Development team leaders

  1. How to manage your time when you are a coder and a manager?

  2. Is it important for the lead to be the best coder in the team?

  3. How to handle colleagues who are envious or felt that they should in the leader instead of you?

  4. Do you need to know the whole system form top to bottom?

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Tuesdays 18:00 = Live Podcast YouTube

Sundays 15:00 - Live coding on Twitch

View Details

Change log

  • The second Code quiz has a bunch of JavaScript questions. Join in on Twitter (https://twitter.com/howtocodewell) or Instagram (https://instagram.com/howtocodewell)
  • The first of the code quiz answer video is out (https://youtu.be/Qmz0TvPLgpQ)
  • Fixed the issue with the Kubernetes assets paths. This required a nginx snippet that creates a proxy pass back to Object storage
  • We can now move to Pre - Production
  • My talk 'Code with confidence with PHPCS' from PHP Minds is available YouTube (https://youtu.be/s-94hf_DQ9A)

What does Pre-Production mean in Web Development?

In Film or TV Pre-Production means work done before full-scale production begins. So what does this mean in the context for Web Development.

In Web development Pre-Production is a term used for define anything that happens before deploying to production.

During Pre-Production many environments could be created such as

  • Development environments
  • Build environments
  • Staging environments
  • Demo environments
  • Shared environments

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Tuesdays 18:00 = Live Podcast YouTube

Sundays 15:00 - Live coding on Twitch

View Details

Will Web Development die in 10 years?

Some people think that JavaScript, PHP, Python and other Web Development technologies will die in 10 or even 20 years time.

Is HTML finished? Is it time to learn something else?

In this episode I explain my thoughts and answer this question.

Please let me know if you agree, disagree or if you have others https://howtocodewell.fm/contact

Change log

  • I'm working on an error with Kubernetes and S3 volumes.
  • Discovering deprecation notices before upgrading to Symfony 5.4. Checkout the video here
  • I've started publishing code quizzes to Twitter and Instagram
  • I've started publishing bite size dev tips Twitter and Instagram

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Tuesdays 18:00 = Live Podcast YouTube

Sundays 15:00 - Live coding on Twitch

View Details

Changelog

  • Big news the staging deployment is completed for the new howtocodewell.net platform

This contains

  • Kubernetes
  • Symfony
  • PHP 8

Full time vs contractor web developer. 5 Reasons to be a contractor

Lots of exposure to different ways of working

  • No two clients or projects are the same
  • Different tech stacks
  • Different processes and approaches
  • Lots of opportunities to gain more skills and experience

Flexibility

  • Work the way you want to work using the tools that you want to use
  • Drop in and out of projects when you’re needed
  • You don’t have to work if you don’t want too
  • Work from anywhere attitude
  • Have as much or as little holiday as you want

You are in charge of your progression

  • Know what skills you have and what areas you need to develop
  • Take training that matters to you rather than to the company
  • Have meeting that matter to you rather than the company

Money

  • Whilst money isn’t everything, contractors are often on more money then the normal full time developers
  • Certain taxable benefits that you can use
  • Helps fund hardware/software and other business requirements

Being your own boss

  • Better work life balance
  • Total control over what project you’re working on
  • Total control over how much you pay yourself
  • Total control over when you’re on holiday
  • Total control over what you want to learn
  • Total control over who you work for

Want to get in touch? https://howtocodewell.fm/contact

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my newsletter

⏰ My current live coding schedule (Times are BST)

Sundays 15:00 - Live coding on Twitch

View Details

Change log

  • I’ve created 4 JavaScript YouTube short tutorials that will be released over the coming weeks
  • New talk coding with confidence using PHPCS. If you’re a PHP user group that wants a speaker then let me know

Full time vs contractor web developer. 5 Reasons to be a permanently employed

  1. Defined Structure
  2. Benefits
  3. Training
  4. Trust and loyalty gets rewarded over time
  5. Family vs resource
  6. External career progression

Want to get in touch? https://howtocodewell.fm/contact

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my newsletter

⏰ My current live coding schedule (Times are BST)

Sundays 15:00 - Live coding on Twitch

View Details

Changelog

  • I am giving a talk to PHP Minds tonight. The talk is called Code with confidence using PHPCS
  • I’ve been working on the videoThumbnail component for the React website
  • No updates on deployment yet

News/Articles

PHPCS compatibility checker By Daniel Opitz

https://odan.github.io/2020/12/22/php8-compatibility-check.html

PHP Security Audit

https://github.com/FloeDesignTechnologies/phpcs-security-audit

PHP 8.1.9 is released

https://www.php.net/archive/2022.php#2022-08-04-3

This isa bug fix release

PHP 8.2.0 Beta 2 is available for testing

https://www.php.net/archive/2022.php#2022-08-04-2

Deprecated dynamic properties in PHP 8.2

AllowDynamicProperties attribute can be used to create dynamic properties

https://stitcher.io/blog/deprecated-dynamic-properties-in-php-82

5 things every contract Web Developer needs

  1. Choose to go sole trader or LTD. Most larger companies need you to be a Limited company, get insurance, get an accountant, get a website.
  2. Record your expenses and income. Set time aside to do this every week if possible.
  3. Create a space in your house that is solely for work.
  4. Get a work only laptop and refresh it every 2 - 4 years.
  5. Secondary hardware. Get a decent printer, mouse, keyboard, web cam etc..

If you want to hear more about contracting in Web Development then let me know at https://howtocodewell.fm/contact

View Details

Changelog

  • I've created a playground in the mono-repo for ReactJS experiments
  • I have started working on a very lightweight design system
  • I am giving a talk to PHP Minds next Thursday. The talk is called Code with Confidence with PHPCS
  • PHP UK has announced their CFP and released early bird tickets. I have tickets.
  • This weekend I am off to see England versus Scotland in the Common wealth boxing

News/Articles

How to call rest APIs using React

https://www.smashingmagazine.com/2020/06/rest-api-react-fetch-axios/

How to use the React Router to create an image link

https://bobbyhadz.com/blog/react-image-link

React higher order components

A higher-order component (HOC) is an advanced technique in React for reusing component logic. HOCs are not part of the React API, per se. They are a pattern that emerges from React’s compositional nature.

Concretely, a higher-order component is a function that takes a component and returns a new component.

https://reactjs.org/docs/higher-order-components.html

What is a Design system

  • A collection of reusable components
  • A place for collaboration amongst designers and developers
  • A set of standards that must be adhered too
  • A set of guidelines and principles that are relevant to the business

Not just a component library

A component library is a library of reusable components that other designers and developers can use.

A design system also sets out a series of rules and standards for the components and surrounding design. These include but are not limited to

  • Typography
  • Spacing
  • Branding
  • User experience
  • Language
  • Voice and tone
  • Colours
  • Patten

Often, a design system will explain what is allowed and what is not allowed.

Examples of design systems

  • IBM https://carbondesignsystem.com/
  • Shopify https://polaris.shopify.com/
  • Material design https://material.io/design
  • UK Gov https://design-system.service.gov.uk/

You can get in touch with me here: https://howtocodewell.fm/contact

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Tuesdays 18:00 - Live coding on YouTube

Sundays 15:00 - Live coding on Twitch

View Details

Changelog

  • Lots of bitty bugs which have prevented me for progressing on the Kubernetes side of the howtocodewell.net staging deployments
  • Lots of PHP packages on howtocodewell.net have been upgraded
  • I was able to play around with the API platform.

News/Articles

API platform tutorial with Symfony

https://digitalfortress.tech/tutorial/rest-api-with-symfony-and-api-platform/

How to store Symfony sessions in a database

https://symfony.com/doc/current/session/database.html

What’s new with Composer 2.4

https://php.watch/articles/composer-24

Question from Alex regrading the How To Code Well Discord bot

https://github.com/howToCodeWell/discord-bot

New to the web platform in June by Rachel Andrew

https://web.dev/web-platform-06-2022/

Reacts killer feature

Components can be shared between React and React Native.

  • Reduces the code size
  • Reduces specialised skill sets
  • Helps create boundaries for mobile and web applications
  • Unifies the code base
  • Reduces pressure on the HR for finding other skill sets
  • Makes T shaped teams that can switch contexts

View Details

Changelog

  • Lots of JavaScript package upgrades have been made to the frontend of howtocodewell.net including TailwindCSS, PostCSS, Webpack and Node itself.
  • I’ve decided to use PostCSS over Less and I’m seeing much faster results when generating the CSS
  • The plan for next week is to look at composer package upgrades as well as progressing with the staging deployment
  • In my contracting space I have been doing a lot of PHP 5.6, 7.4 and Angular work

News/Articles

Being on call sucks by Bobbie Chen

https://bobbiechen.com/blog/2022/7/20/being-on-call-sucks

Testing links in Cypress by Filip Hric

https://filiphric.com/testing-links-with-cypress

Enabling typescript in Symfony Webpack encore

https://symfony.com/doc/current/frontend/encore/typescript.html

How to secure applications on Kubernetes (SSL TLS certificates) by AVM Consulting Blog

https://medium.com/avmconsulting-blog/how-to-secure-applications-on-kubernetes-ssl-tls-certificates-8f7f5751d788

How to speed up Cypress automation tests by FeldsparTech

https://www.feldspartech.com/post/how-to-speed-up-cypress-automation-tests

How to speed up Cypress tests

In general

  1. Discover how slow your tests are to start begin with
  2. Don’t speed up your tests if you don’t need too
  3. Work on the tests that take the longest. List all tests that take over x seconds/minutes and work on those
  4. A small improvement can give you big gains in the long run
  5. Only test what you need too and when you need too

Cypress

  1. Group similar tests together into a single test
  2. Separate tests that don’t need state, change of state or require a fixed state
  3. Pay attention on the before and beforeEach hooks
  4. Disable the video and screenshot creation on automatic builds
  5. Enable video and screenshot creation on manual/nightly builds

View Details

Changelog

  • I’ve sorted the Kubernetes ingress controller for the staging deployment of howtocodewell.net
  • I’ve got a few problems with connecting services outside of the Kubernetes cluster but I am working my way through those.
  • I’ve been updating the pipelines to allow for certain manual jobs in GitLab.

News/articles

Python ASGI The future of Python Web Development

A new asynchronous standard for Python web applications.

WSGI = Web Server Gateway Interface

ASGI = Asynchronous Server Gateway Interface

https://www.infoworld.com/article/3658336/asgi-explained-the-future-of-python-web-development.html

Podcast 2.0

I have my eye on the podcast 2.0 movement and may start to add some backlog tickets to investigate what is involved from a technical standpoint to updating the RSS feeds.

https://medium.com/@everywheretrip/an-introduction-to-podcasting-2-0-3c4f61ea17f4

  • The Podcast Index
  • Podcasting Namespace
  • PodPing
  • Value-For-Value

Send Symfony logs to Slack

This could be a neat little future video tutorial. I could also do something similar with a Discord bot.

https://manyou.blog/send-symfony-logs-to-slack-with-symfony-notifier-as-a-monolog-handler

What’s a flaky test

A flaky test is a test that sometimes passes and sometimes fails. This usual happens randomly and is incredibly annoying.

What causes flaky tests

  • Under powered resources
  • Tests running in random order
  • Tests not cleaning themselves up afterwards
  • External programs or requests interfering with the tests

How to fix flaky tests

  • Run tests more regularly
  • Separate flaky tests and run them in isolation until fixed
  • Only test what is needed based on what has changed
  • Don’t ignore or skip tests if you can help it
  • Check the environment
  • Check inputs for non-deterministic values
  • Check timeouts
  • Check system resources
  • Check for race conditions
  • Check if there is any fixed order to the tests
  • Keep your tests maintained.

View Details

Changelog

  • My Kubernetes CronJob experiments are now working
  • On Tuesdays live YoutTube stream we fixed issues with the PHP implementation of Object Storage
  • On Sundays Twitch live stream we started the process of upgrading NPM packages

Some news/articles to share

StarLabs has teased a 4k linux laptop called the StarFighter

https://www.omgubuntu.co.uk/2022/07/starfighter-15-6-4k-linux-laptop-from-star-labs

Why isn’t the internet more fun and weird

https://jarredsumner.com/codeblog/

Recommended podcasts regarding DevOps

Devops Paradox podcast

Self hosted

Linux Action show

Coder radio

My thoughts on Kubernetes after 3 months of learning it

  1. Smaller is better
  2. Kubernetes lends itself well to micro services and not monolithic applications
  3. You don’t always need Kubernetes
  4. The Kubernetes learning curve is huge
  5. Monitoring and transparency is is super important with Kubernetes
  6. Not all managed Kubernetes services are the same

View Details

Change log

  • I'm currently running experiments with Kubernetes CornJobs
  • I've done lots of under the hood security tweaks with howtocodewell.net
  • I've started using Jira to manage spikes and delivery tickets for the deployment stage of howtocodewell.net
  • I've added tickets for some upgrade work, Symfony 6, NPM 16 LTS, PHP 8.1
  • On Tuesday we progressed the PHP registertion course by adding the framework-less router.
  • Next week we will add some PSR interfaces for the HTTP messages to the PHP registration course

Why 10x developers are not paid any more

  • Programming productivity cannot be measured like the productivity of a sales person.
  • A sales person can make 10 more sales than their colleges and therefore make 10 times the amount of money.
  • An electrician could work faster and better than another contractor. This would allow them to complete more jobs and charge more than there competitors.
  • Better programmers write less code.
  • Some talented programmers get board and leave their posts.
  • Talented programmers are difficult to keep.
  • Experience is more important than the lines of code your write.
  • Programmers don’t get rates best on how productive they are. EG Bug (A) has the same monetary value as bug (B)
  • The best way to get a raise is to start a new position.

Contact me and let me know your thoughts or get something read out on air.

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Sundays 15:00 - Live coding on Twitch

View Details

Changlog 

The deployment phase of https://howtocodewell.net staging site is going very well. I now have Kubernetes cluster is running via Terraform

Why am I leaning TypeScript?

I know many languages, some more than others.  PHP is my goto and Python is the next biggest language I know.  Of course I know JavaScript and other languages such as Java and Perl but I rarely use those.  

In my opinion Typescript is what JavaScript should-of been to begin with.  

  • I’ve noticed more demand for Typescript jobs than JavaScript jobs. 

  • I’ve noticed no demand of Flow 

  • Typescript works well with Node so its kinda backend friendly.  I wouldn’t consider using JavaScript on the backend without Type safety 

  • Typescript works well with React Native so mobile apps can be built for both Android and IOS 

  • Theres a bigger demand to convert Javascript apps to Typescript apps  

Will there every be any Typescript tutorials

Yes, but not for a while.

View Details

Changelog 

  • On Tuesdays live show I fixed all the databases tests for the PHP Registration course
  • I'm still playing with Gitlab pipelines

Has Google created a sentient being? 

  • BBC news report
  • Medium article with Lamda interview

View Details

Change log

- I’ve started learning typescript as I want to convert all the HTCW JavaScript code into TS

- I’ve started playing with a Kubernetes playground for HTCW staging 

  • On Tuesday we started planning how to build the controllers for the PHP registration course  HPDevOne  Is now available to buy and some people already have them.  

WWDC WWDC is this week.

I’m still digesting my thoughts on the announcements.  I may talk about my opinions next week.  

m1windowsproject

An ambitious project by Amarioguy who is attempting to run Windows on Apples M1 chip 

PHP Version installs

Stitcher.io  

Packagist stats 

Package installations by PHP minor version, monthly 

39% on 7.4 28th of Novembers 2022 - Security support 

23% on 8.1

21% on 8.0 

View Details

Listen to the show: http://howtocodewell.net/159 

Check which features are available in PHP versions http://caniusephp.com 

The new HP Dev One laptop https://hpdevone.com/ 

Get the newsletter: https://email.howtocodewell.net/signup

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Please consider supporting Anna Filina's Ukrainian relatives https://afilina.com/donate/ua-supplies

Other ways to support the people of Ukraine https://supportukrainenow.org

I actually have 7 Software Development misconceptions that I want to debunk

  1. You have to code every day to get better at it
  2. Women cannot code
  3. Managers are sellouts who can’t code
  4. You can’t get into this industry when your old
  5. Testing is only for developers who have time to test
  6. The fastest coder is the best coder
  7. More people working on a project means that the project will be done faster

Please let me know if you agree, disagree or if you have others https://howtocodewell.fm/contact

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Please consider supporting Anna Filina's Ukrainian relatives https://afilina.com/donate/ua-supplies

Other ways to support the people of Ukraine https://supportukrainenow.org

Change log

  • PHP login course is has been tagged at v1.0.0
  • Most of the SQL for PHP registration course is done
  • Cypress tests are now running in the GitLab pipeline by they are very slow

Remote working is not a one size fits all perk

In todays show I am talking about remote working and why its not a right fit for everyone in software development.

If you're a Junior Developer and you've started in the industry as a remote worker then please get in touch and let me know your experiances.

https://howtocodewell.fm/contact

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Please consider supporting Anna Filina's Ukrainian relatives https://afilina.com/donate/ua-supplies

Other ways to support the people of Ukraine https://supportukrainenow.org

Change log

Due to the traveling we didn’t get to do the Twitch Live stream on Sunday so I’m hoping to finish the PHP login course off this Sunday (15th)

On Tuesdays (12th) YouTube live stream we continued building the proof of concept for the PHP registration course. Someone in the chat spotted that I wasn’t testing the code in PHPUnit, this raised a question about when to test the code. The code will certainly be tested but at this stage I’m just building a proof of concept and I’m literally throwing code at the IDE to see what sticks and to get a feel for the flow of the application.

You don't have to test your code all of the time

I don't believe you need to test your code all of time. Let me explain what I mean and if you disagree then please let me know at https://howtocodewell.fm/contact

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Please consider supporting Anna Filina's Ukrainian relatives https://afilina.com/donate/ua-supplies

Other ways to support the people of Ukraine https://supportukrainenow.org

Changelog

  • This is another pre recorded show as I am traveling over the next few days.

  • On Mondays Twitch stream we covered lessons 6, 7 and 8 of the PHP login course. I am planning to finish lessons 9 and 10 next Sunday.

  • On Tuesdays YouTube live stream we started putting up the scaffolding for the PHP registration course.This was quite a fun and productive live stream as I was looking after both dogs whilst planning the PHP architecture. I’ve decided to do everything in OOP so we are building a mini PHP framework which handles database interactions.

I’ve been playing with a Monorepo

What is a Monorepo

  • A single code repository for all projects
  • Users of the repository have access to all the code
  • A single place to commit, merge and track code changes

In todays show I will explain why I've stared using a Monorepo and my predictions on the experiment.

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Changelog

  • Speaking at PHP UG MN on Thursday so this is not a live podcast
  • On Sundays Twitch stream we re-built the first 5 lessons of the PHP login course. I’m planning to re-build the last four lessons on Monday on Twitch
  • On Tuesdays YouTube live stream we started planning the new PHP registration course.
  • Lots of experimenting with GitLab

10 tips for Continual Integration

  1. CI should take no more than 10 minutes
  2. Reverting the changes should take 10 minutes
  3. Use TDD if possible
  4. Keep commits simple and small
  5. Monitor the pipeline
  6. Don’t leave broken builds
  7. Run the pipeline locally first
  8. Keep your branches up to date
  9. Failures should be addressed immediately
  10. Don’t confuse CI with CD

Join the show next week on YouTube at 20:00 on Thursday. Please see Twitter @howToCodeWell for schedule updates

View Details

Please consider supporting Anna Filina's Ukrainian relatives https://afilina.com/donate/ua-supplies

Other ways to support the people of Ukraine  https://supportukrainenow.org

------ .  

Change log

  • We’ve finally finished the 2nd pass of the PHP login course documentation. I will be doing a final run through on Sundays Twitch stream.
  • Next course starts next Tuesday
  • I won’t be doing a podcast next Thursday as I am giving a virtual talk to PHPUGMRN Join the meetup here

Watch the show on YouTube

Join the show next week on YouTube at 20:00 on Thursday. Please see Twitter @howToCodeWell for schedule updates

View Details

Please consider supporting Anna Filina's Ukrainian relatives https://afilina.com/donate/ua-supplies 

Other ways to support the people of Ukraine  https://supportukrainenow.org

Watch the show on YouTube

Changelog

  • Yesterday I gave a talk at PHP Oxford
  • I will be speaking at PHPUGMRN in April
  • On Tuesday we updated the documentation for lesson 9 of the PHP Login Course
  • I'm still tired :)

This is the link to the PHP OOP Course

View Details

Please consider supporting Anna Filina's Ukrainian relatives https://afilina.com/donate/ua-supplies 

Other ways to support the people of Ukraine  https://supportukrainenow.org

Watch the show on YouTube

Changelog

  • Lots of Cypress E2E acceptance tests added to the howtocodewell.net CMS. I have a handful left to write which will cover the creation and publication of a free and paid course.
  • On Tuesday we covered lesson 8 of Login course documentation. So next week we move onto lesson 9 which focuses on PHP sessions
  • As I’ve been testing with Cypress I have also been thinking about post launch features.

Todays topic is on Syntax Errors

A Syntax error is an error that occurs in a program when the application is being run or complied. These errors are like little gatekeepers that prevent the code from executing further.

View Details

Please consider supporting Anna Filina's Ukrainian relatives https://afilina.com/donate/ua-supplies 

Other ways to support the people of Ukraine  https://supportukrainenow.org

Change log

  • Apologise for not doing a podcast last week. I was giving a talk to the PHPBenelux  user group in Belgium.
  • My next talk with be a PHP Oxford on the 30th of March. The talk is Code with Confidence using PHPStan
  • On Tuesday evening I streamed on YouTube lesson 7 of the PHP login course
  • The next lesson will be streamed next Tuesday and that will include the nullish coalescing operation, ternary statement and other PHP goodies.

Todays topic is on Syntax

View Details

How to support Ukraine https://supportukrainenow.org/

Change log

  • I’m working back in the land of legacy. PHP 5.6
  • Goose (My 2nd English Springer Spaniel) is now 9 weeks old and has razor teeth.
  • I’ve been working on using Vagrant, Docker, Parallels and Ansible to create a test lab for HTCW
  • We reviewed the documentation for tutorial 5 and 6 of the PHP login course on Tuesdays live coding stream
  • I am talking at PHP North West Drupal User Group NWDUG next Tuesday at 7PM so I won’t be streaming on YouTube on Tuesday

What is Syntax Sugar

This is a term used to describe code that is meant to be more readable and helpful to humans.

  • It’s sometimes called Candygramming
  • Can shorten code to one liners which can be helpful and easier to read
  • Can be difficult to change and maintain in the future
  • Can lead to hidden magic features that are used in the language eg _get and _set
  • Is sometime perceived as a lazy way to write code
  • Reduces the syntax needed to perform an operation
  • If done badly then it can lead to over complication, bad abstraction and even worse code readability then before

View Details

Change log

  • EP 147 is now available. In that episode I talked about the process of fixing a bug

PHP UK

  • Keynote: Never stop learning, or how cursory and cross pollination drives innovation by Pauline Vos
  • Talk on OpenAPI from Rob Allen - Lots of useful resources and a guide to the Yaml configuration
  • Talk on improving your documentation by Alexandra White
  • Embrace the pitfalls (Our stop start journey to Change)byStacy Cashmore
  • Closing keynote: Passwords are so 1990 by Sam Bellen
  • Keynote: Open source is good for business by Lorna Jane Mitchell
  • Talk on PHP fibers by Milko Kosturkov - Async PHP code
  • Talk on the blockchain and crypto (Hop on the PHP Block chain rocket to the MOON!) By Drishti Jain
  • Talk on Practical advanced static analysis by Date Liddament
  • From Betamax to VCR: Harden your API integration testing by James Second
  • Closing keynote: Leading in Tech by Michael Cullum

We have a new puppy called Goose

  • 8 Weeks old
  • English Springer Spaniel
  • Super cute

I gave a talk to PHP South West (in person) and to the Symfony user group in Portugal (Remote)

  • Code with confidence using PHPStan

I want to give a shout out to JoelTheDeveloper who I meet at PHPUK, he has a his own YouTube channel which talks about development and the mindset of devs. He’s done a great video regarding handling your ego as a developer. Please checkout his channel

Bug tracking tools

  • It doesn’t mater what tool you use as long as you have eyes on the issues
  • Friction hurts progress.
    • Tools should be easy to use
    • Easy to integrate with the current toolset
    • Easy to integrate outside of the current ecosystem
    • Low learning curve
    • Will it be self hosted
    • Can you import your current bugs/tasks
    • Can you export bugs/issues
    • What are the security implications
    • Can all devs on your team use it on their platforms
    • Does it need to be mobile friendly
  • How can it integrate well with other tools
    • Does it have an API

Watch the show on YouTube

Contact me and let me know your thoughts or get something read out on air.

View Details

Change log

  • Yesterday I gave a talk about PHPStan and code confidence to PHP South West

  • I’m going to give the talk again:

The Symfony user group in Portugal on the 22nd of Feb

North West Drupal User group on the 8th of March

  • On Tuesday we fixed a unit test which turned out to be a larger issue than I expected and uncovered a big code smell which I need to fix in the coming evenings.

  • I did a YouTube, Twitter and Discord poll about stopping the music whilst live coding. I will leave the poll going until the end of the week but so far it looks like you lot prefer silence when I code.

The stages of bug fixing

  1. Investigation and discovery
  2. Testing and verification
  3. Fixing
  4. Testing and verification
  5. Deployment

Watch the show on YouTube

Contact me and let me know your thoughts or get something read out on air.

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Change log

  • We got to lesson 4 of the PHP course on Tuesday. Lots of bad documentation has been fixed
  • Working on a Jenkins server for HTCW as I want to move away from GitHub Actions
  • We’re getting another English Springer Spaniel called Goose in a few weeks time. He will only be a puppy
  • I am giving a new talk called coding with confidence using PHPStan at PHP South West next Wednesday.

What makes an acceptable bug ticket

  • Bugs are not equal and no bug should be treated equally. Therefore no ticket is equal nor should the ticket be created or processed equally.
  • Bugs come in various shapes and sizes.
  • There is a fine line between having too much or too little process
  • A ticket which requires over processing in its lifespan will slow down delivery of the fix. This is due to the amount of red tape needed to record and fix the bug
  • A ticket which doesn’t require the right amount of process during its lifespan will slow down the project as the actors that influence or oversee the ticket may have insufficient information required.

Usually a bug is categorised by priority.

  • P1 is critical
  • P2 is less so and so on

We are skirting around the ITIL change management process

  • An incident is not the same as bug or an issue
  • An incident is an unplanned interruption. An incident could be a bug after investigation
  • A bug is a fault in the system found by a tester and accepted by the developer
  • A issue is a business question that could needs to be addressed. The app doesn’t work on X but should it?

I have not done ITIL (Information Technology Infrastructure Library) training so please don’t see me as an authority on change management or IT service management disciplines.

In my opinion the the minimum a that a bug ticket should have are:

  • A heading that quickly summaries the bug
  • Clear and concise steps to reproduce the bug
  • Clear requirements and environmental setup
  • Clear acceptance criteria (A definition of the correct behaviour)
  • Clear priority and the priority definitions
  • Clear understand of the bug impact

View Details

Change log

  • New personal site peterfisher.me.uk

  • New job

  • Speaking at Symfony user group in Portugal - Code with Confidence with PHPStan

  • Won’t be streaming on Twitch this weekend as I’m traveling

5 Things you should not do in Software Development

  1. Don’t rush

  2. Re-read the problem more than once.

  3. If it doesn’t make sense to you then re-write the problem in your own words and get it checked
  4. Ask questions if you don’t understand
  5. The first solution might not be the best
  6. Break down the problem into smaller problems but try not over abstract

  7. Don’t panic

  8. Bugs can be solved

  9. A computer only does what it is told to do
  10. Others have come before you and others will replace you
  11. If you can’t think of the solution then walk away but always come back
  12. Software development is huge so take your time

  13. Don’t worry

  14. We all make mistakes. As long as you learn from them then you are improving

  15. Keep away from the trends and focus on what you are having fun with
  16. We all learn at different speeds and different levels.
  17. At the start, don’t worry about how long you take
  18. You don’t need to learn everything - you can’t

  19. Don’t over do it

  20. Learn to pump the breaks if you are reaching burnout

  21. Holidays are holidays. Hands off the code
  22. Learn how to identify burn out
  23. Keep doing other things you enjoy outside coding
  24. Socialise with other coders out side of work

  25. Don’t over think it

  26. Over abstracting a solution is a very big and common mistake

  27. Its just syntax, just written in a different order
  28. Learn the basics first before jumping into the deep end
  29. You can learn by listening, watching, coding, and reading
  30. Keep a log of what you’ve learnt and look back at your progression

Watch the show on YouTube

Contact me and let me know your thoughts or get something read out on air.

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Today I am going to talk about 5 build tools that every software needs to learn.

These include the following:

  1. Step debugger
  2. Command Line Interface (CLI)
  3. Integrated development environment(IDE)
  4. Output tools such as Postman
  5. Project management tools

Watch the show on YouTube

Contact me and let me know your thoughts or get something read out on air.

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Change log:

  • All the code notes for Docker for beginners course has been written. This is available on GitHub
  • I’ve started work on transcribing that course. This will take a long time.
  • I’ve fixed issues on howtocodewell.net regarding signup, forgotten password and other minor fixes
  • I’ve added the functionality to lock and unlock courses. This will turn them into private or public courses that require enrolment

6 ways to improve your testing

1) Automate as much as you can

  • Use CI pipelines
  • Run these locally even if your’e not committing any changes
  • Include other code auditing tools such as phpstan or phpmd

2) Statics are evil

  • There is no way to test a static method that calls another static method

3) Having many mocks is an indication of bad code design

4) Use tests to help refactor you code

  • If a unit of work cannot be easily tested then it usually means the code is not designed well
  • Break up your tests into smaller chunks
  • Tests can highlight micro and minor refactors
  • Refactor your code and then re test
  • Try and do this in a TDD fashion

5) Avoid flaky tests

  • Clean up state
  • Check for bottle necks which could cause timeouts
  • Mock external services or dependancies
  • Look into potential memory leaks

6) Re think what testing means to you

  • Testing is a contractual agreement between the programmer and the code
  • Testing is documentation - Gherkin, Acceptance Criteria, Business requirements
  • Testing is boundary setting which helps with focus
  • Testing is future proofing

Watch the show on YouTube

Contact me and let me know your thoughts or get something read out on air.

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Business logic isn't just for businesses in the money making sense.

Business logic encapsulates entities and the business rules or policies that solve real world problems. Business logic is used to model entities that relate to business objects. For example your application may require orders, order items, payments, customers and the addresses.

5 ways to improve Business logic

  1. Keep it portable
  2. Keep it out of view logic
  3. Small isolated rules
  4. Avoid large recalculations of data
  5. Don't over abstract

Watch the show on YouTube

Contact me and let me know your thoughts or get something read out on air.

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Web Development Guide for 2022

  • Web assembly won’t replace JavaScript.
  • TypeScript won’t replace JavaScript.
  • GitHub actions won’t replace you.
  • Next.JS won’t replace PHP.
  • PHP won’t replace Python.
  • AWS will continue to build more stuff that you don’t need but will be require you to use it for unrelated but coupled tasks.
  • Google Cloud will keep playing catchup.
  • Docker will continue to be the containerisation tool of choice.
  • Podman will not replace Docker.
  • Microsoft will sell developer focused laptops. Dell has done this but Microsoft could bundle the laptops with pre installed developer software tools.
  • Microsoft will attempt to by a Linux laptop manufacturer.
  • Kubernetes will continue to dominate the cloud.
  • Web 3 will not replace web 2.
  • Web services that offer subscriptions will introduce their own block chains and wallets.
  • A games manufacturer will release their own wallet and coins/tokens which can be exchanged for in game purchases or game expansions.
  • Open source could be funded by crypto.
  • A Spotify like company that focuses solely on podcasts could pay artists/creators based on the number of listeners or listen time. This could be done via the blockchain.
  • We will see more JavaScript frameworks with "meta" and "web 3" buzzwords their titles.
  • More NPM hacks.
  • More developers will try and downsize their dependancies using micro frameworks.
  • GraphQL won’t replace REST.
  • NoSQL won’t replace relational databases.
  • Job requirements will start to require experience with the blockchain and dapps.
  • Serverless won’t replace servers but serverless technology will become more popular and it will be a sought after skill.
  • CI/CD will become the norm.
  • In the next Covid lockdown or the next set of restrictions, the job market will be better then it was during the first lockdown
  • Remote working will become the default for all levels of developer.
  • VR will improve but we won’t need to put a helmet on to go to a meeting.
  • FaceBook or Twitter will start selling promoted adverts with crypto currencies.
  • API’s will still be king.
  • Headless CMS’s will become more popular.

Let me know your thoughts or get something read out on air.

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Change log

  • We’ve almost finished the first pass of the documentation for the new PHP course. I have 1 / 2 lessons to go. There are two more passes that I want to do before recording any of the lessons. The next pass will be to create the project from start to finish using the documentation but on a Ubuntu VM. The last pass will be to do the same bu on a Windows VM
  • Last weeks show that was on shopping carts went live earlier this week. I had some internet issues last week so I couldn’t do the live stream

Your feedback

1) Eric writes in on my hack to check if PHP is working YT short and asks if the next video will be on the PHP 8 match expression and when to use it.

I can’t promise that it will be the next YT short but I can say that It is on the schedule.

2) Keral writes in on my PHP array sum tutorial and asks how do we sum fields in a database.

There is a SUM function in MySQL. It takes one argument and that is the expression that you want to calculate. You can use it to find the sum of a field from several records by suppling the field name as the expression. Then add the reset of the query as usual.

For example, To get the sum of a shopping basket you could do something like this; Let’s say you had a table of order items with a foreign key linking to an orders table. Each order item record would also have a price field. You could get the sum of the orders price like so: select sum(order_item.price) from order_item where order_item.order_id = 4; Obviously change the table name of order to something else as order is a reserved keyword in MySQL.

If you have a comment that you want read out on the show then either write a message on a YouTube video or send me a message on our contact form.

Code Iteration time is critical to web development success

I want to talk about a blog posted titled 3 lines of code shouldn’t take all day https://devtails.xyz/3-lines-of-code-shouldnt-take-all-day by Adam Berg. In the post Adam talks about his time developing video games at Electronic Arts. He mentions that due to the testing tools and development requirements it could take up to a day to write 3 lines of code. This iteration time was greatly reduced when he used 'test beds'.

Adam mentions in his article that the test beds focused on particular areas of code which meant the tooling was slimmed down. This allowed him to laser in to the code that needed to be tested and as a result made the code iteration far quicker.

He goes on in the post to talk about using unit testing which also made his life a lot easier. These test packages only contained the code which was specific to his teams requirements. Again, this was a slimmed down portion of a game.

He mentions that these test packages took less than a second to compile and run. This made him less distracted and he could focus on the task at hand.

View Details

Changelog

  • No live stream tonight, My internet has been super patchy today so I’m not even going to try.
  • Unfortunately no PHP 8 short this week. It has been recorded, I just haven’t had the chance to upload and do the thumbnail yet.
  • We documented the 7th lesson of the new PHP course. This included some TDD, some array nesting and some PHP 8 array shapes

Shopping carts are hard

A shopping cart needs to be frictional-less to the end user (Customer). The quicker a customer can purchase a product the better.

There are many questions that need to be answered when designing the user flow of a shopping cart

These are just some things to think about:

Shipping

  • Will you be shipping a physical good and if so will the shipping cost be dependent on user location?
  • Will shipping be based on the item(s) weight?
  • Will shipping be discounted in certain regions?
  • Will you require shipping information to make a payment (Security checks)?
  • Will there be discounted shipping based on quantity?
  • Will there be a quantity limit based on different regions?

Currency

  • What currency will you be offering?
  • What is the conversion rate?
  • How will you track that?
  • What are the tax implications for you versus the customer?
  • How are you going to calculate tax?

Users

  • Will you require an actual user to login before and order is created?
  • Can someone make a guest account?
  • Will there be teams or individual accounts?
  • Will you require the customer to be verified before making a purchase. Some places like Stripe require a user email address?

Product

  • Is it a digital good?
  • Will there be stock?
  • How will the stock be recorded/monitored?
  • How will an out of stock product be displayed?
  • Can products be bundled?
  • Do bundled products get a discount?
  • How are products removed from the cart?
  • How are products updated on the cart?
  • How are quantities updated on the cart?

Checkout

  • What happens when a logged out user access the checkout page?
  • What happens to abandoned carts?
  • What defines an abandoned cart?
  • At what point does the cart get created in the database?
  • At what point does the cart get associated with the user?

Other items to consider

  • Refunds
  • Subscriptions
  • Cancelations

View Details

Changlog

  • I’ve been plugging in Symfony events into the HTCW site when a user registers.
  • Due to being super busy I didn’t get to stream on Tuesday but I have done all the documentation for 6 of the 10 lessons in the course
  • I should be live on Twitch on Sunday

If I was to sum up the coder mindset in a single sentence:

If you were to boil down the essence of a programmer it would be to have a practical mind, attention to detail, the ability to think logically, to zone in and out of different scopes and the will to compete complex tasks without giving up.

Let’s break that down

Thinking practically

Practical thinking is important because it helps you solve real world problems.

Set clear goals and priotizing work. You can also use life experiences to help solve problems.

Attention to detail

This means you take pride in your work, you care about the small stuff as much as the big stuff. In programming bad things can happen from the smallest mistake.

The ability to think logically

Logical thinking is a skill that involves using reasoning in a way that allows an individual to come to a viable solution

This helps you re trace steps, think through puzzles and compartmentalise elements of a programs flow.

Logical thinking requires several reasoning skills and the ability to look at a situation objectively and work towards a solution based on the facts at hand.

Age shouldn’t be a factor when learning to code.

In fact the older you are the more life experiences you will be able to bring to the web development table.

There are lots of skills that are transferable which are very much required in professional web development. You may of gained some of this experiences in other jobs. Some of these skills may give you a distinct advantage over other web developers.

Programming is one of these things that no matter how old you are, if you get good at it, nothing can stop you.

View Details

Change log

  • The latest YT short teaches the nullsafe operator in PHP 8
  • The PHP login course has been fully coded. This Tuesday on the YouTube Live stream we added the final touches including CSS. I need to write up the lesson plan and record the videos. I’m planning to release the course next year.
  • I will be planning the next course live on YouTube in the coming weeks
  • There is an idea that I’m toying with to drop the development of the subscriptions for the new hotowocodewell.net site in favour of having one off course purchases. The subscriptions would be added afterwards.
  • I am going to be recoding December’s YouTube shorts in the coming days. So if you have any suggestions then do let me know at howtocodewell.fm/contact

News

  1. PHP 7.4 looses active support in 3 days. (On the 28th of November 2021). It will have security support for a whole year
  2. PHP 8.1 has been released today. It has active support until the 25th of November 2023 and then security support until the 25th of November 2024

8.1 has many new features including enums, Green threads or Fibers which will be used in ReactPHP, readonly properties, Op cache performance improvements and many more

PHP foundation

https://blog.jetbrains.com/phpstorm/2021/11/the-php-foundation/

View Details

Today I want to discuss the Deprecate dynamic properties RFC in PHP 8 and give you my view on breaking changes in software development.

Changelog

  • New YT short PHP Union Data types
  • You can watch me struggle to get the new PHP course that I’m building to level 9 of PHPStan I did that live on Tuesday.
  • Over on Twitch I connected Googles YouTube API to https://howtocodewell.fm
  • I’ve started to use the new GitHub projects beta tool which lets you create a project that can have tasks from multiple repos which is proving very handy.
  • I’ve started to look into the blockchain and how it works. I can’t promise that I will do a course or a tutorial on that but I’m trying to wrap my brain around how it all works
  • I have my new M1 Max MacBook Pro. I haven’t had much chance using it as I’ve been so busy of late.

Get in contact and ask me a question

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are GMT)

Tuesdays 18:00 = Live Podcast YouTube

Thursdays 20:00 = Live Podcast YouTube

Saturday 14:30 - Live coding on Twitch

View Details

Changelog

November short PHP 8 tutorials have been scheduled. These include

  • Nullsafe operator
  • Named arguments
  • Union types

Phase 1 howtocodewell.fm features have been defined. Watch me build these live on Twitch on Sundays at 14:35 GMT

I'm planning a new PHP 8 course. I'm planning and creating this course live on YouTube on Tuesday evenings at 18:00 GMT

In the news

1) PHPStan 1.0 has been released

This release includes level 9 and a series of opt in features such as

  • unused visibility scope
  • Generic array function stubs
  • Recursive array type detection
  • And more

https://phpstan.org/blog/phpstan-1-0-released

2) Jason Citron the CEO and founder of Discord teased a tweet showing an ETH integration to Discord. https://twitter.com/jasoncitron/status/1457841222995693570

3) A new Reddit employee who works on the Crypto team tweeted a long thread regarding blockchain integration with the Reddit network

https://www.reddit.com/r/ModSupport/comments/qpdwt2/why_werent_mods_notified_about_the_new/

Get in contact and ask me a question

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are GMT)

Tuesdays 18:00 = Live Podcast YouTube

Thursdays 20:00 = Live Podcast YouTube

Saturday 14:30 - Live coding on Twitch

View Details

There is an RFC https://wiki.php.net/rfc/github_issues which discusses the need to move the PHP bug tracker to GitHub. In this episode I am going to give talk about 5 reasons I think this is a good idea and 5 reasons why I think this is a bad idea.

I would love to hear what you think. Let me know

5 Reasons why the PHP community should use GitHub to host their bug tracker

  1. Provides a Gatekeeper

Currently on bugs.php.net anyone can submit a bug report without registering an account. GitHub requires a GitHub account for issue submission.

  1. GitHub EcoSystem

Issues on GitHub can be matched against code commits, change logs can be automated, GitHub has decent project management and work flow tools, GitHub actions can be used for automated tasks and there will be a unified experience across the other GitHub php repositories.

  1. Everyone knows GitHub

GitHub has taken over the programming world. Everyone knows about it, everyone can use it. This lowers the barrier of entry whilst still ensuring that authors of issues are held accountable for their comments.

  1. Not our infrastructure, Not our problem

The GitHub infrastructure is managed by GitHub not by the PHP community.

  1. Time saver

We can spend our time building better things for the PHP world instead of building and maintaining a bug tracker.

5 Reasons why the PHP community should not use GitHub to host their bug tracker

  1. If it breaks we can’t fix it

If GitHub goes down then we go down. PHP is at the mercy of GitHub and their issues.

  1. Once you’re in the ecosystem it’s hard to get out

Making the decision to move away from GitHub will be harder than deciding to move away from bugs.php.net And if we needed to make the decision in the future we will need to support GitHub integrations.

  1. We have to play by the GitHub rules

If GitHub doesn’t allow a country access then tough. We have to play by another companies rules

  1. We could build something better

If time and money wasn’t an issue then we could build something better which is more tailored towards PHP and better meets the needs of the needs of the PHP community. The bug track could also be a great place to eat our own PHP dog food.

  1. We have to follow the GitHub road map

Whatever that may be and where ever that may lead us.

Something about having many eggs in one basket

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

House keeping

1) We have a new website for the podcast with a shiny new contact form.

2) The assets are now back on the main site. Unfortunately due to a timing and backend error the images were unavailable for a short while. This has now been resolved.

3) I’m planning a new PHP course live on YouTube. I will be doing this every Tuesday at around 6 PM BST. The course is beginner friendly and free. It will cover PHP session management and the learner will be building a login form with a secured user dashboard. The course will use vanilla PHP and CSS. So no frameworks.

4) This weekend I will be streaming on Saturday on Twitch instead of Sunday. We re going to fix some bugs on the podcast website and work on some other related HTCW things.

5) I’ve been making more coder based YouTube shorts. I’ve recently published two short form PHP tutorials which are doing really well. The first teaches the spaceship operator and the second teaches the null coalescing operator. I have more to come including PHP 8 tutorials so keep an eye out for those.

News

1) Gentle reminder to update to PHP 8. PHP 7 was released in 2015 and loses Active support for PHP 7.4 will end on November 28, 2021. Extended support for PHP 7 will end on November 28, 2022. After November 28, 2022, Microsoft will no longer support PHP.

2) Bash autocompletion is coming to Symfony console. This adds support for autocompletion when using commands, option names and also allows dynamically contextually complete values for arguments and options. It means you can add custom completion support to your own commands, and OSS projects.

3) The Missouri governor has released a fund-raising video stating that “Digging around the HTML” is a crime in Missouri. This is after social security numbers of teachers were found in the HTML code. (Code that would be in clear text in HTML or at the least base 64 encoded). Apparently Journalists were able to hack the HTML source code. You can’t make this up. This is the problem with having someone in power who is surrounded by yes people.

4) Microsoft is losing confidence with some .NET developers after removing Hot Reloading feature from .Net

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

View Details

Symfony has updated their documentation design and it looks pretty slick.

Great index page. I think there are some spacing and UX issues but on the whole it’s a welcomed improvement but I do wish it had a search feature.

Package typo squatting.

A package that has a miss spelled name is being used to trick 300 million websites harmful PHP code

I have finally have upgraded my MacBook Pro, I got the MacBook Pro M1 Max -

  • 16 inch
  • 10 Core CPU - 32 Core GPU
  • 64 GB unified memory
  • 4 TB storage

It would seem that they have got two halves of their pro lineup. The first one is what they call Power to go. And the other is termed as Super charged for pros.

Some good things

  • Battery didn’t shrink so you can still use them on plans
  • They add back the ports
  • They made trade offs with weight and sizes.
  • They added a 1080p web camera but that comes with a notch
  • The pros still come with fans - 140W charger
  • Mag safe and USB C charging
  • Max allows for 7 streams of 8k video
  • Max has 400GB memory bandwidth
  • Allows for 4 monitors to be connected.
  • Magic keyboard with Touch ID
  • No more Touch ID

You can get the 14 inch pro machines with M1 Max but I’m not sure what the thermals will be like.

Possible concerns.

  • This is my first M1 MacBook and I’m not 100% of what ARM support all the Docker images I use have.
  • I’m not sure how the battery will handle USBC charging and Magsafe. I connect my monitors via USB-C
  • I’ve never used rosetta 2. I’m not sure yet what other tools that I use require it.
  • How does the new SSD’s support the Docker file system?
  • Will the delivery get pushed out due to shortages?

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Let's talk about 10 good practice tips when using Git.

Podcast Notes:

PHP News: Swoole is a PHP extension that has been forked due to on going security concerns. The current version of Swoole downloads a compressed file from the business Swoole site which is NOT GOOD! This file is a gzip file which is downloaded to your application.

Apparently many attempts were made to raise this concern with the current maintainer of Swoole but nothing happened. After these concerns were un-heard the PHP community decided to fork Swoole and remove the ability to run remote code from the Swoole business site.

The forked alternative is called Open Swoole.

Read more about it here: https://news-web.php.net/php.pecl.dev/17446

Theres a new Apple event on the 18th of October.

  • M1X Mac book pro. 14 + 16 inch
  • Mac mini
  • AirPods Will the Mac Book Pro have 64 GB of ram, will I buy a new Mac?

10 Git Branch good practices

  1. Run code audits before merging into a work flow branch to prevent pipeline blockages
  2. Put config into a separate branch to the feature
  3. Use a GUI to inspect right, left, middle merges
  4. Communicate and talk through conflicts with other developers
  5. Don’t squash commits. History is good
  6. Regularly merge the main branch into the feature branch
  7. Always get a team mate to review your code. Even if its the smallest code change
  8. Keep to a good branch naming convention
  9. Separate code maintenance, features and fixes into their own branches - Be aware of what other features use your code
  10. Use messaging platforms like Slack or Discord to inform your team that something has been merged. Also use this to tell your team if the code audits have failed
  11. Fix any failed code audits before doing anything else.

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Today I am going to talk about side project in web development. Why you need one, how to stay productive and what projects to learn. Why is it good to have a side project?

  • Learn new skills in your own time at your own pace
  • Learn new technologies and techniques
  • Work without any constraints. If you don’t get it done then it doesn’t matter
  • They encourage creativity and thinking outside of the box
  • They help you keep focused on the main projects.
  • They can help with mental health by providing an escape from the ‘real’ work
  • They can be used as practice projects before working on production based code
  • Great for full stack devs how want to broaden their tool set
  • Great for getting out of comfort zone

Five ways to stay productive

  • Create a things to do list. I use GitHub projects
  • Create your own issues and PR’s with labels to help organise the different parts of the project
  • Time box the workload
  • If it starts to suck then stop. Update the task list and move on - You are in control of the pressure. So don’t worry if you don’t finish it.
  • Reduce the number of side projects you are working on at once.

Five side projects everyone can do

  • Learn how to automate backups with a cron job
  • Learn how to configure your dev machine via Ansible
  • Convert your blog into a web app/pwa/ native app
  • Start a podcast/YouTube channel that documents your learning journey
  • Rebuild your last project using a different programming language and document the comparisons

View Details

Today I am going to talk about Symfony 6 and discuss why PHP developers should be aware of it.

What about Symfony 5.4 LTS?

  • It will be released in November 2021
  • End of bug fixes November 2024
  • End of security fixes 2025
  • So you still have over 3 years before Symfony 5 will be end of life

When will Symfony 6 be released

  • Release November 2021
  • End of support: July 2022

When will the LTS 6.4 version be ready and for how long

  • Release: November 2023
  • End of bug fixes: November 2026
  • End of security fixes: November 2027

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

In todays software podcast we are going to talk about development environments. What they are and how development environments differ from a production or testing environment.

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Today I am going to talk about what the term Production Ready means in software development

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

What is behind Apples plans to scan iMessage and iCloud photo content? What could possibly go wrong?  Here is my take on what is going on with Apple. Also, updates on Sylius speed issues.

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

What career would you have if you weren't a Web Developer? Well in today's episode I will discover what I would do if I wasn't a web developer and it's probably not what you expected.

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Lets talk about jQuery and why it's so popular in 2021

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

In todays show I am going to talk about my mini adventure into load testing and give you my thoughts on K6.

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

I talk about Microsoft from a Developers perspective and have fun predicting what they are going to do with all their development tools.

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

I've come up with a 15 minute bug fixing rule which I would like to share with you on todays podcast.

If you have more thoughts on this subject please post a comment to Discord and continue the discussion.

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

I answer your questions from my tutorials and from Twitter.

How To Code Well is now on Rumble and Odysee

Recommended Book

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

In episode 119 of the How To Code Well Podcast I give 26 tips to Jr Web Developers. This includes everything from learning the technical aspects of Web Development to furthering your Software Development career. If you have more thoughts on this subject please post a comment to Discord and continue the discussion.

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

In today's episode I talk about a roadmap that I have created for learning PHP in 100 days.

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

In todays podcast we are going to talk about the 503 HTTP Status Code.

Error 503 = Service Unavailable

From the W3C: The server is currently unable to handle the request due to a temporary overloading or maintenance of the server. The implication is that this is a temporary condition which will be alleviated after some delay. If known, the length of the delay MAY be indicated in a Retry-After header. If no Retry-After is given, the client SHOULD handle the response as it would for a 500 response.

Causes

  • DDOS attacks will result in high resource usage which will eventually overload the server. As a result the server will respond with a 503 error code.
  • A server might be temporarily un available if it is under going maintenance. Its a server issue and not a client issue. So this wouldn’t be an issue with the HTML or CSS or client sided JavaScript Trouble shooting
  • Check any monitoring dashboards or graphs for resource hungry trends. - Check the logs to find any server related errors.
  • Check the logs for access requests to see if its a spike in traffic.
  • Check if the server is going through an unexpected maintenance
  • Check for firewall config. Perhaps a firewall on the network is preventing traffic from flowing.
  • Check for long running scripts that could be causing memory leaks.
  • Check for disk usage. Perhaps you are running out of swap space if that’s configured.

Solutions

  • Stop any jobs that are running
  • Divert traffic using a load balancer to another server -
  • Scale your application horizontally by bring on other servers/containers to handle the traffic
  • Have an auto scaler which keeps adding or removing servers/containers when needed - Reboot the server/container

Resources:

https://thevaluable.dev/dry-principle-cost-benefit-example/

https://metova.com/dry-programming-practices/

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

In todays podcast episode we are going to talk about the DRY software principle. In software development DRY stands for Don't Repeat Yourself. Let's discuss what this means.

Resources:

https://thevaluable.dev/dry-principle-cost-benefit-example/

https://metova.com/dry-programming-practices/

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Today I'm going to talk about how I upgraded to PHP 8. I will discuss the process of upgrading from 7.4 to 8.0.6, the problems and issues that I faced and the solutions I came up with.

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Today we are going to talk about Nagware and how Docker is trying to get your money in Docker Desktop version 3.x Docker requires a pro or team account to skip updates If you use Docker Desktop at work you may need to skip a specific update. For this reason, Pro or Team subscription developers can skip notifications for a particular update when a reminder appears. Free users will not be required to install any particular update, but they will continue to get reminders to update.

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Today we are going to talk about libraries vs frameworks in software development.

A software library is something you use that enhances your application. It's a bundle of code that you can plug into an existing project. A software library normally solves a specific task such as connecting to a database, making forms or providing routines that manipulate images. A library can co-exist amongst other libraries and this is also true for libraries that do the same task. For example you might have a software library that crops an image to a certain size. You may want to try another library that does the same thing.

A software framework provides a set of APIs such as user authentication, session management, templating, request and response handling and so on. A framework is a single package that could contain smaller packages that do different things. A framework is very opinionated. It provides specific places for you to add your and it controls almost everything about how your code interacts with it.

Generally you cannot add a framework to an existing project because it must be the top layer of abstraction.

Both libraries and frameworks are code that is written by someone else that you use to enhance your project.

When you use a library you are in charge of the application flow. You choose how and when the library is called in your application. On the other hand, a framework is a set of API’s that can be called at certain points in its defined flow. Usually a framework tells you what to do, when to do it and where to do it. Frameworks are normally developed by large teams or the open source community. Due to this, a framework normally adheres to best practices, a strict set of coding standards and the framework is regularly maintained.

There is a big learning curve with frameworks but popular frameworks are well known and sort after in the software industry.

In summary a framework tells you what to do whereas you tell a library what to do. You have full control over a library but you have to define the rules of your application. You have limited control over the framework and you need to adhere to rules set out by the framework.

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are BST)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Here are my 10 best web development resources that have helped me progress in my career

This episode was recorded live on YouTube

  1. Regex https://regex101.com or https://www.phpliveregex.com
  2. W3CSchools
  3. MDN
  4. Stackoverflow
  5. Replit
  6. Free Code Camp
  7. Github learning lab
  8. Git
  9. Smashing magazine
  10. CSS tricks
  11. David Walsh

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are GMT)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Let's talk about algorithms and where to put them in a MVC architecture.  I will also discuss what algorithms are and how best to use them within software. This is live so questions are welcome during the talk.

This episode was recorded live on YouTube

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are GMT)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Let's talk about the Apple 2021 spring event and what the new iMac and iPad Pro can do for Web Developers.

This episode was recorded live on YouTube

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are GMT)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Today we're going to tackle the question; Should software developers write code on crappy old hardware? 

I'm going to discuss the pros and cons of using old hardware and give my opinion on the matter.

This episode was recorded live on YouTube

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are GMT)

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Here are 10 interview tips that every software developer should know.

Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are GMT)

Tuesdays 07:00 - Live coding on Twitch

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

In episode 107 of the How To Code Well podcast I am going to explain why I think that not all code is equal.

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are GMT)

Tuesdays 07:00 - Live coding on Twitch

Thursdays 20:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

In episode 106 of the How To Code Well podcast we are going to talk about 5 tools every PHP developer should know

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are GMT)

Tuesdays 07:00 - Live coding on Twitch

Thursdays 21:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

In episode 105 of the How To Code Well podcast we are going to talk about software testing.  

I'm going to give you 5 reasons why you should test you code and discuss how writing tests will help you become a better software professional.  

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are GMT)

Tuesdays 07:00 - Live coding on Twitch

Thursdays 21:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Securing a webserver is not easy and it takes time.  Security isn't something that you set and forget.  Any security improvements must be monitored, maintained and well planned.  Here are 10 basic webserver security tips.

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are GMT)

Tuesdays 07:00 - Live coding on Twitch

Thursdays 21:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Let's talk about Flutter and its impact on desktop apps. We also talk about Deno and Repl  

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are GMT)

Tuesdays 07:00 - Live coding on Twitch

Thursdays 21:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

What are the minimum hardware requirements of a web developer in 2021

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule (Times are GMT)

Tuesdays 07:00 - Live coding on Twitch

Thursdays 21:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Oh I have sooo much technical regret.  Lets rebuild the frontend of howtocodewell.net

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule

Tuesdays 07:00 - Live coding on Twitch

Thursdays 21:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

Lets talk about API testing

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule

Tuesdays 07:00 - Live coding on Twitch

Thursdays 21:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

This is the 2021 Tech roadmap for howtocodewell.net

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule

Tuesdays 07:00 - Live coding on Twitch

Thursdays 21:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

This is why you should learn MVC 

  • Understand how requests and responses work 

  • Gain an understanding of how to separate a web app - Companies require you to know this

- Enables you to build scaleable enterprise applications 

  • You Learn how to decouple code and application responsibilities 

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule

Tuesdays 07:00 - Live coding on Twitch

Thursdays 21:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

If I was a new software developer in 2021 these are some of the things that I would learn.

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule

Tuesdays 07:00 - Live coding on Twitch

Thursdays 21:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

In this live show I discuss why the list of the top 5 programming languages to learn in 2021 are meaningless and stupid.  

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule

Tuesdays 07:00 - Live coding on Twitch

Thursdays 21:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

In this live show I give 5 reasons why learning how to use Git Stash will make you a better web developer.

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule

Tuesdays 07:00 - Live coding on Twitch

Thursdays 21:00 = Live Podcast YouTube

Sundays 14:30 - Live coding on Twitch

View Details

In this live show I give 5 reasons why you should learn Git pull requests to improve your career as a web developer.

My web development courses

➡️ Learn How to build a JavaScript Tip Calculator 

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule

Tuesdays 07:00

Thursdays 21:00

Sundays 14:30 All times are BST

Watch previous livestreams here

View Details

Welcome to the first live podcast show! In todays episode I talk about the things I learnt when upgrading the HTCW CMS and API to Symfony 5.

I discuss why I needed to do the upgrade earlier than I expected and how I planned to roll out the new system. The upgrade didn't go smoothly and lots of bugs were discovered after the rollout. As the system was being upgraded I kept notes of what I would and wouldn't do again and how to avoid the same problems. These notes will be used when I upgrade the system to PHP 8.

This episode was recorded live on YouTube: https://youtu.be/35DRtb4WM88

====================

📓 My web development courses

➡️ Learn How to build a JavaScript Tip Calculator https://www.youtube.com/watch?v=l3cUp-HEmuI&list=PLZdsdjcJ44WVa4lhVwkCtQPSG8aqgjzjK

➡️ Learn JavaScript arrays https://www.youtube.com/watch?v=K3WzmRXtExg&list=PLZdsdjcJ44WWaBGywrjhXjlJnilh6Z0NX

➡️ Learn PHP arrays https://www.youtube.com/watch?v=C9gILLIyV-M&list=PLZdsdjcJ44WUWbArkekAHznqfJ60vW8V_

➡️ Learn Python https://www.youtube.com/watch?v=mYt8kFobRBc&list=PLZdsdjcJ44WXkZs76CYt5n9pW6j3WmWeJ

✉️ Get my weekly newsletter https://email.howtocodewell.net/signup

⏰ My current live coding schedule http://twitch.tv/howtocodewell

Tuesdays 07:00 Thursdays 21:00 Sundays 14:30 All times are BST

Which previous livestreams here: https://www.youtube.com/channel/UCD0bfB1Xjhe0ZLXhhwXeJPQ/

➡️ In todays show I mentioned:

  • My HTML, CSS, JavaScript Tip Calculator course https://www.youtube.com/playlist?list=PLZdsdjcJ44WVa4lhVwkCtQPSG8aqgjzjK

  • My AWS S3 command line Udemy course https://bit.ly/3bV2Mzt

  • Patrons and how to support How To Code Well http://patreon.com/howToCodeWell

➡️ Follow How To Code Well:

https://www.twitter.com/howtocodewell

https://www.twitch.tv/howtocodewell

https://www.facebook.com/howtocodewell

https://www.instagram.com/howtocodewell

View Details

Today I'm going to talk about my views on Hacktoberfest and do a live Q and A.  

Announcements 

20% HTCW Merch throughout October with code OCTOCODER 

My web development courses  

➡️ Learn How to build a JavaScript Tip Calculator  

➡️ Learn JavaScript arrays  

➡️ Learn PHP arrays   

➡️ Learn Python   

✉️ Get my weekly newsletter   

⏰ My current live coding schedule  

Tuesdays 07:00 

Thursdays 21:00 

Sundays 14:30 All times are BST 

Watch previous livestreams here

View Details

In today's podcast Chris Ginn (https://www.linkedin.com/in/chrisginn1) and I do a deep dive into Agile. Chris is an Agile Delivery Lead and was first on the podcast in episode 78 where he talked about his career journey from a DBA to an ADL.

Chris shares his extensive knowledge about the Agile delivery process and breaks down the Agile methodologies into easy to understand segments whilst explaining the delivery of a typical system.

We discuss how a company can transition into an Agile work flow and Chris explains the typical Agile ceremonies such as sprint planning, daily scrums, sprint review, sprint retrospective and backlog refinements.

====================

📓 My web development courses

➡️ Learn How to build a JavaScript Tip Calculator https://www.youtube.com/watch?v=l3cUp-HEmuI&list=PLZdsdjcJ44WVa4lhVwkCtQPSG8aqgjzjK

➡️ Learn JavaScript arrays https://www.youtube.com/watch?v=K3WzmRXtExg&list=PLZdsdjcJ44WWaBGywrjhXjlJnilh6Z0NX

➡️ Learn PHP arrays https://www.youtube.com/watch?v=C9gILLIyV-M&list=PLZdsdjcJ44WUWbArkekAHznqfJ60vW8V_

➡️ Learn Python https://www.youtube.com/watch?v=mYt8kFobRBc&list=PLZdsdjcJ44WXkZs76CYt5n9pW6j3WmWeJ

✉️ Get my weekly newsletter https://email.howtocodewell.net/signup

⏰ My current live coding schedule http://twitch.tv/howtocodewell

Tuesdays 07:00 Thursdays 21:00 Sundays 14:30 All times are BST

Which previous livestreams here: https://www.youtube.com/channel/UCD0bfB1Xjhe0ZLXhhwXeJPQ/

➡️ In todays show I mentioned:

  • My HTML, CSS, JavaScript Tip Calculator course https://www.youtube.com/playlist?list=PLZdsdjcJ44WVa4lhVwkCtQPSG8aqgjzjK

  • My AWS S3 command line Udemy course https://bit.ly/3bV2Mzt

  • Patrons and how to support How To Code Well http://patreon.com/howToCodeWell

➡️ Follow How To Code Well:

https://www.twitter.com/howtocodewell

https://www.twitch.tv/howtocodewell

https://www.facebook.com/howtocodewell

https://www.instagram.com/howtocodewell

View Details

Today I interview Chris Ginn https://www.linkedin.com/in/chrisginn1

During his career Chris Ginn was a DBA (Database Administrator) looking after hundreds of database servers for MessageLabs/Symantec, he then worked for the 5th largest company in the world (UnitedHealth Group).

Chris also worked in QA (Quality Assurance) and has loads of experience in working with enterprise systems.

After learning more about Agile, Chris changed his career direction and is now a certified Agile Delivery Lead. As a Scrum master he has helped improve the work flows and given support to his development team. If you would like to hire Chris as a Scrum Master, DBA or ADL then get in touch over Linkedin in: https://www.linkedin.com/in/chrisginn1

You can watch this interview on YouTube: https://youtu.be/bcWVO88UAUE

If you like this interview then check out the other ones: https://howtocodewell.fm/

====================

📓 My web development courses

➡️ Learn How to build a JavaScript Tip Calculator https://www.youtube.com/watch?v=l3cUp-HEmuI&list=PLZdsdjcJ44WVa4lhVwkCtQPSG8aqgjzjK

➡️ Learn JavaScript arrays https://www.youtube.com/watch?v=K3WzmRXtExg&list=PLZdsdjcJ44WWaBGywrjhXjlJnilh6Z0NX

➡️ Learn PHP arrays https://www.youtube.com/watch?v=C9gILLIyV-M&list=PLZdsdjcJ44WUWbArkekAHznqfJ60vW8V_

➡️ Learn Python https://www.youtube.com/watch?v=mYt8kFobRBc&list=PLZdsdjcJ44WXkZs76CYt5n9pW6j3WmWeJ

✉️ Get my weekly newsletter https://email.howtocodewell.net/signup

⏰ My current live coding schedule http://twitch.tv/howtocodewell

Tuesdays 07:00

Thursdays 21:00

Sundays 14:30 All times are BST

Watch previous livestreams here https://www.youtube.com/howtocodewelllive

➡️ In todays show I mentioned:

  • My HTML, CSS, JavaScript Tip Calculator course https://www.youtube.com/playlist?list=PLZdsdjcJ44WVa4lhVwkCtQPSG8aqgjzjK

  • Patrons and how to support How To Code Well http://patreon.com/howToCodeWell;

➡️ Follow How To Code Well:

Twitter https://www.twitter.com/howtocodewell

YouTube https://www.twitch.tv/howtocodewell

Facebook https://www.facebook.com/howtocodewell

Instagram https://www.instagram.com/howtocodewell

View Details

In today's podcast I discuss how I am going to upgrade the HTCW CMS and API to PHP 8 and Symfony 5.

Upgrading a system to a major version is always tricky and requires a lot of planning and preparation.

If you rush into a major upgrade then you will risk having to do a lot of hot fixes to production after deployment so it is crucial to get it right the first time.

📓 My web development courses

➡️ Learn How to build a JavaScript Tip Calculator

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule

Tuesdays 07:00

Thursdays 21:00

Sundays 14:30

All times are BST

Which previous livestreams here:

➡️ In todays show I mentioned:

  • My HTML, CSS, JavaScript Tip Calculator course
  • My AWS S3 command line Udemy course
  • Patrons and how to support How To Code Well

➡️ Follow How To Code Well:

  • Twitter
  • Twitch
  • Facebook
  • Instagram

View Details

What is an API client compared to an API endpoint and how do you build, test and document a API client? These are some of the questions that I answer in todays podcast. Essentially an API client is bit like a Software Development Kit (SDK)

In this episode I talk about how I am developing a JavaScript API client using tools such as Jest, Nock, Babel, EsLint and Documentation.js

📓 My web development courses

➡️ Learn JavaScript arrays

➡️ Learn PHP arrays

➡️ Learn Python

✉️ Get my weekly newsletter

⏰ My current live coding schedule

Tuesdays 07:00

Thursdays 21:00

Sundays 14:30

All times are BST

➡️ In todays show I mentioned:

  • My HTML, CSS, JavaScript Tip Calculator course

  • My AWS S3 command line Udemy course

  • Support How To Code Well

➡️ Follow How To Code Well:

Website

Twitch Live Coding

Twitter

Facebook

Instagram

View Details

I have created a beginner friendly HTML, CSS and JavaScript course.  This is quite different from the other courses that we have on HTCW because this is project based. You will be developing a Tip Calculator and this project includes three tutorials. 

This is a free course that will be published on howtocodewell.net and YouTube.  The code is available here

In this episode I talk about the course and future project based courses on HTCW. I also discuss the future of HTCW and when I plan to upgrade PHP to version 8.

Get my weekly newsletter

My current live coding schedule

  • Tuesdays 07:00
  • Thursdays 21:00
  • Sundays 14:30 All times are BST

In todays show I mentioned:

  • My HTML, CSS, JavaScript Tip Calculator course
  • My AWS S3 command line Udemy course
  • Patrons and how to support How To Code Well

View Details

In a message to the PHP externals, Microsoft has announced that it is dropping Windows support for PHP 8 and beyond.

In this episode I am going to discuss what this means for Windows based PHP developers.

I will also be asking questions, highlighting developer concerns and making recommendations to those learning PHP on Windows development environments.

View Details

Docker is a fantastic tool to have in your web development tool box. Here are 19 Docker tips and techniques that I wish I knew when I started using Docker.

View Details

Whilst live coding on Twitch I was asked about my web development work flow, the different types of tools that I use and what to expect when progressing in a career in web development.

In this episode I am going to answer all of this and more.  We are going to cover why I use Jira more than Trello to record tasks. What frameworks I have mostly been using and what to expect as you advance in web development.

View Details

The new How To Code Well website is being developed live on Twitch and I intend to put it live in early December this year. 

In this podcast I discuss the roadmap for this project and the various different stages I need to complete in order for this project to go live.

In todays show I mentioned:

View Details

Useful productivity is key to the success of How To Code Well.  Producing video tutorials, live streaming on Twitch and interviewing guests on the podcast keeps me quite busy. I do all of this whilst being a freelance web developer, husband and dog owner.  

I am frequently asked how I keep I high level of productivity with How To Code Well whilst being a freelance web developer. so we are going to pull apart the topic of productivity in todays episode.

View Details

Today I am going to talk about clean php. This was a suggestion from Mohjak on the discord server. Mohjak suggested to do a video discussion on how to use clean PHP coding when implementing a WordPress importer

View Details

In todays How To Code Well podcast I am going to discuss the tools and techniques that I sometimes use to audit legacy code and web applications.

The tools mentioned include phpstan, pdepend, phpmd, composer, phploc and more

View Details

In today's How To Code Well podcast I am going to talk about when you should and shouldn't learn certain skills in web development. This is based on a conversation that was had our Discord server between the HTCW community.

View Details

In today's podcast I am joined by Emily Wallace Price who talks about her development story and career change from care worker to coder. Emily was a care worker for 10 years but due to reasons beyond her control she needed to change careers.

Emily taught herself web development and coding, after completing a series of Udemy courses and building up her portfolio Emily applied for jobs in web development. Emily is now a Junior web developer specialising in Laravel.

View Details

Matt Brunt joins me to talk about what it's like working from home during lockdown. We discuss some of the advantages and dis advantages of working from home for both the developer and the company. Matt has some great advice for junior developers who have recently come in to the industry but are now required to work remotely due to the lockdown.

View Details

Today we are going to talk about two technologies that I've been  learning to deploy and test infrastructure.

These are Terraform and Ansible. In this episode I explain the difference between the two and discuss the advantages of Infrastructure As Code (IaS)

View Details

Due to Covid-19 more people are being told to work from home. I have been a remote developer for 8 years and today I want to discuss 19 tips for working at home.

View Details

Today we are going to discuss the rebuild of howtocodewell.net using a microservice architecture. The current site is a basic Monolith and I would like to improve it with e-commerce and e-learning features.  These features will be based on many Microservices. 

We are going to talk about some of the things that I've found difficult during the development stage of the project. We are also going to discuss some of the advantages and disadvantages of using a Microservices architecture.

View Details

Today I'm going to talk about how we sometimes measure the value of programmers. Sometimes this can help define how much a programmer is paid and worth to a company.

I will discussing some of my older experiences as a freelancer and also as full time web developer.

View Details

Here are 19 misconceptions about web development! These include; Women can't code, Web development is getting easier, Vue is better than React and many more

View Details

Here are 19 ways to save time while learning to code. This is a list for both junior and senior web developers looking to improve their programming skills quickly and efficiently.

View Details

Today I'm going to discuss some improvements that I have planned for the howtocodewell.net website.

I also mention why I don't need a CMS ..... yet

View Details

Ben Orenstein is a co founder of a pair programming tool called Tuple that allows remote developers to share and alter code in realtime.

Ben joins me to talk about Tuple and what pair programming is.

Ben is also a speaker, singer and ruby developer. We talk about his coding background and how he came up with the idea of Tuple

View Details

Richard Bell is a joint director at Maple Rock Design in Cheltenham and he joins me to discuss his coding background and what web development services Maple Rock Design can offer.

Maple Rock Design is web and print design agency in Cheltenham that specialise in branding, graphic design and web development. 

Richard talks about the programming languages he has used in his career including Joomla, WordPress, Laravel, VueJs, Code Ignitor, 11ty amongst others.

View Details

Sam Foot from Apptimise joins me to discuss the differences between a developer and a consultant in web development.

We also talk about his coding background and how he started Apptimise.

Sam has a great freelance history and we discuss how he transitioned into freelance and how he gets freelance clients.

View Details

Let me explain my relationship with software testing and why I think you should learn to test your code in 2020.

In this episode I discuss my history of coding and how I started learning software testing.

View Details

Jeremy Onion joins me on the How To Code Well podcast to talk what you should learn first in web development. We discuss the difference between backend and frontend technologies, what to look out for when starting out as a programmer and what to avoid when learning to code.

View Details

I would like to thank all the How To Code Well season two guests! Listen to the podcast here: https://howtocodewell.fm In 2020 we start season 3!

View Details

2019 is nearly over and I want to take this time to thank everyone who has listened to the podcast and to all the amazing guests that have been on the show.

I am also announcing the New Year Podcast special which is happening next Friday!

It's going to be super fun so make sure you have subscribed.

Have a great new year everyone!

Happy Coding :)

View Details

Holiday burnout is a thing and I want to talk about how programers get burnt out around the holiday season. I mention a few of things that can cause burn out with coders and I discuss ways to prevent programmer burnout . Also Murphy says hello!

View Details

The technologies, programming languages and frameworks that we use in web development are constantly changing and getting better.  Here are just some of things that I am looking forward to using in 2020. This list includes PHP updates, Python changes and of course the crazy and clever things that are being added to JavaScript.

View Details

Matt Stauffer joins me on the How To Code Well podcast to talk about why Laravel is so good!

Matt is a technical director at 'Tighten', author, Twitch streamer, speaker and podcast host.  He builds web systems with Laravel and other PHP related technologies and teaches Laravel on Twitch and his YouTube channel 

We talk about the difference between Laravel and other frameworks such as Zend and Symfony. Matt also gives some great advice to those looking to use Laravel as a PHP framework.

View Details

Today I am going to talk about developer comfort zones. I will be mentioning the many comfort zones that I have created and moved out of in my web development career.

I'm also going to give examples when you should stay in your comfort zone and if you should consider alternatives.

View Details

Jonan Scheffler joins me on the How To Code Well podcast to talk about junior developers, the web development hiring process and a whole lot more

Jonan is a developer advocate, coder and teacher with a background of freelance web development and computer science.

We talk about the differences between junior and senior developers and how a web developer progresses in their career.

Jonan mentions some fantastic advice for junior developers and to senior developers who are mentoring others.

View Details

Ted M Young joins me on the How To Code Well podcast to talk about teaching Java and live coding on Twitch

Ted has a fascinating coding background which began at the age of 13 building stock programs that drew analytical charts. Ted sold the program to Dow Jones and become a very young professional programmer.

In his adult programming career Ted has worked for eBay, Google and other very well known software companies.

View Details

Adam Culp joins me on the How To Code Well podcast to talk about Beachcast tutorial videos on Twitch and YouTube.

Adam and I both teach programming and web development on Twitch and YouTube. Adam first came on the podcast in episode 5 and back then his Beachcasts channel was very new.  Since then his YouTube channel and live coding on Twitch has gained popularity.

We talk about content creation on these platforms and discuss the pros and cons of teaching code.

View Details

Jenna Charlton joins me on the How To Code Well podcast to talk about software testing.

Jenna is a lead software tester from the united states and has lots of experience testing large applications and leading a team of talented software testers.

We talk about Jenna's development story and how she got into the software testing industry. Jenna talks about her current role as a lead software tester and discusses the testing process.

Jenna is also a speaker and conference organiser.

View Details

Today's podcast is going to be a bit different as Jeremy Onion interviews me. Jeremy ask's me about my web development journey, my educational background and what programming languages I have learnt.

We also discuss my web development career and how I became a freelance web developer and consultant.

Jeremy asked questions about the YouTube channel and the story behind How To Code Well.  We also discuss future plans and what might be happing in the future with the How To Code Well community.

View Details

Matthew Glen joins me on the How To Code Well podcast to talk about changing careers from factory worker to web developer. Listen on the podcast: We talk about why he decided to change his career and how he started to learn web development. Matthew has a very inspirational development story, he talks about the challenges he faced and how he overcame them. He also gives some great advice to self taught developers and those looking to switch careers to work in the web development industry.

View Details

Being able to adapt to different circumstances is very important in a web developers career. In this podcast I discuss certain ways to improve your adaptability skills and how to alter to new situations in a web developers career. We talk about accepting the inevitable changes and how to cope with uncertainty.

View Details

Kyle Cook from Web Dev Simplified joins me on the How To Code Well podcast to talk about React and his new course Learn React Today.

You can get the course here: http://bit.ly/2ndUMpu

Kyle talks about what it's like to be a React developer, what JavaScript skills are needed to be a React developer and what benefits there are to learning React.

View Details

Gary Hockin joins me on the How To Code Well podcast to talk about live coding on Twitch and working at Twilio.

Gary is a developer evangelist at Twilio, international speaker, senior PHP developer and gamer. As part of his role at Twilio Gary live codes on Twitch and interacts heavily with the programming community.

In the interview we talk about the many great things that Twilio does for developers and what products they offer for their clients.

View Details

Anna Filina joins me on the How To Code Well podcast to talk about working on legacy code. We discuss the pros and cons of working on legacy code and what the term 'legacy code' actually means. Anna is a speaker, Youtuber and consultant who specialises in legacy code. We delve into Anna's coding background and discuss how Anna started in game development. We also talk about how Anna became a speaker and what topics she talks about.

View Details

Jessica Smith joins me on the How To Code Well podcast to talk about side projects in Web Development. Jessica is an old colleague of mine and a great PHP developer. Jessica is a senior developer at Fasthosts where I previously worked for a few years. To say that Jessica's side project is epic is quite the understatement as in her spare time Jessica is the technical manager at epic.LAN!

epic.LAN is one of the UK's most exciting LAN gaming events featuring a great range of social games and esports.

View Details

David Darnes joins me on the How To Code Well podcast to talk about the features of Ghost, the professional publishing platform.

Ghost is a versatile publication platform that is used by well known companies and household names such as CloudFlare, Open Collective, Mozilla, Free Code Camp, Emojipedia and more.

David explains the many features of Ghost including integrations with other systems and systems stacks (JAMStack), the development flow, API functionality, media control and more.

View Details

Today I talk about the 4 main areas of How To Code Well and announce a future AMA. The areas that we cover include the podcast, live coding, the YouTube channel and the training courses for programmers

View Details

Jeremy Onion joins me on the How To Code Well podcast to give advice to web developers who are looking to progress in their careers. Today's topic is about personal development and training.

Jeremy has recently been on a certified training course with Google Cloud and will soon start an Amazon Web Services (AWS) course. These courses are instructor lead and certificated by training partners.

View Details

Matt Brunt is my guest on todays How To Code Well podcast. Matt is a web developer, public speaker and mentor. Matt talks about his background in web development including his experiences at university and how having a sandwich degree helped him get a job in the industry.

Matt is a fantastic public speaker and has some great advice for developers who are speaking at conferences. Matt's upcoming talks are 'Think Like A Hacker' at GOTO Berlin and DDD East Midlands in October.

View Details

Adam Argyle is my guest on today's How To Code Well podcast and talks about working in CSS developer relations at Google Chrome.

Adam talks about his background in web development and how his career has progressed at Google.  We also discuss the future of the web, how CSS is evolving and what Google Chrome features are coming soon.

Adam has worked at Google for many years but has recently started work in CSS Developer relations at Google Chrome.

View Details

Scott Ambler joins me to talk about Agile development in today's How To Code Well podcast

Scott Ambler is a disciplined agilist and chief scientist at 'Disciplined Agile'. Scott explains what agile is and how it can benefit a projects life cycle. Scott mentions that agile is not only suited to software development and gives some great examples of where agile can be used outside of web development.

We also discuss the differences between agile and other strategies such as the waterfall methodology.

View Details

Oliver Davies joins me to talk about Static Site Generators on the How To Code Well Podcast.

Static Site Generators are becoming very popular in web development and they come in many shapes and sizes which cater for different website requirements. Many web development programming languages have their own flavours of static site generators such as Jeklly for Ruby, Sculpin for PHP and Gatsby for JavaScript.

View Details

Ines Van Essen the founder of Donate WC is my guest on today's How To Code Well podcast. Donate WC is a donation and sponsorship site that has helped many people attend WordPress WordCamps all over the world.

Ines talks about the importance of donations and conference sponsorships. She also talks about the inspiration behind Donate WC and explains her background in Web Development.

Donate WC has recently achieved this years donation target of 10,000 Euros and are looking to double this for 2020.

View Details

Have you ever wondered what it's like working at Amazon as a Software Development Manager? Well in today's How To Code Well podcast I am joined by Jacques Woodcock who talks about how he has progressed in his career and what it's like to work for Amazon.

Jacques is a Software Development manager who works on internal software tools at Amazon and has worked there for over 2 years.

Jacques talks about how to get a job at Amazon and discusses the hiring process for Software Development Managers.

View Details

Emma Bostain is my guest on today's How To Code Well podcast and talks about how to be a better Web Developer. We discuss the many aspects of improving as a Web Developer including technical, soft and hard skills. We also talk about previous experiences that we've had in our own development journeys. Emma has a lot of experience in Programming, Leadership and Web Development and shares a lot of advice for both junior and senior Web Developers.

View Details

Today Stephen Doherty is my guest on the How To Code Well podcast and talks about learning to code over 30.

Stephen is from the US and before he turned 30 worked in the family business as a life accident and health insurance agent. Once Stephen turned 30 he decided to learn how to code and is now a full time web developer working in a digital agency.

Stephen talks about how he taught himself how to code whilst working in a totally different career and his experiences of becoming a web developer.

View Details

Today Stephanie Hurlburt is my guest on the How To Code Well podcast.

Stephanie is the co owner of Binomial (binomial.info) which makes the image and texture compression product called Basis.

Basis is greatly improving compression speed, file size and performance of images and their textures. This will vastly improve how images are handled on the web, on the desktop, in computer games and within virtual reality. Find out more at binomial.info

View Details

In Episode 23 of the How To Code Well podcast Josh Hudson joins me to talk about how he became a web developer. In his 30's, Josh has made a major career change. After 10 years working in a call centre Josh is now a junior web developer!

Josh talks about programmer burnout, web developer career progression and gives some great advice on how to learn coding and gain confidence in your development learning journey.

View Details

Drew McLellan is today's guest on the How To Code Well podcast. Drew talks about how and why he helped create Notist. (https://noti.st) Notist is a place to build your public speaking portfolio. A place to share your slides, but also to collate feedback, tweets, photos, resources and everything to create a permanent history of your speaking events.

Drew talks about the technologies behind Notist, the challenges and decisions that were made during development of the site.

View Details

Rob Wilson is today's guest on the How To Code Well podcast. Rob is a senior PHP developer at Superdry in Cheltenham and has done many talks on web development security.

In this episode Rob explains the many human factors of web site security, how web developers can follow security best practices and what to do if you find yourself dealing with a security breach.

View Details

The video version of the show: https://youtu.be/h4Cd2tiCIxg

Rob Waller is today's guest on How To Code Well podcast. Rob talks about testing code and testing an application for failures and expected outcomes.

Rob Waller is a software developer with a background in managing development teams. He is also a speaker and has given many talks on software testing.

View Details

John Jacob from the Iteration podcast is today's guest on How To Code Well. We talk about how the Iteration podcast started and what programming books have been reviewed. We also discuss how John and JP met and what happened to first season of the Iteration podcast. John explains how he got into web development and built his freelance career at better.dev

The Iteration podcast hosted by John Jacob and JP. Each episode covers a chapter in a programming book.

View Details

Tom Vorel is a self taught react developer and joins me on the How To Code Well podcast to talk about the best resources for self taught web developers

In this video Tom talks about the different ways of learning how to code using podcasts, online and offline courses as well as books and other resources.

This is the second time Tom has been on the podcast. In his first episode he discusses how he became a self taught react developer.

View Details

Kimberley Cook joins me on the How To Code Well podcast to discuss learning to code at codebar.

codebar is a non-profit initiative that facilitates the growth of a diverse tech community by running regular programming workshops.

The codebar workshops cover several programming topics and languages such as python, javascript, android, ruby and more.

There is no technical requirements when being a student at codebar. You can be a complete beginner with no coding skills or programming experience.

View Details

Matt Trask joins me on today's podcast to talk about Open Sourcing Mental Illness (OSMI) and why mental health is important in Web Development.

Matt Trask is senior PHP developer, open source contributor, speaker, OSMI volunteer and keen cyclist.

If you are suffering from mental health please speak to someone about it. Web developers are not immune from suffering from poor mental health. Please look after yourself. Happy Coding

View Details

Oliver Davies from Microserve joins me on today's podcast. We a talk about the differences in Drupal versions, building Drupal content management systems and contributing to the Drupal framework. Oliver is a Drupal developer at Microserve where he builds Drupal based applications on a daily basis. Oliver has many Drupal certifications including Drupal 8 Acquia certified Grand Master Oliver has given many talks on testing Drupal applications and is writing a book called Test Driven Drupal:

View Details

Jeremy Onion joins me on the How To Code Well podcast to discuss the web development recruitment process. Jeremy gives some valuable tips on how to write the best CV and explains what requirements are needed when applying for a new role in web development.

The topics we cover will help new developers applying for their first web development job and developers looking to progress in their development careers.

View Details

In this podcast episode I am joined by William A. Ibarra who runs Aviation Services (https://aviatorservices.com). This is a website that offers on demand air travel for private hire . The website that runs on PHP and allows for Bitcoin transactions. William is also an air charter operator and has lots of flight experience as a pilot. We talk about how Bitcoin is provides on demand services and how Bitcoin is changing the aviation industry.

View Details

Being able to effectively teach and train members of your web development team is a vital skill to have. Not only will you need to communicate your code changes to other developers but you may also need to help the end users to learn the new features that you have developed.

In today's podcast episode I am joined by Olivia Liddell cloud training specialist at Cloudbakers. Olivia gave a fantastic key note talk at the Sunshine PHP conference 2019

View Details

Having good soft skills is crucial for every employee and in any industry as they are required when working with and for others. As web developers we work with both technical and non technical team members. We may also communicate with clients or end users who have a set of requirements and needs that we must identify and fulfil.

Kyle Cook joins me in this podcast episode to discuss the importance of having soft skills in web development.

View Details

Ash Furrow talks about compassionate software development in today's How To Code Well podcast. Ash Furrow is a speaker, author, volunteer and open source contributor. Ash runs a weekly Peer Lab in New York and is a volunteer at Pursuit (Formally known as Coalition for Queens or C4Q)

View Details

I interviewed Antonio Radovcic about his laptop stickers project called DevLids. http://devlids.com

Antonio Radovcic is a frontend developer at Valtech in Germany and has created DevLids to display stickered laptops from tech/design/science-related fields.

You can see my laptop DevLid here: https://devlids.com/lids/pfwd

Follow DevLids: Twitter: https://twitter.com/devlids Website: http://devlids.com

Submit your laptop image to DevLids: https://devlids.com/#footer

View Details

Todays podcast guest is Kat Zieñ who is a Fincrime engineer at Monzo, a co-organiser at PHP South West and London Gophers. Kat gave a talk on PHP performance optimisation at Sunshine PHP (SunPHP19) in Miami and was kind enough to be on the podcast after her talk.

In this episode Kat talks about being both a PHP and Go developer and ask lots of question about her PHP optimisation talk.

Kat is speaking at PHP UK in a few weeks and she has lots of other speaking engagements booked for this year.

View Details

Legacy code is everywhere and we cannot escape it. Today I'm going to talk about making legacy code acceptable from a developers perspective.

When taking over a legacy project or adding features to an existing application it is important to be aware of the current levels of stability. I do this through a series of acceptance and smoke tests that I can run automatically when the software changes.

This gives me a level of confidence that my changes work and don't break the existing code base.

View Details

Todays podcast guest is Nathaniel Smith from Socially Responsible Recruitment (SR2). Nathaniel is an open source recruiter who specialises in PHP and Javascript recruitment.

Nathaniel discusses the web development trends he sees when recruiting for PHP or JavaScript positions and give advice on how junior developers can improve their chances of getting a job in the web development industry.

View Details

Todays podcast guest is Adam Culp. He is the organiser of Sunshine PHP Conference, South Florida PHP user group (SoFloPHP), Author, Host of Beach Casts tech videos and a PHP consultant at Rogue Wave.

We talk about being a PHP consultant, working on legacy applications and the challenges of older PHP systems.

Adam Culp is an experienced public speaker and has given many talks (300 - 400). He has some great advice to combat nerves and how to give a great talk.

View Details

Today I interview Tom Vorel who has recently had his first week in his first web development job. He is a self taught web developer who studied Javascript, HTML, CSS and other disciplines whilst having another full time job.

In this video Tom talks about how he went from being a self taught developer to being a full time React developer. We talk about his learning journey, the challenges he faced and how he moved into the industry.

Tom's story is very inspirational and encouraging.

View Details

I've got some announcements to make regarding the podcast, conferences and courses!

Interview with Jeremy Onion: https://youtu.be/PGmNM5xArVo Interview with Tom Vorel: COMING SOON Interview with Adam Culp: COMING SOON

If you want to be on the show then please get in touch! Message me in the comments or privately over Twitter.

View Details

PHP 5.6 has reached End Of Life (EOL). There will be many developers who are looking to upgrade to PHP 7 but before the upgrade can be made lots of decisions, testing and adjustments need to be made. At the time of recording the stable version of PHP is 7.3

This is discussion about upgrading PHP from the perspective of a freelance web developer. We talk about the tools needed to upgrade PHP and the best way to go about making the change.

View Details

Here are my predictions for web development in 2019.

1) PWA (Progressive Web Apps) will be as/more popular then AMP (Accelerated Mobile Pages) 2) GraphQL will not replace REST 3) Microsoft will embrace more OSS 4) JavaScript to have another big NPM security issue 5) More vendors supporting serverless 6) More web assembly awesomeness

I explain each of these points and what they mean for web development in 2019

View Details

As a freelance web developer I have created many API layers and API clients and these have been developed in PHP, Javascript and Python.

In this episode I am going to discuss 10 tips and best practices when developing API and API clients. These tips can be applied to any programming language and web system that uses an application programming interface (API). These best practices cover security, documentation and more

View Details

Jeremy Onion is the Technical Director at Torpedo Group. To say that his web development career has been varied would be a massive understatement. Jeremy has worked in e-commerce, the security sector, web hosting, logistics, and more. He has also worked in the UK and abroad.

Before managing web development teams and getting agile methodologies and practices in place , Jeremy worked for many years as a senior PHP developer for multiple companies.

View Details

As web developers we are discouraged from reinventing the wheel, we are told that we must stand on the shoulders of giants and be apart of the open source world. But when should a developer roll their own code instead of using an open source project. This is what we are going to be talking about in this web development discussion.

I am going to draw upon my experience writing my own Wordpress plugins and themes, using open source e-commence projects in Symfony and Laravel and using black box libraries.

View Details

Welcome to update 4.0, a quarterly review of How To Code Well. There are loads of web development announcements and some changes to the video and tutorial schedule.

View Details

Creating a website is no longer a simple and perhaps fun task. Or at least it isn't as fun or easy as it used to be. A developer has to invest time and effort in the environment and tooling that is used, instead of concentrating on the code and the creation process.

A frontend developer needs to learn command line skills in order to install frontend dependencies. Not all frontend developers want to learn backend tools.

View Details

JavaScript has changed, it has grown up and got better over the years. JavaScript is fitter and stronger than it ever has been. So why is your JavaScript over weight and a slob at sending responses to the browser? In todays show I’m going to talk about the various ways you can slim down and speed up your JavaScript.

View Details

There are many types of web developers. Traditionally there are frontend developers, who tend to deal with the client sided components such as JavaScript, CSS, HTML and user journeys. The opposite of a frontend developer is a backend developer, who’s skills focus around server based processes, core computational logic and features that are indirectly accessed by users through a frontend application.

View Details

The technical language and the terminology that we use to explain how a system is built, how a system needs to be altered and how it can be improved is very important in programming. Often we mix up the meaning of restructuring and refactoring and this can lead to confusion.

In this live stream I am going to talk about the differences between refactoring and restructuring a program.

View Details

Let's talk about tools versus techniques when it comes to web development. Should web developers focus more on tools and less on techniques? What kind of tools do we/should we use? What are my favourite programming techniques? How have programming tools evolved and what can we expect in the future?

View Details

Let's talk about feedback loops when coding and developing web systems.

You will find both positive and negative feedback loops in many places in life. When writing a computer program or web system we can use feedback loops to inform us of system behaviour and system performance. We can also gather metrics from user journeys and customer interactions.

View Details

Today we are going to be talking about code quality and how to clean up your code.

This week I have mostly been working on Lambda functions in AWS, setting up more servers and fixing web designs. We are going to talk about all of this and more!

View Details

In todays afternoon live stream I am going to talk about CDN's and moving lots of assets from one server to another Plus I have some announcements to make for upcoming courses and of course I will try and answer web development questions.