Why Would You Do This!?

The Penny’s Dropped

A few years ago, I kept seeing weird code in reputable projects. It didn’t make sense.

if (7 == $day) {
// do nothing
}

Any normal person would have written this:

if ($day == 7) {
// do nothing
}

They mean the same thing but the latter is more readable.

But it’s also frightening similar to:

if ($day = 7) {
// do nothing
}

But day was 3 and we’ve just set it to 7 and no one’s turned up for work.  (Yes text editors might flag up this inadvertent bug with pretty colours), but they might not.

It’s a very difficult bug to detect as it’s consequences can go unnoticed for ages.

However, doing this reveals the bug instantly:

if (7 = $day) {
// do nothing
}

This is called Defensive Programming. A good habit to get into, but expect the time saved in bug detection to be allocated to discussing why you’re writing weird code to inquisitive inexperienced colleagues.

Short Part of IF at the Top

Another scenario is having the shorter, less important part of an if(){} statement at the top:

if (false ) {
// quit
} else {
// do this
// do that
// do this
// do that
// do this
// do that
// do this
// do that
}

This ensures the shorter condition doesn’t get forgotten about. A text editor with code collapsing helps, but when using VIM or Nano it’s not always an option.

Hello from Bournemouth.

Laravel PHP Freelancers Bournemouth

Laravel PHP Freelancer Bournemouth

Whether you’re another web agency, co Laravel freelancer or end client needing Laravel skills, we would be interested in helping you with your Laravel project.

We diligently start off the day watching Laracasts before pressing on with Laravel PHP development.

We use Forge with Digital Ocean for the production server, and Homestead for the local development server(s).

14 Years PHP Developer Experience

That’s a long time we’ve been writing PHP! PHP frameworks didn’t exist then. Back in the day, we had to write everything from scratch – from CMS, shopping baskets and forums.

We learned at University that there’s no such thing as a job for life – well PHP isn’t going anywhere for another 14 years so it really is a job for life.

One consideration, PHP is ever changing, as well as all the tools, frameworks and frontend stuff that go with it.

Endless learning.

How to Chose a PHP Developer

Ensure they know Object Oriented (OO) PHP, have at least 5 years commercial experience, and are fluent in Laravel, Zend Framework 2, Phalcon or other modern MVC PHP frameworks.

They need to have worked on at least 5 big PHP projects before getting a real understanding of how to organise and manage code.  Even better, ensure the PHP freelance developer has started projects from scratch.  It’s easy to dive into an existing PHP project, with colleagues to help with questions, but a PHP programmer who has single handedly created massive projects alone, and from scratch, has invaluable experience.  Obviously they’d need to have collaborated too!

Get the balance and the skills right. For Web App Development, choose Ringwood Internet, near Bournemouth.

WordPress “Web Developers”

There are hundreds of WordPress web designers in Bournemouth who don’t know any fundamentals of web design or HTML.  They just click ‘install WordPress’ from their £30 per month Reseller hosting panel. Add a funky theme, a few plugins and job done.  A professional website …

This week, we took on a new client with WordPress site.  It had a number of plugins including an SEO plugin. Great. All set up nicely.

Pity the WordPress web designers didn’t untick the box which says “Discourage search engines from indexing this site”.

In the background this places a <meta> tag on each page telling search engines, ie, Google, not to index this page.

That means that despite all the SEO configuration, the site is not listed on Google. Did the WordPress web designers notice or even understand … ?

Always use Software Engineers to build your website.

(Your digital camera makes you professional photographer)

Zend’s Dead Baby, Zend’s Dead

In our world anyway.

We tried Zend Framework 2. Timing was wrong. It was too new, not enough support or forums.  ZF1 was too old and not worth becoming more familiar with unless we’re thrown into a legacy project.

Zend courses are really expensive.  Recently we looked at the number of world wide Zend Accredited Engineers, and noticed peak was in 2009, although now the data is displayed differently it’s harder to confirm that finding.

Zend Server didn’t work on the Mac. It needed a reinstall every few weeks after strange frustrating problems. The Phalcon Module wasn’t compatible with it (not even sure it’s compatible with the Windows version – didn’t work in the VM anyway).

Last year CodeIgniter was a disappointment. Stack Overflow was saturated with a questions proving a lack of basic PHP understanding so it was difficult to get proper CodeIgniter help. CodeIgniter didn’t provide many useful features other than the MVC layout.

Laravel to the Rescue :)

There is so much support, documentation and help for Laravel. Everyday new Laracasts are being added.  £150.00 for lifetime membership – and you can watch the videos more than once.

