Reply to topic  [ 6 posts ] 
Q&A: can a £15 computer rekindle the UK tech industry? 
Author Message
Legend

Joined: Sun Apr 26, 2009 12:30 pm
Posts: 45931
Location: Belfast
Reply with quote
http://www.pcpro.co.uk/news/interviews/ ... h-industry

I'll guess 'no' :roll: , but it's good all the same...

_________________
Plain English advice on everything money, purchase and service related:

http://www.moneysavingexpert.com/


Sat May 07, 2011 3:07 pm
Profile
Legend
User avatar

Joined: Fri Apr 24, 2009 2:02 am
Posts: 29240
Location: Guantanamo Bay (thanks bobbdobbs)
Reply with quote
Quote:
Q. What was the starting point for the idea?

A. I used to teach at the University of Cambridge and was part of the process of interviewing sixth formers for Computer Science, and that's where I noticed the need to do something.

When I was there as a student in the mid-1990s, the typical skillset that undergraduates came through the door with would be assembly language, maybe a bit of C, BASIC and a certain amount of hardware hacking.

The big problem has been that people used to learn the stuff off their own back – you used to have hardware that you could hack on and that's a big problem

By the time I was actually interviewing, ten years later, that had changed to mostly HTML from people who had done a web page and the really good ones would maybe have done PHP – you'd get the occasional exception, but the skills have declined.

It was as if there was a pipeline of hobbyists and then one day we stopped topping the pipeline up with ten year olds and gradually this wave has passed through the pipeline, first through the universities and then the workplace.

The numbers are horrifying – you stop picking 80 students out of 500 applicants and you're picking 80 students out of 200. Then it's in the workplace and, before you know it, anyone you hire in their early 20s, you pretty much have to train them up before they can make a high-grade contribution.

The oldies here will know exactly what he means. Programming on the Commodores, Sinclairs of the day meant that people had a much better idea of what could be done and how to acheive it. That does not exist now. It is al lot more expensive to even start programming now.

_________________
Do concentrate, 007...

"You are gifted. Mine is bordering on seven seconds."

https://www.dropbox.com/referrals/NTg5MzczNTk

http://astore.amazon.co.uk/wwwx404couk-21


Last edited by Amnesia10 on Sun May 08, 2011 1:39 am, edited 1 time in total.



Sat May 07, 2011 8:35 pm
Profile
Spends far too much time on here
User avatar

Joined: Thu Apr 23, 2009 9:40 pm
Posts: 4876
Location: Newcastle
Reply with quote
To an extent he has a point, but more to it it's more at the gcse/a level where ICT (as I found out) was a joke of a subject with the most advanced being used ms access, not even sql

_________________
Twitter
Charlie Brooker:
Macs are glorified Fisher-Price activity centres for adults; computers for scaredy cats too nervous to learn how proper computers work; computers for people who earnestly believe in feng shui.


Sat May 07, 2011 10:54 pm
Profile
Legend
User avatar

Joined: Fri Apr 24, 2009 2:02 am
Posts: 29240
Location: Guantanamo Bay (thanks bobbdobbs)
Reply with quote
finlay666 wrote:
To an extent he has a point, but more to it it's more at the gcse/a level where ICT (as I found out) was a joke of a subject with the most advanced being used ms access, not even sql

Yes but when there were no O levels or GCSE people actually had to teach themselves. I learnt Basic and DACL that way.

_________________
Do concentrate, 007...

"You are gifted. Mine is bordering on seven seconds."

https://www.dropbox.com/referrals/NTg5MzczNTk

http://astore.amazon.co.uk/wwwx404couk-21


Sun May 08, 2011 1:40 am
Profile
What's a life?
User avatar

Joined: Thu Apr 23, 2009 8:25 pm
Posts: 10691
Location: Bramsche
Reply with quote
We have the same problem over here.

The kids have grown up with VisualBasic, C# and PHP - HTML is not a programming language and does not have anything to do with computer programming!!!. That is in-and-of-itself not a problem, I learnt BASIC, C and Pascal when I was growing up and I tought myself assembler.

What is missing, is an understanding of the hardware and how it works. That is what made my generation, on average, better programmers than the average new programmer today.

Most courses today concentrate on readability of code and elegance. None of the trainees (or even younger, experienced programmers) that I've worked with have had a clue about optimising code for efficiency, based on the processor they are using.

Most look aghast when you start editing their code to do simple things, like changing tests (if statements, for, while etc.) to always test for positive results first and dropping through to the negative, where possible. Testing the negative might make more sense to a human reading the code, but it slows the program down dramatically. Testing for a positive is more efficient and uses fewer processor cycles.

