Secure your router – Do it Today!

Most people when they get a new router, just plug it in, turn it on, look for the default Wifi network name, type in the default password and never give it another thought. Even doing all that can seem like a lot, and with the Internet being an essential part of life for most, it makes sense it has to be easy for the most non-technical user.

But hackers are out there, and using the default settings can leave your network insecure. And when a hacker has access to your network, they can spy on all your traffic and have access to everything you do. Broadband companies have improved over the years and now offer more security built in with better stronger default passwords. But if you want to make your network more secure, and learn a lot along the way, then why not check out your router settings and change the passwords and settings to be harder to hack? Just remember, be careful and always take a note of the new passwords so you don’t forget them and be locked out.

For those of us who haven’t studied networking, but know a bit about computers, we may be interested in doing this, but not be sure where to start. In that case I would recommend having a look at this website, that lists many common models of routers and offers instructions on the steps to secure them.

https://modemly.com/

So why not give it a go, and make your router more secure today.

The 4 Pillars of OOP

Object Oriented Programming (or OOP for short) is generally agreed to have 4 pillars.

Architectural pillars

Just like in architecture, where pillars are often a key part of the structure of a building and support it, OOP is supported and defined by the key 4 principles.

Abstraction

Abstraction is sometimes called ‘Information Hiding’. It refers to ‘hiding’ information from other objects that do not need to know about it. In other words, other objects in your program may not need to know the values so they can be kept as private values inside their own object. The outside objects then do not interact directly with the values, but only indirectly throught the containing object.

Encapsulation

Encapsulation is about grouping the right properties and methods together inside an object where they are related to each other and can work together. It also refers to preventing them from being manipulated or accessed by other unrelated objects.

Inheritance

Inheritance is when an object can ‘inherit’ from another object. The object that inherits is sometimes called a ‘child’ object and the object it inherits from is called the ‘parent’. Just like in real life inheritance, the child object takes on or ‘inherits’ properties and methods that were defined in the parent object.

Polymorphism

Polymorphism means ‘many formism’ and reflects to how an object that is an inherited object can override the behaviour of its ‘parent’ object and make it take a different form. For example a function that does one thing in the parent object can be changed to do a slightly different thing in the child object.

These are the very basic principles of OOP and can take some time to grasp. But they underpin all other more advanced concepts in OOP.

Testing Android Local Notifications

Thought I would put this up to remind myself and anyone else who has the same issue: If you are running your app through the debugger then your local notifications are cancelled as soon as you close the app or stop debugging.

To test them you need to launch the app on the device not through the debugger.

Wasted a lot of time on this – it isn’t highlighted in the documentation.

Can AI guess how old you are?

This tool, apparently related to Cortana, tries to guess your age with Artifical Intelligence from a photo.

https://www.how-old.net/

Seems to add about 5 -10 years. I think it needs some work…

The end of Internet Explorer

It is a year to the day since Microsoft ended support for older versions of Internet Explorer. This includes all versions before IE 11 such as IE 8, 9 and 10. Developers have been looking forward to this for years. Internet Explorer is well known for its bugs that make it harder to produce websites for. Users of these browsers should upgrade immediately as it will become an attractive target for malware and hackers, exploiting the known security holes that Microsoft have stopped fixing.

What I wish I’d known… How do I get my forms to work?

One of the most annoying things for people who are just learning HTML can be that the forms they build don’t actually work. Usually they learn how to create a form element in HTML, but then don’t find out how to make that form actually do anything till much later. This can be a bit disappointing. Today’s webpages are highly interactive: when people are used to  being able to leave a comment on every article, there isn’t a lot of demand for plain HTML/CSS brochure sites.

Making your form send an email is actually relatively straightforward and you can learn how to do it inside an hour. Of course you won’t have the same kind of understanding that would come from learning server-side scripting from the ground up, but it will at least let you begin to build modern websites.

Suppose you start with this basic HTML for your form and save it inside an HTML document called form.html:

<form>

<input type="text" name="firstName" id="firstName">

<input type="email" name="email" id="email">

<textarea name="message" id="message"></textarea>

