Jordan Bonser
  • Home
  • CV
  • University Work
    • Second Year Work >
      • Top-Down Shooter
    • Third Year Work >
      • Terrain Analysis Project >
        • Terrain Analysis Tool
        • Game Demonstration
      • Post Processing
      • Android Application - Sports Centre
  • Projects
    • Unity Development >
      • Lerpz Tutorial
      • Dare to be Digital Entry - "Lit"
      • Unity Game
    • Geometry Instancing
    • Road to Eldorado
    • Level Editor
    • OpenGL Work
    • JBEngine
  • Blog
  • Tutorials
    • Flask Session Timeout

Development Blog

VSCode Remote Development

25/6/2019

0 Comments

 

Day to Day Workflow Improvements

So I've just listened to the Talk Python Podcast for digging into visual studio code and been really thinking about how useful this could be to me from day to day. I already use vs code for all my python and robot framework development I do at work and home so it's already part of my workflow. 

So the workflow for development at work is this:
  1. Develop on code locally using Eclipse
  2. Push changes to the build server.
  3. build on the build server.
  4. pull down any compiled files to local machine if required.
  5. package up the code on the build server.
  6. push the package to a piece of hardware for testing.

This whole process could be much simplified with points 2) and 4) if I could simply develop on the build server using the vs code remote development tools. Not only 2) and 4) would be much improved but since you can actually use the terminal built into vscode to operate on the filesystem of the remote machine then I could also run the make commands for doing the whole build and packaging process as well.

This seems ridiculously powerful!

WSL may actually be usable

On my home machine I have a separate installation of Linux Mint for doing all my python development on, this is for a couple of reasons:
  1. I prefer developing python on Unix based systems as I have full access to the bash shell and installing python and working with packages is much simpler there.
  2. Not many video games have installs for Linux so it keeps me productive :)
Well this won't help with number 2 but It will certainly help with number 1.

So Windows Subsystem for Linux seemed really good apart from you can't use any Editors with the WSL files... until now!

I would no longer have to work in vi/vim if I wanted to do any python development in WSL, instead I can use the remote development tools of vscode to have the same workflow as I would on a unix based machine. This would make using WSL on windows a possibility for me and save me some much needed space on my SSD as I will only need one OS :)
0 Comments

Node Info Services - Python Async IO and AsyncSSH

13/6/2019

0 Comments

 
A while ago I posted a blog post about a hackathon project I did for work. In this project it required me to run multiple SSH sessions to many machines at once to query the state of the system.

Recently I've been listening to a lot of the Talk Python To Me Podcast, and hearing all about the new async features of Python 3. This got me thinking about this project and how this would be the perfect candidate for some async functionality. Why is this?

Timeouts

So we had a fairly large number of machines that we were wanting to run these SSH Commands on and many of those machines were simply not turned on or currently unavailable for SSH connections. This caused an issue as we simply had to wait for the timeout to occur which was down to about 1 second to ensure we gave enough variance for slow network.

During this 1 second window each of the worked threads were simply waiting there counting down the milliseconds. This was extremely inefficient!

Stateless (Hey it worked out)

So Python introduced the async and await keywords but unfortunately it is likely going to be a while before there are many ORM's that are async capable. This is really handy as I had decided that the API was going to be fairly stateless other than the in memory cache, which means implementing this new approach should be fairly simple.

Approach

So I used Flask for the web framework for the API and there is now a drop in replacement being developed called Quart. This enables the async and await functionality into that same Flask development style that everyone loves with Flask.

​Along with Quart is another python package called asyncSSH which allows the use of async and await for SSH Connections.

So the actual changes required to test out this new approach hopefully shouldn't be too much effort.

The big question is will this actually improve performance?
0 Comments

Hackathon: Node Information Service

24/5/2019

0 Comments

 
At work we occasionally have a Hackathon day where everyone in the lab is able to work on any project they like whether that's just practising some Test Driven Development(TDD) or creating something that could help with your day to day work.

The Idea

So for this Hackathon I got together with Adrian Moldovan and Tom Fletcher to work on a project that would hopefully address a major issue we have at work.

Our problem is that our product has many different platforms and we don't have all the different platforms in each of the teams so we often have to share our hardware. The problem with this is that in juggling the hardware between teams some hardware can often get lost along the way.

