Programming and The Art of War

A few days ago on the Discord, there was a question asked about whether you could teach programming through the medium of ‘philosophical text’. An example was how Sun Tzu’s classic, The Art of War, is used to teach business practices.

This got me thinking… Can The Art of War be applied to programming and software development in general… Turns out that, with a little bit of twisting and wild interpretation, that it can! I shared a few on the Discord server, but thought I’d give the idea a more permanent presence here on the blog.

Continue reading “Programming and The Art of War”

Announcing The Inaugural OLC Relay Race 2020

On 20th June 2020, the One Lone Coder community will host its first ever coding relay race.

Edit [14th June 2020]: There have been some minor changes to the way in which teams will be set up.

A relay race, you say?

Yes. Teams of between three and six coders will be given a coding task and an hour each to work towards completing the task. The first team to meet the challenge criteria will be crowned the winners and awarded a special role and colour on the Discord server.

Okay, so how’s this going to work?

Officially register by DMing your interest to @SaladinAkara. Then, on the 20th June, log in to the OLC Discord server for 5pm BST, where teams will be drawn at random. At 5:30pm BST details of the task will be announced. We’ll give you 30 minutes to chat with your team and come up with a plan before the race officially begins at 6pm.

Discord’s live streaming means we can all see the code progress for each team and allow referees to ensure that there’s no cheating.

Each member of the team must code for an hour, before passing their code on to the next member of their team. This will go on until either the task is complete, or the time limit of 6 hours is completed.

Can I join?

Yes! The relay race is open to all, regardless of experience. At One Lone Coder we encourage making code fun, and this is just a new way of doing that. A bit of friendly competition could also help you take your code skills to the next level.

Are there any limitations or restrictions?

In the interest of fairness, all entrants should use the OLC Pixel Game Engine to develop their solution to the challenge.

To help refereeing, all solutions should use a public git repository – this makes life easier not only for sharing code, but for making sure all competitors only use the hour given to them.

Sounds great. Sign me up!

Now you know how it’s going to work, here are the full list of rules:

  1. Teams must be between 3 and six people.
  2. Entrants must be registered by the end of Friday 19th June 2020 by sending a DM to @SaladinAkara on the Discord server.
  3. Teams will be drawn at random an hour before the race begins.
  4. Teams must declare the order of participants 15 minutes before the race starts. Changes to order will only be permitted in exceptional circumstances.
  5. Should a team member need to drop out for IRL reasons, they can be replaced. If a team drops below 3 members they will be disqualified.
  6. The task of the race will be announced 30 minutes before the race officially starts. This gives you time to discuss a plan with your team and set up a git repository for your code.
  7. The active coder must stream their code on Discord
  8. Only the team member whose turn it is may code. Other team members may watch and discuss with each other (including with the currently active member) but should not continue coding additional features in the background. This includes providing code to the currently active member.
  9. Handovers must occur within 5 minutes of the scheduled hour and will be verified by commit timestamps
  10. If all members of a team have completed their hour and the task hasn’t been completed, then they can continue from the first member again, continuing with the order defined before the race.
  11. The first team to complete the task will be the winner.
  12. If no team has completed the task by the 6-hour time limit, the winner will be the team who has completed the most criteria from the task.
  13. The race will be monitored by referees, and their decision is final.

We look foward to seeing you on 20th June!

New PixelGameEngine Extension for Animating 2D Sprites

One of the things I struggled with when using the PixelGameEngine was using animated sprites. It wasn’t immediately obvious how to get it to work, so over the Christmas break I decided to make a concerted effort to figure it all out.

The end result was a brand new extension for Javidx9’s PixelGameEngine. So, I would like to present the olcPGEX_AnimatedSprite with a small tutorial on how to use it.

Continue reading “New PixelGameEngine Extension for Animating 2D Sprites”

Dev Log: Laravel Blogging Platform – Starting Out

Laravel is a great framework that makes web development quick, easy and elegant. I’ve been using it for approximately a year at work and absolutely love it! There are plenty of extremely well-made packages to help extend its functionality from better handling of form request data, to implementations of multi-factor authentication.

But I’ve yet to find a package that adds a blog facility to a website. I’m not a fan of pre-packaged blog/CMS platforms such as WordPress and Drupal, so always prefer to roll my own solution. So, why not use my new-found knowledge and appreciation of Laravel to give something back that I’m passionate about?

Continue reading “Dev Log: Laravel Blogging Platform – Starting Out”