September 2018

Client work

I finished the work I have been doing for the helpline module and handed the work over to the client.

The client is happy with the work I did so all is good from that perspective.

Since that time I decided to have a couple of weeks off work whilst I wait for the next project from a different client.

I was suppose to be moving onto quite a large project but the new client has not got the go ahead for the large project yet so the new client has provided me with some smaller work whilst I wait.

Losing weight

As part of my couple of week holiday I fell a bit behind on my exercise and diet and managed to put on a couple of pounds.

These activities have now been resumed and I hope to shave some more weight off very soon.

Jodrell Bank Observatory

As part of my effort to get out and about more I decided to visit the Jodrell Bank Observatory located in Lower Withington, Cheshire, United Kingdom.

The observatory houses a number of radio telescopes with the main telescope being the Lovell Telescope which is the third largest steerable radio telescope in the world.

Mid August 2018

Client work

Carrying on with helpline module I have been doing lots of refactoring for the up and coming handover of the project.

Also I have been creating update actions for both case notes and case alerts.

A user can click on the edit pencil icon next to case note or alert, an edit form appears at the bottom of the alerts or notes and the screen scrolls to the edit form.

When the user has finished editing the alert or note the screen scrolls back to the alert or note.

I have done a major refactoring of the case merge section to now use a special case merge model which handles the validating and saving of the case merge action.

This has reduced the number of lines in the case merge controller significantly.

I have currently got another project with a different client in the pipeline so I will be starting that in the near future.

Losing weight

I have now lost a total of 2 stone since starting my weight loss program.

For those who do not know I have done this by exercising on my treadmill at least 4 days a week for 1 hour. I do not run on my treadmill but walk at a moderate pace.

As well as this I try to stick to around 100 – 120 carbs per day. I have some “off” days maybe once or twice per week but I generally stick with it.

I notice that by having a lower carb diet the diet naturally becomes lower in calories except that it is made up of foods that actually keep you fuller for longer. So the lower carb diet has been a win all round.

August 2018

Client work

Refactoring, refactoring and more refactoring. Continuing on with the client work I have been doing quite a bit of refactoring lately for the helpline case module.

I have been making sure all the code is commented, all the function parameters are type hinted and have return types as well making some of the functions more streamlined and have less lines of code.

One particular function I have refactored was quite large due to the nature of what the function was designed to do.

The function was a huge form designed which works with 4 database tables and is used to merge 2 helpline cases together into 1 new helpline case.

The function also shows and works with different database tables and shows or hides certain fields depending on the type of helpline case as the helpline case can have a number of different types.

I streamlined the code to half the number of lines of code the function contained.

Other than this I have been working on the update button on the helpline case datagrid.

When a case is locked I have implemented access rules to stop the case being accessed by any other user other than the owner of the locked case.

It only made sense that when a helpline case is locked that the update button needs to greyed out and become un-clickable to all users that do not have access to the case.

So I have implemented this functionality and used ajax so that the button updates in real time.

I have also recently started implementing the case alerts.

Alerts are messages that can be given a date range, when a user enters a case if there are any alerts for that case the user will be informed and can view the alerts.

Garden furniture

It has been hot recently. So to sit outside and enjoy a cup of tea I decided to buy some garden furniture …

I actually bought 4 chairs and a table from B&Q costing a total of £85.

Cleaned car show photo

Hand cleaned my new car this month …

Updates to Toolkit

I have updated my personal business management system I call Toolkit.

I have built a new set of reports on the project level and a new set of reports on the client level.

The reports show a break of time and earnings over various periods of time.

PHPStorm

I have continued using PHPStorm and I am liking it the more I use it which is strange for me as I use to prefer the smaller text editors with less functionality than a full blown IDE.

However some of the features really come in handy such as the ability to automatically generate “use” statements, generation of code comments, code completion, code structure viewer and error reporting.

That just about sums up what I have been doing the last couple of weeks.

Mid July 2018

Client work

This past couple of weeks I have been carrying on work for the medical helpline web based software module.

The system now has “Advanced Case Search” and “Merge Cases” functionality.

The “Advanced Case Search” allows a user to search existing cases in detail.

The “Merge Cases” functionality allows the user to merge together two existing cases, picking and choosing the information the user wants from each case to create a new case from the existing cases.

I have been really going to town on this module in terms of the subtle but nice features that make the software easy to use.

One of these features is the “search before create” functionality.

Originally a user would access the case screen which lists all the cases and click “Create” to create a new case.

However as this part of the system will need to be used by support staff who are answering support calls more functionality for this part of the system was needed.

Now when a support user clicks “Create” to create a new case, the user is given a text field to enter the callers name.

After this the existing cases the caller is already potentially a part of is displayed to the support user from which the support user can then use to select an existing case or create a new case.