The major problems we have are:
  • Finding the a specific platform that you need to test.
  • Finding hardware on a specific code level.
  • Finding hardware that is in a good state for you to borrow.
  • Figuring out which hardware isn't being utilised.
  • Finding out who you should talk to about borrowing a piece of hardware.

Finished Product

node info services
As you can see we have quite a variety of kit on many different levels and this information is invaluable for quickly finding the piece of hardware you require. 

Tech

So let's talk about the tech that has been used for this project. Firstly I've been reading a lot about microservices and was intrigued by this concept of splitting out what would normally be on large application into smaller portions. By no means is this a microservice based architecture for this project as it lacks some of the required infrastructure to be that way.

This project is split into two smaller pieces:
  1. A Python REST API which performs the same ssh command to multiple machines at once and combines the result into a single response.
  2. A React Web Frontend which displays a table of information for multiple machines.

Python Flask REST API

Multithreading

So the basic idea for the project was to run many of the same ssh command to all of the machines and get a point in time capture of all of the state required to solve the above problems. To achieve this we decided to use threads to be able to kick off multiple ssh sessions at once.

I tend to avoid using multi-threading whenever I can because it massively increases complexity but in this situation it seemed like the correct thing to do.

Stateless-ish

So I really liked the idea of the REST API being a really simple worked that simply ran commands on multiple machines and output the result.

I decided that we should try and keep this fairly stateless and so the only real state that the API has is a simple in memory cache which wouldn't even be necessary if it wasn't for the sheer number of machines that we are trying to perform the commands on.

The caching itself is only held for 15 minutes for each machine to ensure the data isn't too stale.

React Frontend

So this portion of the project is where all the shiny things happen, without this the user would need to be able to easily read and interpret JSON data which is not a skill many people have.

Search and Filter

For ease of use we added a search functionality along with some filter buttons which will allow the user to quickly narrow down the choice that they are after. There is also a refresh functionality which will call to the API and tell it to do a full refresh not including cached data. This is mostly for people who really need the most up to date information.

Infrastructure

Docker

For this project we really wanted to try out using Docker as we wanted to be able to deploy these two applications as simply as possible. After all this was a Hackathon and so it is a perfect opportunity to try and harness new skills.

Both projects were there own separate containers and the frontend simply needed an argument on run which passed in the address for the API.

Lessons Learned

I think the project went really well and everyone we presented it to was really impressed and wanted to see what else we could get out of it.

Architecture

I think the biggest things I learnt were to do with application architecture specifically how this style of application level separation of concerns allows for extendable and reusable functionality. The API itself can be used by any frontend client. If React is no longer the flavour of the month then a new frontend could be made, or if someone wanted this functionality on mobile then they could still simply call the same API.

Containerisation

This whole idea of containerisation I now see if incredibly powerful, it is much easier developing on the same platform that you are deploying to and also this ability to deploy anywhere that has just the one dependency of being able to run Docker is so useful. 

I will definitely be doing a lot more with Docker in future.

Improvements

There are always improvements that can be made, specific ones I would like to look into are:
  • Support for the OpenAPI /Swagger API Specification.
  • Adding Docker Compose support for deploying both of the Containers together.
0 Comments

Moving the Home Office around and Getting Organised

16/8/2018

0 Comments

 
So I've decided to move my home office around, mostly so I could fit in my new whiteboard. There was some deconstructing of a wardrobe and some drives to the tip but that's all done with now and I'm pretty happy with the result.
Picture
It's not all that exciting really but it has been a positive move for me, as it's been one of a few things I've been doing to try and get myself more organised. I love whiteboarding so having one of a decent size at home is going to allow me to think about architecture and design a lot easier on my home projects.

The New Journal

So a while ago I came across the Self Journal by Best Self Co and thought it was a really great idea. At the time I didn't think that I really needed everything from it though so I decided to roll my own with similar sections but I would write the template out myself for each day/week. This worked for a little while but I got bored of spending so much time simply writing out the template for the day before even getting the planning part, so I soon dropped it.

Recently I've decided that I need to get more organised again and then I recalled how effective I was being when I was using my journal. So I've decided to give it another go, except this time I've gone full force and had my templates all printed out and bound together into a fairly professional looking journal. By no means does it rival the quality of the self journal but at least it won't get torn or damaged from being carried about in my laptop bag.

Progress so far...

So I've been using the journal for a 3/4 days now and I'm actually stunned out how effective it's been. I've started a project which is my "13 week Goal" for the Journal and It's going so much better than other projects that I've started in the past.

