867 reputation
38
bio website gavincoates.com
location Scotland, United Kingdom
age 31
visits member for 3 years, 1 month
seen Jul 1 at 15:51

Software Engineer based in Southwest Scotland, working for a company which develops industrial control systems. I specialise in PHP and C# development, both for control system development, but also for web development to provide intranet solutions for clients.

Experience working with Subsea Control Systems for the Oil & Gas industry, using technologies such as OPC, MODBUS and ICONICS Genesis 32 SCADA


May
23
comment Large MySQL Batch Inserts From PHP: Run insert from script, or save as SQL file?
Bear in mind that a PHP script running via a webserver usually has an execution time limit. If you are importing a large amount of data, you may encounter timeout issues. There is no time limit when running the script via the command line directly through php though.
May
17
comment What constitutes a programming language and how does one copyright a programming language?
Writing a grammar for the language would still not protect it. The only thing it would do, is stop someone else re-writing the grammar in a similar way to you. I could write a grammar for the English language, that wouldn't then stop you from being able to post on SE though.
May
28
comment Architecture For Mockable DAL On Large Projects
@Euphoric / Robert Harvey - I am using Entity Framework as part of my DAL, perhaps BLL would be a more appropriate term? In my current project all the code sits in the Controllers, and there is a lot of duplication as a result. I'm hoping moving to a separate DAL/BLL structure may help to avoid some of this duplication.
Nov
29
comment How do developers find the time to stay on top of latest technologies?
@OliverWeiler The irony of reading your advice on not reading comments... in your comment.
Nov
20
comment Why does Facebook convert PHP code to C++?
also bear in mind the Facebook programmers are PHP programmers. Sure you could convert it all over to C++ and start programming in C++, but your existing programmers have no experience in this language. You would need to retrain them, or hire new programmers in order to continue development.
Nov
20
comment Freelancing - Getting paid for the quote or estimate
Thanks @K.Steff , that's the one! I'll bookmark it so I can find it next time.
Nov
19
comment Freelancing - Getting paid for the quote or estimate
Unfortunately most clients will expect you to do the quote free of charge, it is just a cost of doing business, and a risk you take to try and win some work. I did however read a good article recently suggesting that instead of doing quotes, you should instead offer to do a Feed study, which includes a more complete analysis of the requirements than what is traditionally found in a quote. This would instead be chargeable. Perhaps someone else knows the article I am talking about, i think it was linked to on here.
Nov
7
comment Should we ever delete data in a database?
In certain circumstances you MUST delete data, an example being anything relating to a users personal information. EU Law (and possibly others) state that a user should have the right to request that their data be removed. In such a case this data must be deleted, and not simply flagged as no longer active. The latter would be a violation of privacy laws.
Nov
7
comment Do database tables need to have IDs?
Natural PK's should always be used over Synthetic where available, they make the data far more readable, and reduce storage space and associated resources when processing. Email address as a Natural key however is a bad example, as Email addresses can change. A field should only be considered a suitable natural key if it will never change.
Oct
24
comment Is executing SQL through a WebService a really bad idea?
not only that, but it leads to a lot of duplicate code. Every time you need to get a User, you will need to write SQL code to get that users data. If you ever change the database design to add an extra column, you will need to update EVERY call to get a User. If you just had a GetUser function, you only ever need to update a single function if your database changes.
Oct
22
comment Library Organization in .NET
Good answer - passing the Endianness as an enum in the constructor would be my preferred design, but it really depends on the intended usage. The ability to then override it in each method call is a good idea.
Oct
3
comment Examples of non open source projects on Bitbucket or Github
any non-open source code on Bitbucket or Github is going to be set to private, so you wont be able to link to it or show it to management. I have a few on there myself, but cannot show you them :p
Sep
25
comment Is it possible to keep only one Database for both web and desktop applications?
@B4NZ41 While a DAL may be a good idea to reduce coding, it is not a requirement to achieve what the OP wants. You can simply connect direct to the database from both systems.
Sep
24
comment Would I be able to use code hosting services to host malware code?
@NlightNFotis: They cannot sell or use the source code, doing so would be in violation of copyright laws.
Sep
19
comment Web Page Execution Internals
ElYusubov - it may be worth adding in the steps prior to data transmission - i.e site request and script execution, then data transmission etc.
Sep
17
comment Why are most websites optimized for viewing in portrait mode?
As a web designer of 10+ years, I have always designed websites to fit 800px width. It is only in the last few years I have started using 1024px width in designs. It is only recently that monitors with widths greater than these have started to become common. Many websites you browse today were designed many years ago, back when widescreen monitors were not all that common. Also many designers continue to stick to their old habbits of designing for smaller resolutions. With mobile devices increasing - sticking to these habbits is not a bad thing.
Sep
17
comment Why are most websites optimized for viewing in portrait mode?
It is maybe also worth pointing out that not all people browse the web with their browser open full screen. I am using a 1080p monitor, but have the browser open in a window set to just slightly wider than the page I am viewing (90% of sites are of a similar width and fit this window just fine). this allows me to keep other windows open down the side of the browser.
Aug
15
comment Recurring Problem - need instruction to run only once inside code which executes multiple times
I am struggling to think of a situation where you would need code to execute only once, especially in an event function. It sounds like the code doesn't belong there in the first place, and would be better moved to a constructor or another function, rather than introduce a boolean flag to enforce only running the code once. It may be worth posting an example, so we can better advise how to solve the problem.
Jul
30
comment Why can't the IT industry deliver large, faultless projects quickly as in other industries?
@MainMa - The A380 project was far from developed in a "very short period of time". Officially offered for sale in Dec. 2000, and entered service in Oct 2007. That's 7 years in development. Initial studies began in 1988 before it was even decided it was feasible to do, with the project first announced in 1990. I'm a big fan of the A380, but it certainly isn't a project designed in a short period of time, or a good example of a successful project (in terms of being on time and on budget).
Jul
30
comment Why can't the IT industry deliver large, faultless projects quickly as in other industries?
Ironic that you should pick the A380 as an example of a successful, on time project. The A380 was two years late entering service due to wiring issues, and now all aircraft need to be re-worked to fix cracks in the wings. It's beginning to sound exactly like your typical IT project!