If the support user creates a new case at this point the support user is then presented with the case create form with the callers name fields already filled in.

If the support user updates a case at this point the support user is then presented with the case update form with the callers existing details already filled in.

This is an improvement from the original separate create case / search case areas that where the support users only option originally.

Now the system has a “case search and create” all built into the same area to make the process quicker for the support user.

Another feature I have enhanced is the “case note” creation form.

On the case note creation form there is a section where the support user can fill out the duration, call received time and call returned time …

medical-duration

I used the Kartik TimePicker plugin for the time-picker input fields …

https://github.com/kartik-v/yii2-widget-timepicker

Originally I thought I could get rid of the duration field as that can be calculated automatically based on the call received time and call returned time.

However the client wants the flexibility of having the duration field there as well so they have option of typing in a duration in minutes or setting the call received time and call returned time.

I built a solution for this that would allow the client to have both.

When the duration is altered it modifies the call returned time in relation to the duration.

When the call received time or call returned time is altered it modifies the duration to match the minutes between the call received time and call returned time.

As well as the above areas I have implemented case lock functionality which allows a user to take ownership of a case which means no other user can edit that case until the owner user clicks save.

Bolsover castle

One of my new goals has been to get out and about more. There is nothing worse than being stuck in week after week so I have started to put some effort into making sure I go out and do something at the weekend.

Recently I have visited Bolsover Castle. Bolsover Castle is a 17th century castle built on the site of a 12th century medieval castle.

Bolsover is not a military style castle but is more of the stately home built in a similar form to a castle.

Some photos from my day out at Bolsover Castle can be seen below …

New car

My Dad bought a new car which gave me the opportunity to purchase his old car of him …

new-car

The car is a Renault Clio Mark 4 with alloy wheels, sat nav, cruise control, IPod music player and a diesel engine.

This is the first car I have had which actually seems like a proper car. All the other cars I had before this seemed old because they where old.

My last car had a tape player and no air conditioning which is strange because the car I had before that had a CD player and air conditioning even though it was an older car.

Feels good to have the air conditioning on in this weather as well as the music playing. This car has a much more stylish interior than any other car I have had to date as well.

Losing weight

I have bought up the weight loss a couple of times in the past but this time I am really going for it.

I have modified my diet and I am have made an effort to do more exercise and stick to it. I have lost just over one and half stone so far.

So that concludes what I have been up to the last couple of weeks.

July 2018

Client work

I have recently been working on a new module for a medical web software system.

The new module serves the purpose of collecting information for a medical support helpline.

Essentially people can ring the medical helpline and the support staff at the other end of the phone can use the system to enter various details.

Details about the caller, medical patient, details about the illness and about the call can all be stored within the system.

So far I have been implementing a massive form which has loads of input fields as well as a case notes section.

The module has been built on the Yii 2 framework which is what the rest of the system is built in.

The Yii 2 framework is a framework built using the PHP programming language.

The form has an associated grid which lists all the current cases or records. The grid is searchable and sortable.

The database for the module was created using the Yii 2 migrations and SQL.

Migrations are a library within the framework which allow you to write code to generate the database.

Migrations can be rolled forwards and backwards so allow a way of versioning the database.

The case notes section includes an Ajax form along with a good looking styled list view.

At its most basic Ajax is a way of communicating with the server from the browser in the background using Javascript.

Which means from a user standpoint the page does not need to reload when adding new case notes.

PHPStorm IDE

For this project I have actually been using a new program called PHPStorm …

https://www.jetbrains.com/phpstorm

I needed to use this as part of the project as PHPStorm was part of the clients requirements as the client also uses PHPStorm.

PHPStorm has a lot more features than the text editor program I was using before because PHPStorm is an IDE and not a text editor.

IDE mean Integrated Development Environment.

PHPStorm takes some getting use to as one would expect but by the looks of things PHPStorm will be worth it the more I learn about it.

I like the way PHPStorm provides information about areas of the code such as class / function definitions.

I also like the way PHPStorm provides the class structure of the project.

There is a lot more to PHPStorm than this though.

The text editor I was using before was called TextMate …

https://macromates.com

I really like TextMate and I will most likely still use TextMate for some of my personal projects.

Although TextMate has a lot less features the feel of it is more slicker and less clunky than PHPStorm.

Also as one would expect due to its smaller feature set.

Toolkit new report feature

I have added a new report to my custom built business management system named Toolkit.

I built the system a while ago to collect information on various areas of my business.

I have added a new report to the system which shows me how many hours I have spent on a particular project and the cost of the project so far.

The cost is calculated by multiplying the number of hours by the project rate or rates.

I already had many reports in this Toolkit system but this has been needed for a while now.

It makes it easier when I can just click on a project and see how many hours I have spent on the project and how much money the project has been billed for so far.

So that concludes the work I have been doing recently.