Not only have I been working on development at home more I have also been getting more done at work, doing general chores, DIY and even looking after my health.

Needless to say so far it's all going well, I just hope that I can keep it up.

Cheers :)
0 Comments

If only I had more time...

1/3/2018

0 Comments

 
As always, when I wrote my last post I was lucky enough to have plenty of time on my hands. Recently however work has been some what manic trying to ensure that our team meets the delivery date for our new feature, which has had a knock on effect with my own projects.

I'm hoping to get back into this CMake work and really revive the JBEngine project but until work lets up I don't think that's going to happen. I'm simply writing this post to try and keep this all at the forefront of my brain. I really don't want my motivation to slip on this again!

​Thanks
0 Comments

Scrum Master: Learning to Multi-Task

14/6/2017

0 Comments

 
The project I am scrum master for has recently begun the majority of its testing. Although it would have been much better to perform the testing as part of each of the stories, our project had two dependencies for the input into our functionality meaning we opted mostly for unit testing as verification of our stories. Due to this the majority of the functional testing is being performed at the end of the development cycle, meaning it has actually been more of a traditional waterfall development cycle. This has brought me some interesting problems to solve.

Testing

​Waterfall Testing Process​

Before we adopted a more agile approach to the development lifecycle the developers would implement all the functionality and then a "Tester" would be brought in at towards the end to analyse the design documents and create a "Test Plan" for the functionality. They would be then be the "Test Lead" for that plan. The Test Lead would allocate all the testing resources, follow up on defects found and ensure the development team is aware of them.

Testing Process for Our Project

Like I was saying earlier, our project is doing a more waterfall method of testing, the main difference is that we don't have a test lead to create the test plan or track defects or check in with how the testing is going. This is the reason I'm struggling to juggle development responsibilities with Scrum Master and essentially Test Lead responsibilities as well.

How I'm Tackling It

There are a number of things I'm doing to try and manage my time better, they are:
  • ​Timebox Tasks
  • Use a Daily To Do List
  • Track Non Development Tasks as Work Items

Timeboxing

So I sought out some advice from my manager and he told me that I should try and timebox tasks. By doing that none of my responsibilities start lacking in favour of any other. This is difficult for me as I always favour development tasks as it feels like I'm actually "getting stuff done".

Daily To Do List

I decided to create a "Daily To Do List" this involves my Scrum Master and Test Lead jobs i.e.:
  • ​Check for any new Defects
  • Check Completed Tests from previous day
  • Alter Test Schedule based on blocking defects or Tests that were not run from the previous day
By doing this it gives me a clear goal for each of the items reducing the chance that I will forget to do something. On any one day I have to have at least done my daily to do list for me to be happy with that days work.

Non-Dev Task Tracking

0 Comments

Work Hackathon: 30th June

12/7/2016

0 Comments

 
At work I recently helped organise a Hackathon for the Manchester IBM Lab. I wanted to take some time and do a retrospective of the projects that my team worked on. Our team consisted of Toby Fleming, Manuel Cantu Reinhard and myself. We ended up doing two projects, one which was more of an electronics project and the other which was a software development project. 

GDI (Graphical DNS/DHCP Interface)

Our team created a web application to allow IBMers to add hardware to the lab infrastructure with DNS/DHCP configuration. Prior to the Hackathon a lot of preliminary work was put in to create a git repo, with a Vagrant/VirtualBox VM and Ansible provisioning to setup the development environment. This allowed our team to get straight to work on the application which would have been unachievable without this preliminary setup. The application itself was a Flask Python application. The front end had Flat UI/Bootstrap CSS with some LESS alterations to adjust the look and feel. We also used Javascript to allow some dynamic content addition to the forms.

This project isn't quite as exciting from a visual point of view as our second project, so I will just get on to talking about that.

DaaS (Doughnuts-as-a-Service)

We have a doughnut rota at our office that means every Friday whoever is down for that week has to go and buy some Krispy-Kreme doughnuts for the lab. The steps to do this are:
  1. Go and buy the Doughnuts.
  2. Bring the Doughnuts to the kitchen.
  3. Send out an e-mail to let everyone know that they have arrived.
We thought we could do better than this so we came up with DaaS!

We first came up with the idea that when any sugary treat is delivered to the kitchen there should be a way to instantly let everyone know that they have arrived. Nobody wants to be waiting an extra ten minutes for someone to get to their desk and compose an e-mail to be informed of doughnut arrival.