We look at these like a video manual more than a training exercise.

The courses are for any level and go deep into OO PHP and  Software Design Patterns.

We feel like we’re moving forward quicker than ever.

Google Glass Review

I got them for 2 reasons: 1 being a web application developer, it’s important to stay ahead of the game – so conceiving Google Glass Apps will be a hobby shortly.  And cycling thousands of miles a year there are considerable photo opportunities.

So, for the first test, I cycled along the Castleman Trailway from Ringwood to Poole. Battery was 79% but it didn’t quite last.

Wink to snap a photo worked a treat.  No privacy issues here. You need to be about 1/2 meter away a person if you take their picture so they’d certainly know about it.  Generally you get a wide angle shot.

I planned to document the route for my biking blog as it’s not clearly sign posted.  Ended up snapping 250 photos with ease.

I was surprised at how easy it was to accept incoming calls.  Sods law – that morning 3 support calls received enroute. Was able to resolve them all – hands free – voice triggered, and continue snapping the photos. Text messages were broadcast and easy to read too. No configuration necessary. Worked out the box – just synched with the mobile phone.

On approach to Poole, I didn’t know the exact address.  The navigation app didn’t automatically sync with the Android phone. This was the only disappointment, (not even sure it can sync) however, the Glass navigation was amazing – total augmented reality – until the battery died.

I found the status information bubble icon on peoples heads a bit weird. I didn’t need to know who was late for the pub or where they were going.  Or maybe I imagined that bit. The device did get quite hot so maybe it was that.

Downside – how to get the videos off using bluetooth.  Can fathom it. The instructions don’t correlate with the interface.  Also, the frame & lense pricing is very odd, and the frames cause the device to shut down! Possibly a faulty set – or user error … tbc ;)

They also work with finger gestures on the glass arm. Left/right swipes -> fwd/back. Tap -> click.  Down swipe -> dismiss. Easy.

A colleague had a go and managed to send a transcription of his experience of trying to use the things to a random contact via test message! It’s possible to screen-share via the mobile to avoid such behaviour …

Overall very handy (hands free) device. You wouldn’t wear them all the time … yet.

 

Laravel PHP Developers Bournemouth

We have succeeded in refactoring our legacy Letting Agent Software PHP code into the Laravel PHP framework – to Alpha testing stage.

We took a step back and looked at the legacy code. Although we’d inadvertently stumbled across the MVC software design pattern during this project, migration Laravel was a no brainer.  We gambled that it would be quicker to refactor the entire project than to add a bulk of new features to the legacy PHP code.

The speed in which we’ve refactored our Letting Agent Software was a pleasant surprise to us.  We are now in a suitable position to create single page apps by adding Angular to the front end.

It’s now full steam ahead with the new software features.

We are always keen to hear from other Laravel developers in Bournemouth so do drop us a line – contact Ringwood Internet!

 

Stop Gmail Audio Notifications – Android

Stop Android Audio email notification alerts

To disable this unfortunate default setting:

  • Click the Gmail application icon (not the Samsung ‘Email’ bloatware icon)
  • Click the menu icon (top left)
  • Select an email account
  • Scroll all the way to the bottom and select ‘settings’
  • Select a mailbox
  • Untick ‘Notifications’
  • Repeat for each mailbox

Remember to redo this if ever you clear the cache.

 

Android File Transfer

Because I can never remember how to transfer files from an Android Samsung S5 onto a Macbook Pro, this blog entry will remind me and help others in this unfortunate position.

It doesn’t work out of the box because of an MTP device cannot be mounted on the of a Mac. There are premium utilities but there’s another way.

Just install Android File Transfer on the Mac – and remember you’ve installed it for next time

and DO NOT INSTALL KIESKies bloatware will stop Android File Transfer from working! If you have installed Kies, download it again, and run the uninstaller.

Voice, Broadband & Data Products

Ringwood Internet can now provide all the following voice, data and mobile products.  We’ll be adding a brand new section to our website over the next couple of weeks with full information. But for now, here’s a summary:

Voice

  • SIP Trunks
  • Hosted Phone Systems
  • Inbound
  • Calls and Lines
  • PBX vs Hosted Telephony

Data

Broadband

  • Broadband
  • Fibre Broadband
  • Assured Broadband

Ethernet

  • FTTC Ethernet
  • Fibre Ethernet
  • EFM

Voice enabled

  • Converged Broadband
  • Converged Ethernet

Mobile

  • Pay-As-You-Use
  • Fixed / Mobile Convergence
  • Fixed Number on Mobile App