</form>

The first thing you need to do is change your form tag to look like this:


In XHTML you actually needed to add these attributes for the page to validate, but that isn’t the case anymore with HTML5. What they do is basically set the form up to send its contents on to another page for processing. The action gives the name of the file they are being sent to and the method is, surprisingly enough, the method to use for sending them. There are two methods: post and get. The one you’ll usually want is post, so just use that for now.

In part 2, you’ll learn how to write the script to process the form contents and use them to send an email.

Data Protection

Most modern websites include a lot of interaction and in many cases they will also collect some personal information about users. The Data Protection Act 1998 requires organisations which hold personal data to protect the privacy of the people that data relates to and process personal information in accordance with the eight principles laid down in the act. In layman’s terms these principles are:

  • Personal data should be processed fairly and in accordance with the law.
  • Personal data must only be obtained for specific and lawful purposes.
  • Personal data should only be held if it is necessary and relevant to the specified purposes – particularly where the information is sensitive.
  • Personal data should be accurate and kept up-to-date.
  • Personal data should not be kept any longer than necessary.
  • Personal data should be processed in accordance with the rights of the people it relates to.
  • Appropriate technical and organisational measures should be in place for the security of personal data.
  • Personal information should not be transferred outside the European Economic Area unless adequate protection is in place.

Useful links

Information Commissioner’s Office

Interviewing Clients

When it comes to finding out what a client’s specific requirements for a site are, interviews are a key part of the process.

Preparing Questions

Going to an interview with a client without doing any preparation first is a big mistake. Most clients will initially have a very vague idea about what they want for their website – and even less idea of how this is to be implemented. It is the developer’s job to make sure that the essential points are covered so there are no nasty surprises down the line.

The Interview

During the interview, the list of questions should be used as a guide rather than being followed too slavishly.

Consider recording the interview to play back and listen to later. This will mean you can focus your full attention on the client during the interview itself rather than being distracted by having to take notes. It will also reduce the risk of missing important points raised as you will always be able to refresh your memory by listening to the recording again.

HTML5

What is HTML5 ?

HTML5 is the latest version of the Hypertext Markup Language following on from HTML 4 and XHTML 1.0. HTML5 has been developed as a result of cooperation between the W3C and the Web Hypertext Application Technology Working Group (WHATWG). HTML 5 is still being actively developed and it is not a W3C recommendation yet. The W3C decided to abandon development of the XHTML 2.0 standard in 2010 so HTML5 is set to become the new standard for HTML and XHTML. AOL, Apple, Google, IBM, Microsoft, Mozilla, Nokia, Opera and many others are all involved in the HTML5 working group.

New Elements

HTML 5 adds a number of new tags including new structural tags, new media elements for embedding audio, video and graphics, new form and input elements and the “canvas” tag which allows drawings to be created using JavaScript.

Some of the new structural elements in HTML 5 relate to common page sections including “header”, “footer” and “nav”.The 13 new form inputs include date pickers, number sliders, email and search fields. New inbuilt form validation is also a part of the revisions HTML5 has made in the way forms are created, with the addition of autocomplete and autofocus attributes.

Doctypes

An HTML5 document is defined using this simple and easy to remember doctype:

<!DOCTYPE HTML>

Unlike in previous versions of HTML and XHTML, HTML5 does not have separate Strict and Transitional doctypes.

Browser Support

HTML5 is backwards compatible which means that it will work in older browsers, although some features will not be available. No browser has full HTML5 support yet. Microsoft has announced that Internet Explorer 9 is to support HTML5. Currently the browser with most support for HTML5 features is Opera versions 9+.

CSS3

Closely allied to HTML 5 is CSS3, the latest version of the Cascading Style Sheet markup language. CSS3 adds support for graphic effects which are currently implemented using images. These include drop shadows and rounded corners for elements.

Important Dates

HTML 4.01 became a W3C Recommendation on the 24th December 1999.

XHTML 1.0 became a W3C Recommendation on the 20th January 2000.

On January 22nd, 2008, the W3C published a working draft for HTML 5.