Getting Started....

We set off to work hooking up the raspberry pi with the flick switch and "Big red button" that we had ordered. At various points through the day we stopped to discuss design decisions and any problems with a whiteboard session.
Whiteboard Session
state machine, sql statements and generator expressions
Picture
Toby and Manuel hard at work
After hooking up the electronics and doing some simple tests we started working on the implementation. We used a simple python GPIO library for interfacing with the flick switch and button.

The Final Product

Picture
So here is what it looks like fully working with the switch activated(obviously the Pi goes inside the box). I'm actually really proud of this as it was a pretty cool project to work on.

Thanks.
0 Comments

2015 Post-Mortem and What's Next...

7/1/2016

0 Comments

 
Whilst trawling the gamedev.net developer journals for inspiration, I stumbled across a post that someone had done as a reflection of what he had achieved from the previous year and what his plan was for 2016. I thought this was an amazing idea so I'm going to do it myself. Hopefully this should give me some motivation to finish things off and also some direction with what I want to learn next. So here goes...

2015: Looking Back

​Game Project

Just looking back at my posts from last January I was at that point still developing the in's and out's of my Entity Component System. I had only just implemented Awesomium and was still working on my "Level Editor" for this amazing game I was one day going to make. If I could have given myself some advice It would have been to give up on the Level Editor and the ECS and condense my project down massively. Unfortunately I had to learn the hard way!

I managed to get the ECS working in the end and I am fairly happy with the implementation as it uses some complex patterns (CRTP, Observer) to achieve what it does. Also I learnt a lot about using templates in C++.  

The Level Editor and the original game idea I scrapped although that wasn't until June when I decided to get a fresh project and integrate the new ECS into it. I suppose I can put this down to a learning exercise.

It was August 8th when I decided to create a "Space Invaders Remake" using the new baseline JBEngine and ECS. Since then this project had come a long way and is now approaching the finishing up and polish stage. I am really impressed with the work I have done on this. Whilst working on this game I have had to re-work/refactor a lot of the physics code in JBEngine, which is something that can now be reused in future projects. 

Career and Development

I have come a very long way in terms of my career since the beginning of last year! I had just started out at Inspired Gaming and although I knew I had lot's of knowledge about programming, I still felt as though I was a junior developer. ​

Inspired Gaming​

I went through a big change in terms of adapting to a new codebase after being so used to working with Arden's monster of a codebase. Learning an application's flow and the architecture is something that only comes through practice, and working at Inspired gave me that. Some of the key skills I will take away from Inspired are:
  • Proficiency with Visual Studio
  • Better Multi-Threading Knowledge
  • Visualising Program Architecture
  • Working on a single project through Requirements/Design/Implementation/Test and Deployment
  • Working closely with Project Managers/StakeHolder and Testers.
  • Time Management​

Along with the technical skills I have developed much more socially, being able to join a new team and integrate quickly. Joining a new company is difficult but as long as you put in that extra effort at the start to socialise, it makes your job and your life much more enjoyable. I have made some great friends at Inspired and will hopefully be seeing them soon in 2016.

IBM

In June of this year I left Inspired Gaming and joined IBM. At the time I was very fearful of this decision as the role was to work as C Developer rather than C++ which I had been doing in my previous jobs. To me this felt like a step back in terms of gathering skills but I also have always wanted to work for one of the Big Blue's so I went for it. I think having one of the industry giants such as IBM on my CV couldn't hurt either.

Whilst working at IBM I have actually only done a small amount C development. Instead I pushed for the opportunity to work on a newly starting project which has required me to use python.

I have learnt a lot since being at IBM specifically more about hardware, networking, storage and virtualisation. A lot of the things I have learnt is how much of a nuisance it can be working for a massive corporation. Having company wide decisions pushed on you when it is not the correct decision for your situation. Here is a list of the technical skills I have learned since being at IBM: 
  • Learning to various Linux distributions
  • ssh'ing onto various machines and having to perform tasks using the command-line only
  • Using Eclipse
  • RTC (Rational Team Concert)
  • python, with Flask, SQLAlchemy and virtual env
  • Using Virtual Machines
  • Connecting Hardware/Server Room knowledge
  • People Management/Project Management skills
  • Program Design

The list could go on and on! The main piece of work that I have worked on at IBM I have been the lead developer on. This has required me to create a design document, providing a solution that we will then implement. I have also had to give direction to and collaborate with a team of 3-6 other developers to allow them to accomplish what is in the design.