The problem is, on a single use, modern PC, you usually won't notice this when you are programming on your own machine, for yourself. When you start coding on a machine that is being shared by hundreds of users (terminal server, web server, mail server etc.) that starts to make a huge difference.

Status messages also seem to be ignored. We often get displays showing which files are currently being copied or installed. That wastes an incredible amount of time, even if it is 1 of 10,000, 2 of 10,000 etc.

Two examples: I came onto a project for consolidating corporate accounts. It exported the data to a file for transmission to corporate headquarters. This code took about 1.5 hours to run. I had to change some other things in the code, but needed to export the data at the end of each test, to look at the results. The 1.5 hours soon got on my nerves, so I looked at the export code, to see if it could be optimised. It exported many thousand accounts and said which account it was exporting as it exported it. I changed the code to only output every 10th account, that reduced the time to 1 hour. Changing it to every 100th account dropped the export down to around 10 minutes!

The second example: I joined a company that made e-shops. The programmers had really complex code to generate the menus from even more complex queries on the database. The menu structure could take over 40 seconds to generate, when the web server or the SQL server were under load. Obviously, this was a big problem for an e-shop and when the store appeared in the PayPal newsletter, the project manager would sit at a console and restart the MySQL process every 2 - 3 minutes, because it was choking! The web server side had 4 load balanced servers, each of which could handle around 50 requests at a time, before they collpased in a gibbering heap.

Looking at the code, I set the programmers the task of testing positives instead of negatives, even if it seemed more logical to test for the negative. That saved about a second per request when the server was under load.

The bigger problem was the SQL code. Nobody at the company had any database analysis and design experience. It was too late to re-design the database, it would have taken weeks of effort to change the whole system to work with a more efficient design, so the task was reduced to finding a way to optimise the queries that were called.

By looking at how the queries were made up and looking at the detailed optimisation documents from MySQL, I re-ordered the joins in the query and moved some of the logic from the join itself to the WHERE clause. Re-ordering the checks into biggest to smallest influence also helped.

In the end, the query went from an average of 20 seconds (40 seconds on a loaded server) to under 1 second to execute.

The next time they had a PayPal newsletter, each server was coping with around 250 transactions at a time and they were being returned in under 2 seconds on average. That was a huge improvement.

This is why an understanding of how processors (or database servers) work is more important than being able to just write elegant code. The code we produced after the optimisation was still elegant, still readable, but for the computer it was also much more efficient and saved an incredible amount of time!

Amnesia10 wrote:
finlay666 wrote:
To an extent he has a point, but more to it it's more at the gcse/a level where ICT (as I found out) was a joke of a subject with the most advanced being used ms access, not even sql

Yes but when there were no O levels or GCSE people actually had to teach themselves. I learnt Basic and DACL that way.

I did Computer Studies at school and Computer Science at college. I didn't learn much on either course!

I did learn something about processor design on both courses and that was the most important thing I learnt. But most of the coding I taught myself, either from books or looking at code printed in computer magazines, like Comput & Video Games, Your Computer or Practical Computing.

At school, our teacher took the CSE exam with us! He didn't know much about computers and there were two of us in the class that had computers at home and knew how they worked and how they were programmed. We ended up pretty much running the practical sessions of the class, with the teacher asking us how things were done at first and then the other students bypassing him and coming directly to us after a few lessons.

Even the O level course came to me to get code debugged, before handing it in - I wasn't allowed to do O level, because I was in a lower Math set! :roll:

My first day at college, we had to write a simple BASIC program on a Commodore PET to calculate the minimum number of coins required to give change. I had that finished in the first 10 minutes of the 90 minute lesson. I spent the rest of the lesson writing machine code (no assembler available) to draw a border around the screen, split it in two, with a horizontal line at the bottom. It poled the keyboard and displayed huge numbers at the top of the screen and displayed little piles of coins at the bottom... The teacher looked at my running program and said "oooh, I didn't know you could do that with a computer!" :roll:

That pretty much summed up the course! I did learn some things on the theory and discipline side, but on the practical programming side, I was way ahead of my teachers.

_________________
"Do you know what this is? Hmm? No, I can see you do not. You have that vacant look in your eyes, which says hold my head to your ear, you will hear the sea!" - Londo Molari

Executive Producer No Agenda Show 246


Sun May 08, 2011 6:32 am
Profile ICQ
Legend

Joined: Sun Apr 26, 2009 12:30 pm
Posts: 45931
Location: Belfast
Reply with quote
British computing: cakes, codes and creativity

http://www.techradar.com/news/computing ... ity-949320

_________________
Plain English advice on everything money, purchase and service related:

http://www.moneysavingexpert.com/


Sun May 08, 2011 10:48 am
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 6 posts ] 

Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.