I have once again had to integrate myself into another team, this one being now up to 80 people. This has been fairly easy as the work environment at the IBM Manchester Lab is really friendly. I have already made some great friends and feel as though I am now an integral part of the team.

​Social Life

In terms of my living arrangements I have moved flat and I am going to be moving again shortly. I moved from Manchester's Northern Quarter in February of 2015 to a flat just off Deansgate Locks. This has given me the opportunity to see more of the city. Some great bars for the summer like Duke's 92, Rain Bar, Atlas bar and many amazing restaurants.

​For the past year I have been in a relationship with Megan (Megatron). We have had some amazing experiences together already! Going for long weekend breaks to Chester, Grasmere, Windermere. A great holiday in Portugal, going to see Wicked! and a lot of hilarious nights out. I can't wait for the adventures we will be having next year!

In terms of my fitness, whilst being at IBM I've managed to maintain my enthusiasm for going to the gym, and playing squash. I now enjoy playing Table Tennis almost every day at work and playing Football on Monday nights.

Conclusion

So all in all this year has been an amazing one for my career, social life, projects and personal development. I realise this post is now pretty long so I think I will leave the "What's Next" part to be a separate post.

Happy New Year :)
0 Comments

Python,Flask, SQLAlchemy and virtualenv

13/8/2015

0 Comments

 
I just wanted to put a quick post up about some prototyping I am doing at work. I have been given the task of creating a dummy web application which has taken me into a realm I am not familiar with at all so I thought I would talk about it a little. 

I basically had total control over what technology I used for this application and someone suggested to use Perl as people had used it for other application we have. I really didn't want to use Perl and there is a couple of reasons for this:
  1. If I have to learn a new language I would rather it be one that I like the look of
  2. I would rather learn one that is becoming more popular rather than one that is dying off.
  3. There are a few people in work that are willing to help with this little prototype and they have more expertise with python.
  4. Python has SQLAlchemy which supports both database types we will need to use.


I will now talk a little bit about the other choices I have made in terms of tech: 
I've decided to use Flask as it is a lightweight web framework which will allow me to do exactly what I need. This web application isn't complex so I didn't really want something large and all encompassing.

As the Web application has to use DB's I've decided to use SQLAlchemy as it seems fairly popular, has support for MySQL(The Test DB I am using for this) but also support for DB2(What we will likely deploy it on). 

Finally virtualenv. This is something I've never used before but it seems like it is going to be really useful as deployment to other machines can be done without worry as It won't matter about them having the correct python version or flask version installed. 

All in all it's been great, I've had to learn a lot so far and I'm finally getting the hang of how it all fits together. I've been lucky enough to have another application to use for guidance through this development and so I should have it up and running in no time.
0 Comments

Work, New Computer and OS Setups

20/7/2015

0 Comments

 
So I haven't done any dev for a week or so, this is a combination of being putting a lot of time into work at the moment and also because I've just got a new computer.

I initially was in more of a test role at work but after a bit of pushing and a little bit of extra hard work I've managed to get myself as part of the dev team on one of the new projects which is great. I have had to learn a lot more over the past week or so to do with IBM's specific development tools and about their processes.

I am currently at the design phase of a new project and it is great as I'm getting to be involved with the meetings with system architects and getting to add sections to the main design document. At the moment there is a lot of prototyping and trying out various methods and tools to see what could work so it is all very fluid and quite fun.

Home Desktop

At home I've just put together my new computer which ended up taking a while as I didn't realise that I would need a fresh install of Windows 7 (as the drivers would be different in the new mobo) and forgot to create a boot disc before ripping the thing apart.

Anyway after doing a fresh install I have now got to reinstall most of my development tools and do a load of windows updates, and basically get everything back to how it was. sigh.....

The positive is that it is really quick! And it will be even quicker once I've bought a new GFX card.

As another point, with spending so much time on Linux at work I have decided to use my other hard drive for a Ubuntu Install. I am hoping to one day get the JBEngine up and running on Linux, It is quite a long way off but I've used all cross platform libraries so far so the work shouldn't be too difficult.

Anyway going forward I basically need to get Visual Studio installed and then start looking at getting this ECS put into the engine as it's really starting to bug me.

Cheers :)
0 Comments

My Birthday and becoming an IBMer (Sounds so cheesy)

22/6/2015

0 Comments

 
I'm now about two weeks into my new job and all seems to be going well. Everyone there is much more friendly than I had first thought they would be. I had this image of everyone being a corporate drone and wanting to just get there work done and go home but luckily this isn't the case.

Training

Over the past few weeks I have been doing a lot of training as I really had no real clue about using Linux or even the products that IBM create there. It is all very much all the things I have stayed away from in the past: Networking and hardware. I have really come to grips with it now and I see how it is such a massive industry. At the end of the day even a small business ends up needing to think about some Networking/Storage Solution.

My Birthday

It was my Birthday on Thursday and I was spoilt rotten as always :)

Turning 24 isn't that special though, I was hoping I could be 21 forever but that didn't seem to pan out. Anyway on the Friday my girlfriend Meg treated me to a relaxing night away in Liverpool. We stayed at the amazing Titanic Hotel and we had a great night. The hotel was huge! It is where the Titanic used to dock and they have transformed into this amazing hotel whilst still keeping a lot of the industrial features. We both had such an amazing time there and spent a lot of time relaxing in the spa as you can see from the photo's.
Picture
Picture
Picture
Anyway that sort of sums up what I've been up to. Okay so there wasn't much talk of actual development but this is the first step towards getting some done. I had my desktop unplugged and out the way for a while but I've got it setup now and I'm hoping this post will spark off some motivation. 

My only worry is that because I didn't implement the new ECS system into my engine when I had my head in the code it might now take me a while longer to get it done.

Take it easy :)
0 Comments

Unity Development, Job Update and Linux

2/6/2015

0 Comments

 
Wow it's been a while since I did a blog post. I've really let it slide for quite a while recently and basically it's because I've not been doing any real dev work outside of work. This is a bit annoying but there are a few reasons for this. 

Unity Development

So last post I was talking about the game I was wanting to develop with a couple of other people. I have pretty much given up on this, there were some differences in how the project should be progressed and motivation for it dropped. I have never really had any trouble keeping motivation high for my own projects so that was an indicator for me that it wasn't working. 

I am going to start back up on my JBEngine project which is great as that is really where my interests lie. I may not have as polished a game as I could using a commercial engine but I think a lot of the satisfaction will come from the fact that I've built it all myself. 

That brings me to something else I have been thinking about. I'm going to really reign in the scope of my JBEngine project and try and create a 3D version of a classic arcade game. This will allow me to create a finished game hopefully and then I can polish and have a product that I can actually say I've completed. 

New Job: IBM

I've just got myself a new job as a Software Developer at the IBM Manchester Lab. I'm pretty damn excited about it and will hopefully be a massive career boost for me. The only thing I'm really nervous about is that they use Linux which I have never used before. This past week I have been getting myself up and running getting used to using Linux for development in preparation for starting on Monday. 

I will be fairly sad to leave Inspired Gaming as it was a really fun job and I got along well with everyone there. I've learnt a lot from the people there, and had much more experience working closely with a tester and project manager than I did at Arden. 

My new job will hopefully bring a lot more experience with it being such a different area to what I'm currently used to. 

I hope to back up and running with regular dev updates soon.

Cheers :) 
0 Comments

New Job: Inspired Gaming and getting back on track...

12/1/2015

0 Comments

 
Over the past couple of months there has been quite a lot going on in my life, namely moving to Manchester City Centre and then more recently getting a new job. Unfortunately with everything going on something had to give, and that ended up being my project development. 

Now I am a little more settled I am hoping to start back up again and with extra experience I have gained since starting my new job. So far I have really enjoyed working at Inspired, I am finally able to use Visual Studio again for my day to day work which is a massive plus! 

In terms of the work I am doing at Inspired I'm not sure I am allowed to divulge exactly what it is, but It is all exciting stuff and I'm really looking forward to the direction that the company is heading. 

Back to work: Awesomium continuation...

Okay so I need to re-motivate myself and what better way to do it that with a little refactoring. I have given myself a couple of hours tonight to crack on with getting the awesomium code into it's own library and creating an abstract way of creating User Interfaces.

Currently the Awesomium code is all dumped in the Level Editor project, which means I can't even use this stuff within the game at the moment. The Awesomium code makes use of the Texture and GUI Classes which I am thinking I would like to change. I will keep the old method of creating a GUI but I am now going to have an Interface IGUIManager which I will then derive a new manager for dealing just with the Awesomium GUI.

The main reasons for this is because the other GUI Manager has lots of features which are just not necessary for the Awesomium stuff and it will just bulk up the source code. I am hoping to get rid of the old GUI code all together once I clarify that the Awesomium code does everything I need.

So there is the plan, wish me good luck :)


0 Comments

New Job and Leaving Arden

20/11/2014

0 Comments

 
Recently I have been offered a new software development job in the middle of the city centre. This is going to be a great opportunity for me, gaining a lot more experience working with a new team and gaining new skills. 

As exciting as it all is I am still sad to leave Arden. I've got some great mates from working there over the past two years and owe them all a lot for all the help and guidance that has turned me into the developer I am today. I have some great memories from working here and will definitely be keeping in touch with a lot of my colleagues. 

Job Handover 

As I am leaving I have had to start handing over different projects that I have been in charge of, which is something I have not really had to do before. Ensuring all the documentation, test files and source code is checked in and that the other person knows exactly where to get this information. 

Along with doing the handovers I have also had to wrap up the few development events that I have outstanding. I have had to organise my time to ensure that everything will get done before I leave and I have learnt a fair bit from that alone. 
As a lasting note I would like to thank everyone at Arden Software for the past two years, I would especially like to thank Chris Hills for being a great development lead and friend.

I will write another post once I have started my new job in about two weeks or so and talk about some of the things I learn along the way. 

Onwards and upwards :)
0 Comments

    Archives

    May 2020
    April 2020
    January 2020
    November 2019
    October 2019
    September 2019
    July 2019
    June 2019
    May 2019
    April 2019
    March 2019
    February 2019
    August 2018
    July 2018
    June 2018
    March 2018
    January 2018
    June 2017
    February 2017
    September 2016
    August 2016
    July 2016
    June 2016
    May 2016
    February 2016
    January 2016
    December 2015
    November 2015
    September 2015
    August 2015
    July 2015
    June 2015
    March 2015
    January 2015
    November 2014
    October 2014
    September 2014
    August 2014
    July 2014
    June 2014
    May 2014
    February 2014
    January 2014
    December 2013
    November 2013
    October 2013
    July 2013
    June 2013
    May 2013
    April 2013
    March 2013
    February 2013
    January 2013
    December 2012
    October 2012
    September 2012
    August 2012
    July 2012
    June 2012
    May 2012

    Categories

    All
    2D
    3rd Year Project
    Agile
    Android
    Angular
    Animation
    API
    Apple
    Apps
    Arden
    Async
    Awesomium
    C#
    CI/CD
    Clean Code
    CMake
    Cocos2d-x
    Colour Match
    Compilers
    Cross Compiling
    Cross-Compiling
    Databases
    Design
    Development Tools
    Docker
    Electronics
    Examples
    Flask
    Flask-Login
    Fmod
    Game Development
    Godot
    GUI
    Hackathon
    Hacktoberfest
    Hardware
    Home Life
    IBM
    Inspired Gaming
    Instancing
    Ios
    Javascript
    Jbengine
    Kata
    Level Editor
    Linux
    Microsoft
    Mobile Development
    Monogame
    Moodster
    Motivation
    Networking
    Objective C
    Opengl
    Open Source
    Organisation
    Physics
    Physx
    Pi
    Planning
    Post Mortem
    PyGame
    Python
    Quart
    Quasar
    RakNet
    React
    Road To Eldoarado
    Scripting
    Scrum Master
    Sessions
    Session Timeout
    Social
    Sound
    Space Invaders
    Squash Game
    Squash Game
    Streaming
    TDD
    Team Leading
    Test
    Test Driven Development
    Travis
    Unity
    Unity Development
    VSCode
    Vulkan
    Web Applications
    Worklife
    WSL
    XML
    XNA / C#

    RSS Feed

Powered by Create your own unique website with customizable templates.
  • Home
  • CV
  • University Work
    • Second Year Work >
      • Top-Down Shooter
    • Third Year Work >
      • Terrain Analysis Project >
        • Terrain Analysis Tool
        • Game Demonstration
      • Post Processing
      • Android Application - Sports Centre
  • Projects
    • Unity Development >
      • Lerpz Tutorial
      • Dare to be Digital Entry - "Lit"
      • Unity Game
    • Geometry Instancing
    • Road to Eldorado
    • Level Editor
    • OpenGL Work
    • JBEngine
  • Blog
  • Tutorials
    • Flask Session Timeout