tag:blogger.com,1999:blog-44639327427707252202024-03-13T15:56:24.712+01:00Fundamentals of ComputingUnderstanding what computing is all about is instrumental to really understand both what computers CAN, but also to help you understand that only the sky is the limit once you think outside the box. Welcome to Fundamentals of Computing, a new hobby where I share my knowledge of computing with those interested in working with these.Henrik V Blunckhttp://www.blogger.com/profile/17977028543812049468noreply@blogger.comBlogger16125tag:blogger.com,1999:blog-4463932742770725220.post-5840619264967924312018-07-09T00:05:00.000+02:002018-07-09T00:05:15.385+02:00Programming - Advanced Level Lesson 3 - App ProgrammingWhen we are dealing with <b>app programming</b> in this third lesson on <b>programming</b>, we are doing so because apps have taken on a whole new meaning for users nowadays. In the old days users of a certain program were in front of their computers. Nowadays, people are running programs on either their smartphones or tablets.<br />
<br />
<a name='more'></a><br />
These are divided into <b>two major groups</b>, namely<br />
<ul>
<li>iPhone users</li>
<li>Android users</li>
<li>Windows users</li>
</ul>
<br />
When I mention Windows, it's actually a very small number of smartphones that run the Windows mobile operating system. As I am writing this, less than 5% of smartphone users run the Windows system, so it's not where your audience is... :-)<br />
<br />
<b>iPhone users - operating system iOS</b><br />
iOS is controlled by Apple, and therefore it's only iPhone users that run the iOS operating system. There are some people who have created hacks so you can run iOS on non-iPhones, but I won't be dealing with it as it is a dangerous path to follow - and I guess it's only very few people who use such a feature.<br />
<br />
Anyway, when you have created an app, it has to pass through an Apple approval team before it is available for users through iTunes or the App store.<br />
<br />
That final part CAN be quite cumbersome for programmers. We had a Danish company that wanted to create a play guide for children, and they had delays of several days from release until approval, and had to go through TWO of these processes before it was approved for distribution...<br />
<br />
<b>Android users - A Great Majority</b><br />
Android is currently the most used operating system. It is an open system, and therefore the potential for error is also bigger. In theory. Most do however find that it is much easier to create apps for Android as there is quite a lot of help to get from forums etc.<br />
<br />
<b>Why Aren't Everybody Using One System?</b><br />
Well, that is the question every IT-nerd has asked himself for decades. Open systems would save us all a lot of time because you don't have to proceed all over when you want to create programs for multiple operating systems.<br />
<br />
Anyway, since we won't get all IT companies to come together, we can't focus our attention too much on this aspect of the world of IT.<br />
<br />
<b>What we CAN, and SHOULD focus on is much rather to focus on good programming practices</b>. As you read in lesson 2 where we went through different systems to program webpages, and in lesson 1 where we discussed how much programming has changed from line-based to object oriented and procedure-based programming, so you should remember to keep track of changes as you make improvements in versions of apps.<br />
<br />
Let's say you were programming for BOTH the <b>Android</b> and <b>iPhone</b> systems. You want to keep a changelog of BOTH versions separately. Why? Because changes you implement in one system may not be done for the other - and vice versa.<br />
<br />
Your changelog is your documentation of issues you have dealt with, and you save yourself a lot of time when you keep track of these changes - especially when people leave reviews in either the <b>App Store</b> or on <b>Google Play</b>.<br />
<br />
<b>Very Important First Issue: Screen Sizes</b><br />
For rather obvious reasons you want to know the screen sizes of smartphones you intend to program for. You need a piece of paper to divide the screen so you can see that the design you are programming will be easy to use (and see!) for the average user. Don't use colors that don't blend well on screen. Be mindful of user happiness being your primary goal. People will delete your app if they don't like it - and if that happens at the welcome screen, it's going to be uphill to achieve success, as I am sure we can all agree upon.<br />
<br />
Similarly, be mindful of whether you need to use sound in your app. If you do, have a loudspeaker in one of the corners that people can mute - again think user friendliness in all aspects.<br />
<br />
Once you know what you want to create you want to choose your app builder software. Since programs change on a regular basis you want to Google this, or maybe ask a friend if you know someone who has already made an app. You might also check your smartphone and see who created your favorite app. Sending them an e-mail and asking what program they used could start off a good partnership when you might end up talking about similarities between your two endeavours.<br />
<br />
Don't be shy and secretive when you want to market an app. You need the help of others, just as they need you. Once you begin to see the people around you as colleagues rather than competitors everything does become much easier.<br />
<br />
Best of luck out there.<br />
<br />
PS: As always, if you're missing anything, you are welcome to add a comment. They are very welcome. :-)Henrik V Blunckhttp://www.blogger.com/profile/17977028543812049468noreply@blogger.com0tag:blogger.com,1999:blog-4463932742770725220.post-36571020381570965232018-07-08T18:21:00.000+02:002018-07-08T18:21:16.211+02:00Programming - Advanced Level Lesson 2 - Internet ProgrammingIn this lesson on <b>Internet Programming</b> we will be looking at numerous aspects of internet functionality. At the core of the internet we have <b>HTML</b> - <b>HyperText Markup Language</b> - but we also have programming languages that extend functionality beyond static pages into real active pages. Namely we will look at <b>PHP</b>, <b>JavaScript</b>, <b>ASP</b> (<b>Active Server Pages</b>) and the type of thinking behind this type of programming.<br />
<br />
<a name='more'></a><br />
<b>What Is HTML - and How Has HTML Evolved?</b><br />
<b>HTML</b> is the type of language understood by your browser. When you see a website, there are specific codes that define what text is a heading, <b>what is in bold</b>, <i>what is in italic</i>, <u>what is underlined</u> etc. Furthermore, <b>HTML</b> can be keyed with <b>CSS</b> - <b>Cascading Style Sheets</b>. These stylesheets allow a specific set of colors, type sizes etc. All of that can be specified in either inline or external stylesheets, so that design changes than be implemented site-wide just by changing the stylesheet for that website.<br />
<br />
In the original websites, content was static. It didn't change. The website you watched was identical at each visit.<br />
<br />
<b>What Is PHP?</b><br />
When <b>PHP</b> came on the scene, you were suddenly able to see database-driven content. One such example would be <b>WordPress </b>blogs. When the author creates a new article on his (or her) blog, the article is stored in a database, and still presented in the browser in <b>HTML</b>.<br />
<br />
<b>PHP</b> allows the adding of functionality through small programs that EXPAND the functionality of the <b>WordPress</b> blog.<br />
<br />
Similarly, you can run auction sites and membership-based sites using various forms of <b>PHP</b>. There are stand-alone types of <b>forurm software</b>, and it all grows as new users create new programs in PHP that allow the user to interact with the sites in different ways...<br />
<br />
<b>What Is JavaScript?</b><br />
In a similar way, <b>Javascript</b> is a scripting language based on <b>Java</b>, and is often used in systems such as banking sites and in places where you want functionality to happen on a central server. You may have heard of Java in numerous other situations, including electronic equipment and robots. It is quite funny that little snippets of Java-functionality are called <b>beans</b>, very much inspired by coffee beans you know from your kitchen. :-)<br />
<br />
<b>What Is ASP?</b><br />
<b>ASP</b> is a programming language, but whereas <b>PHP</b> is run on <b>Linux servers</b>, then <b>ASP</b> is run on <b>Windows servers</b>.<br />
<br />
<b>What Other Things Must I Know?</b><br />
What you prefer for your websites depends very much on what you are planning to do with your website, and which webserver you are going to run your websites on. The need to know a specific programming language depends on what you are going to do with the software you are buying for that website. If you are just going to run a forum, and need minor changes made to your forum such as colors and the design itself, an amateur level of <b>PHP</b> along with <b>HTML</b> and some <b>CSS</b> will do the trick for most people.<br />
<br />
If, however, you are going to work professionally with any of these programming languages, you will need some more experience to do the trick. You can find numerous courses online in programming, and the more you play with these systems, the better equipped you will be.<br />
<br />
We will tie the knots in the next lesson where we will be discussing <b>app programming</b> to finalize this series on <b>programming</b>.Henrik V Blunckhttp://www.blogger.com/profile/17977028543812049468noreply@blogger.com0tag:blogger.com,1999:blog-4463932742770725220.post-8092297471278269212018-07-07T07:54:00.001+02:002018-07-07T16:29:51.704+02:00Programming - Advanced Level Lesson 1 - Documentation & The Value of Good Source Code<b>Good documentation increases the value of your programming</b>. It allows other people to dive into your source code, and that is highly valuable both when key people are hit by disease, when someone leaves the company - and also if you ever want to sell your system to another company once you lose interest in furthering a specific project. It will allow others to continue without having to dissect what each procedure does. It is a highly powerful tool often overlooked by many technical nerds.<br />
<br />
<a name='more'></a><br />
I will be dealing with internet programming - or webside coding - in the second lesson. I will be dealing with apps in the third lesson, but right now we will look at the fundamentals of programming. In the sense of creating a program that is to run on a computer under an operating system like <b>Windows</b>, <b>MacOS</b> or <b>Linux</b>.<br />
<br />
No matter what system you are running, there are various programming languages. In this lesson we will look at the general concepts relating to programming...<br />
<br />
A programmer creates instructions that a computer can repeat every time you run the program. In the old days, such programs were line-based. In a language such as <b>BASIC</b> or <b>COMAL</b> - used in many schools back in the days of <b>DOS</b> (prior to <b>Windows</b> becoming a stand-alone operating system), you started with a line number, and then you wrote your program.<br />
<br />
If you discovered that you needed to insert code, you could RENUMBER those lines, and therefore get an opportunity to insert up to nine lines of code, and then you had to renumber again - and you quickly discover this could become rather time consuming.<br />
<br />
When a programming language such as <b>Pascal</b> (most popular was <b>Turbo Pascal</b> by <b>Borland</b>) came on the scene, you could begin to work with procedures.<br />
<br />
When you needed to create a phone book, you could have a procedure for peeking into the phonebook, one for adding contacts, one for deleting etc. Nowadays, we would just create a database in <b>Access</b> or maybe a spreadsheet in <b>Excel</b>. :-)<br />
<br />
Procedures allowed to add complexity to programming, but also the ability to plan your procedures. Things you had to do multiple times could be put into a procedure, and then called by another procedure as you needed that specific functionality during another manipulation of data.<br />
<br />
The problem about such complexity is that some programmers had very poor discipline - both when it came to documentation but also in giving names to each procedure. They could indeed create a program that worked, but when you had to make changes to that program a couple of years later, no one could see how it was all created. In some instances you had to begin from scratch because of such situations...<br />
<br />
This is why documentation is so important. Good documentation involves the following:<br />
<br />
<b>Use sensible variable names</b> - namecustomer is better than name because you might also need a name for a supplier, and thus you end up with name, name1 etc if you're not mindful of this.<br />
<b>Give procedures a good name</b> - it is quite logical that xyz tells you less about what the procedure does than update_calendar.<br />
<b>Explain what the procedure does</b> - when you have many variables in a procedure, it's important that it is explained in the documentation.<br />
<br />
Bear in mind that once you COMPILE your program, which means converting it into an executable file, comments are not compiled into the program. You could therefore easily have a megabyte long source code file that compiles into an executable file that is much smaller. This is the same with variable names. This is handled automatically by the compiler, so you won't end up with larger files just because you begin implementing good documentation...<br />
<br />
What you WILL get is quality that you can maintain and get back to many years later.<br />
<br />
Stay tuned for lesson 2 on programming. :-)Henrik V Blunckhttp://www.blogger.com/profile/17977028543812049468noreply@blogger.com0tag:blogger.com,1999:blog-4463932742770725220.post-5517563493810271492016-07-25T21:22:00.002+02:002016-07-25T21:30:18.193+02:00Databases - Advanced Level Lesson 3Today we will look at the final aspect of Databases. Upgrading your database when there is a need to adapt to unknown aspects. You probably know about this when you think of websites that offer new payment opportunities.<br />
<a name='more'></a><br />
You may already have a database running your auction site. Suddenly, like when PayPal appeared on the scene, you might see a new payment opportunities that your customers may be using, but which you didn't know about when you designed your original site.<br />
<br />
How do you proceed?<br />
<br />
Let's think in simple terms with an auction site with the following fields in your database:<br />
<br />
Auction_number,Title,Description,Start_price,Highest_bid,Cash,PayPal,End_time<br />
<br />
Now you suddenly notice something like MobilePay which is a mobile phone-based payment system in Denmark.<br />
<br />
What you want is for your database to contain the following fields:<br />
<br />
Auction_number,Title,Description,Start_price,Highest_bid,Cash,PayPal,<span style="color: red;">MobilePay</span>,End_time<br />
<div>
<b></b><i></i><u></u><sub></sub><sup></sup><strike><br /></strike></div>
<div>
I have illustrated the added field in red.</div>
<div>
<br /></div>
<div>
You want to convert your database, so that you can adapt your website. What you do is that you setup a program that reads every file in the OLD format, and writes it to another file in the NEW format.</div>
<div>
<br /></div>
<div>
But you also want to plan your change in a way that won't be disturbed by customers creating new items during the time it takes to update your site. That requires good planning. You announce that on wednesday, you won't be able to create new auctions between 2:00AM and 2:30AM. During those hours, people should be sleeping, and therefore this should only annoy very few people.</div>
<div>
<br /></div>
<div>
In planning, you also ensure that people can't create auctions that FINISH between these two times. They are simply automatically prolonged with half an hour when people try to create an auction that finishes while you are maintaining your website.</div>
<div>
<br /></div>
<div>
Once your converted file is ready, you can upload your new files at 2:01AM, and copy your database file into the name your system needs to be up and running - and you will be ready to run auctions long before your site is active again. With a bit of luck, you are ready long before 2:30, and you can then be happy your customers will be satisfied with your planning skills.</div>
<div>
<br /></div>
<div>
If you want to know more about databases, you are welcome to comment.</div>
Henrik V Blunckhttp://www.blogger.com/profile/17977028543812049468noreply@blogger.com0tag:blogger.com,1999:blog-4463932742770725220.post-81424597110595900972016-05-11T21:55:00.000+02:002016-07-25T21:32:52.270+02:00Databases - Advanced Level Lesson 2In lesson 1 we looked at three specific areas in database theory. These were: search types, optimization and pointers. Today we will look at the following aspects:<br />
<ul>
<li>Tables</li>
<li>Relational tables</li>
<li>Input formats</li>
<li>User interfaces</li>
</ul>
<a name='more'></a><br />
<b>Tables</b><br />
When you're dealing with databases, you are working in tables. If you are creating a customer database, one obvious thing you don't want to repeat every time is the ZIP code and connected city. That will be treated below in <b>Relational tables</b>.<br />
<br />
You want elements to be strictly relevant for what you are creating. If you have a field for both first and last names, each containing up to 255 characters, you are wasting many bytes if you could settle with 20 characters for each field. In fact you are spending 470 bytes for each customer. When you add that up for each field in your tables, this will end up being a real waste of space - and you don't want that, regardless of the fact that USB-keys are getting cheaper by the day...<br />
<br />
<b>Relational Tables</b><br />
As I mentioned above, having one table for all ZIP codes and cities can be very efficient, since you can then leave this information in a separate table that is accessible from all other tables you create. It reduces what is known as redundancy - and is quite effective in avoiding letters coming back when you send out parcels to your customers.<br />
<br />
You could also have a product type table, so you don't have to add the type pencil to each new article you enter. The product type can help you get a much better overview.<br />
<b><br /></b>
<b>Input Formats</b><br />
Similarly, there might be a need to add some fields in other programs which your database is to interact with, and for that purpose you can define the format for what is being entered. You obviously don't want any comma separation for a telephone number. And you definitely want two commas in price lists - and such definitions will help keep everything working well once you begin using your database.<br />
<br />
<b>User Interfaces</b><br />
<div>
<b></b><i></i><u></u><sub></sub><sup></sup>You don't want people to enter data into your tables, so you create what is often known - at least when working in Access - as <b>Forms</b>. When you are working in a blogging system such as Wordpress, data is being stored in MySQL tables in a way that is unknown to you as a user. Your screen will appear almost like a word processing system, but WordPress converts each element into a predefined format that can easily be converted into XML - thus easily convertible when importing or exporting over to other blogging platforms.</div>
<div>
<br /></div>
<div>
If you have any questions, please feel welcome to write them below, as I welcome your feedback if something needs clarification or you need extra information beyond what I have already written. :-)</div>
<div>
<br /></div>
Henrik V Blunckhttp://www.blogger.com/profile/17977028543812049468noreply@blogger.com0tag:blogger.com,1999:blog-4463932742770725220.post-2726117260928464232016-04-08T11:28:00.002+02:002016-07-25T21:33:26.725+02:00Databases - Advanced Level Lesson 1There are many types of databases. Many think of Microsoft Access when running databases, but you also have MySQL databases that are typically used by blogging software such as WordPress. You also have programmer created databases in many formats, many of whom are based on open source in the sense that you can convert to other formats using a comma-separated format. Horses for courses. What fits one type of program may not fit another.<br />
<a name='more'></a><br />
We won't get into each format, but will try to look at overall principles relating to databases.<br />
<ul>
<li>Search types</li>
<li>Optimization</li>
<li>Pointers</li>
</ul>
<b>Search Types</b><br />
Back in the old days, you had several types of access to databases, and a very important aspect of running a database was regular sorting of these databases. When you only had 80286 and 80386 computers running at 12-40MHz, speed was important.<br />
<br />
We studied numerous access technologies. One of the slowest forms of access was sequential search, where the program looked at each position in a +1-format. Searching customer 1 and 2, then 3 etc was pretty slow when you had a client database with 5000 customers. Running a search where you checked number 2500, and then found it was still too far, then 1250, and backwards to 625 etc could be useful when your database was optimized, but when it wasn't optimized, it would seem like finding a needle in a haystack...<br />
<br />
You will read more about improvement in seaches in the subheading <b>Pointers</b> below.<br />
<br />
<b>Optimization</b><br />
Optimizing databases was typically done at night time. It could be either based on customer numbers (typically the client's phone number), or related to name in an alphabetic format.<br />
<br />
Non optimized you might have the following numbers:<br />
<br />
11 - 29 - 16 - 42 - 66 - 22 - 99 - 1 - 6<br />
<br />
<span style="background-color: yellow;">Optimized, you would have the following numbers in sequence:</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;">1 - 6 - 11 - 16 - 22 - 29 - 42 - 66 - 99</span><br />
<br />
You get the picture.<br />
<br />
Similarly, when you had company names, you might have the following <b>non optimized sequence</b>:<br />
<br />
Johnson - Anderson - Cooper - Lybrand - Coca Cola<br />
<br />
<span style="background-color: yellow;">Optimized, this would become:</span><br />
<span style="background-color: yellow;"><br /></span>
<span style="background-color: yellow;">Anderson - Coca Cola - Cooper - Johnson - Lybrand</span><br />
<br />
You get the picture.<br />
<br />
Problems start to pile up when companies change phone numbers. Scalable systems require you to have a database of historic information, combined with <b>Pointers</b> as I will describe below. Once you know how to design your database, it can become a valuable tool, but it requires regular testing and constant backup. Your database will become the core of your business, so you need to take this very seriously.<br />
<br />
<b>Pointers</b><br />
The idea of pointers is that you have a cutomer number with fixed information in one table, and this is then the pointer over to the order system for specific information on what the company has purchased, and pointers to delivery adresses - especially for companies that are spread all over the country. Pointers can pick specific positions in other tables, and need not be identical. You can have a company such as Coca Cola with perhaps four delivery addresses in 37 out of 50 states in the United States as one example. In other states, each bar or serving café may be a separate entity in your customer database. Pointers can help separate customer data from product data.<br />
<br />
You will get more on databases in Lesson 2. Stay tuned.Henrik V Blunckhttp://www.blogger.com/profile/17977028543812049468noreply@blogger.com0tag:blogger.com,1999:blog-4463932742770725220.post-79244350324163303892016-03-29T09:52:00.000+02:002016-03-29T09:52:08.103+02:00Fundamentals of Computing - Test SheetNow, you can finally test your knowledge in the field Fundamentals of Computing. You can take the test which is available from this location:<br />
<br />
<a href="http://blunck.dk/Fundamentals-of-computing/Fundamentals-of-Computing_Test.pdf" target="_blank">http://blunck.dk/Fundamentals-of-computing/Fundamentals-of-Computing_Test.pdf</a><br />
<br />
My best advice is that you print pages 1 and 2, and leave page 3 until you have answered all questions. Don't cheat. It is important that you test that you have understood all lessons, and circling the right answer will help you check you have full mastery over course material in Fundamentals of Computing.<br />
<br />
If you have less that 7 correct answers of the 11 questions asked, you would gain a much better understanding of this course by going through the course again, and repeating until you have at least 10 correct answers.<br />
<br />
Happy reading. Looking forward to seeing you again when you have passed.Henrik V Blunckhttp://www.blogger.com/profile/17977028543812049468noreply@blogger.com0tag:blogger.com,1999:blog-4463932742770725220.post-67926869628374368692016-02-25T00:01:00.000+01:002016-02-25T00:01:00.208+01:00Fundamentals of Computing - Lesson 9 - Finally Tying the Knots of FundamentalsWhen tying up the knots of fundamentals in computing we have looked at numerous aspects of computing. You now know how the PC works, what the BIOS is, how networks can cooperate in networks, what the operating system is all about, and what the relationship between CPU speed and harddrives speeds mean for your computing performance. You even know a bit about choosing software for your computer, and there is one thing we haven't really touched.<br />
<a name='more'></a><br />
I think it's fair to say that most people who read this introduction to the fundamentals of computing will be people who plan on working with computers as a living. Very probably as programmers. In that connection, you need to know one very important thing about computers to be succesful in doing so.<br />
<br />
<b>Scalability - Key to Success</b><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-s1ydRS1NQhU/Vs3CkIQ-fxI/AAAAAAAACWU/cgshWSt4Wc8/s1600/scalability.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="133" src="https://3.bp.blogspot.com/-s1ydRS1NQhU/Vs3CkIQ-fxI/AAAAAAAACWU/cgshWSt4Wc8/s200/scalability.jpg" width="200" /></a></div>
When you design software, you must always think how you can design your system so it can grow as a business grows. This is called scalability. It must be useful for a small company, but just as useful when the business doubles.<br />
<br />
In that connection you also need to be able to plan for the type of problems we know will arise. In a customer system, you need to have error handling when a customer has a phone number that is already in your system. You also need to handle order systems where the name is identical - and who knows whether there are two (or even three) persons called Edward Johnson in Nebraska?<br />
<br />
Scalability is closely associated with usability. You must consider your end-users when you design your system. You must include common variables in your programming. F1 for Help, Esc for Quit or Exit.<br />
<br />
<b>A Bit of History - WordPerfect for DOS, Case in Point</b><br />
In the old days, you could just as easily work with a single page document in WordPerfect as you could edit a document containing the entire Bible. What was before the active page on your screen was stored in one temporary file, and the content at the other end was stored in another temporary file, and when you saved the full document, you could really hear that the document was being stored before you moved on.<br />
<br />
WordPerfect for DOS was not, as such, a user-friendly system. Ctrl+F3 to show code (and also I believe to remember F11), Shift+F7 to print a document, then 1 to print the full document or 2 to print the current page. Such commands were remembered by the user as you moved along with that specific type of word processing.<br />
<b><br /></b>
<b>Computing - A World That Is Ever-Changing</b><br />
When the product changes, such as moves on to Windows, many of these things were removed, and changed. It annoyed users at the time - and you must know this, so you won't repeat such an error when you design your programs.<br />
<br />
The world of computing is moving on constantly. When I mentioned IDE and S-ATA in the lesson on CPUs and harddrives, the IDE format is dying. We have reached new levels of technology, and that is part of this world.<br />
<br />
If you want to work in the field of computing and programming you must be willing to change constantly. There will always be things that you thought were to-stay technologies, but they will change. Therefore tying up the knots is closely associated with going through the lessons once again. As you have read all the material once, you will be enlightened as you go over it a second time, and now is the time to remind you of something important: if anything is unclear, I would welcome your comments, because that is the only way I may be reminded if anything was overlooked. Don't be afraid to ask any questions you have. They are more than welcome.<br />
<b><br /></b>
<b>Introducing Advanced Level Lessons In Specific Fields</b><br />
In the coming days, I am preparing some twenty questions to help you in testing whether you got it all in the right way. Stay tuned as that questionnaire comes online. And then we will be running series on various special fields of interest. These will be single lesson special editions available to all free of charge. Stay tuned for more fun in <b>Fundamentals of Computing</b>.Henrik V Blunckhttp://www.blogger.com/profile/17977028543812049468noreply@blogger.com0tag:blogger.com,1999:blog-4463932742770725220.post-49086047884715782682016-02-24T15:01:00.000+01:002016-02-24T15:01:09.278+01:00Fundamentals of Computing - Lesson 8 - The Difference Between Apple and Other PCsApple has created some very unique computers when it comes to design, and numerous people in desktop publishing have had a preference for Apple computers. For the group that was previously called "IBM-compatible" PCs, there was much mysticism surrounding the Apple computer. In this lesson we will look at the history of Apple computers - and what the differences were about.<br />
<a name='more'></a><br />
In the old days, Apple computers was part of an isolated world. When you bought an Apple computer, you bought into a world where Apple was at the core of all your computing tools. You bought printers and peripherals solely for use with Apple computers. At some point, a Linux version was developed for the Mac, which along with the popularity of the internet, drove Apple to see that something had to be done about the situation.<br />
<br />
Previously, you had to format a disc on a PC to write files on it on your Apple. You couldn't format directly for the world of PCs from your Mac, and that drove numerous Apple users crazy. It was the same for people in the world of music who used Atari. You could read and write the PC format, but you couldn't format drives for 'their' format...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-hh5HPRDckRo/Vs2zJ2a0DRI/AAAAAAAACWE/WZ8_ruftYn8/s1600/SteveJobs-book.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://4.bp.blogspot.com/-hh5HPRDckRo/Vs2zJ2a0DRI/AAAAAAAACWE/WZ8_ruftYn8/s200/SteveJobs-book.jpg" width="132" /></a></div>
That type of thinking was strongly caused by Apple founder Steve Jobs. You can read more about him in the biography written by Walter Isaacson. Steve Jobs died at a rather young age due to disease - enough said about that.<br />
<br />
His legacy was, however, that even though he opened Mac for the technology which was fully compatible in both networks and computing data back and forth with PCs, he still maintained a very 'closed' operating system on Apple Mac computers.<br />
<br />
Macs were later on based on Intel CPUs which was a big change from the original Motorola chipsets. You could say that there is today far more similarity between the MacOS and Windows, mainly due to Microsoft doing the same thing, Apple did long before. As I mentioned in the first lesson on backwards compatibility, rewriting the code happened in both OS 9 and when OS X came on the scene.<br />
<br />
<b>How Is This Relevant For Us Today?</b><br />
Knowing the history is relevant because a thorough understanding requires that we know where people are coming from. In the world of computers, such knowledge lies at the root of building the foundation for working in that field - and also explains why there is such hatred between Apple users and Microsoft.<br />
<br />
We must remember that Microsoft still supplies an office suite for the Mac format, but other players have come on the market, thus pressuring Microsoft on their income from this niche in their software development plans.<br />
<br />
<b>Can I Use Mac Without Previous Training?</b><br />
Oh yes. In fact, Mac users will say they have always had the windows-based system. Anyone can use a Mac, and from the user perspective there is no difference between sitting in front of a Windows-based PC or a Mac-based system.<br />
<br />
In the world of computing, there is ONLY the one issue that you must decide whether you buy a program for the PC or for a Mac. You can't use software you purchased for one digital format on the other format. But you can interchange files without any hindrance whatsoever today. You can format USB-keys etc without any problems.<br />
<br />
In the next, and final lesson in the Fundamentals of Computing series we will tie up all the knots so you can move on to Advanced level with Thematic articles on Database theory and other subjects where we will move more in depth into the world of programming.Henrik V Blunckhttp://www.blogger.com/profile/17977028543812049468noreply@blogger.com0tag:blogger.com,1999:blog-4463932742770725220.post-38314968999888760702016-02-24T00:01:00.000+01:002016-02-24T00:01:14.890+01:00Fundamentals of Computing - Lesson 7 - Choosing Software for Your Computing NeedsWhen choosing software, we are not going to discuss the choice of single products as such, but take a look at general selections. There is much religion in whether you still prefer <a href="http://www.wordperfect.com/rw/" target="_blank">WordPerfect Office</a> or go for <a href="http://www.microsoftstore.com/Office" target="_blank">Microsoft Office</a>, whereas I was a long-time user of <a href="http://www.microsoftstore.com/Office" target="_blank">OpenOffice</a>. As always, I don't get any revenue from telling you what I know, so I hope you will listen carefully, as we consider alternatives.<br />
<a name='more'></a><br />
The important aspect of choosing software is understanding that there are different choices for different types of people. When I used <b>Microsoft Office</b> in the variation of <b>Office 365</b> at my previous workplace, one of the big hurdles was internet speed. Some functions require online buffering, and that can challenge your network, so you must assess network speed and bandwidth when making the actual choice. For private users, <b>Corel Office</b> may also be a price-efficient alternative.<br />
<br />
What is beyond doubt is that Microsoft has made considerable improvements to their operating system. I have used Linux for numerous years, while <b>Windows</b> was undergoing the transition through XP, 7 and 8. When I bought my most recent laptop, it came with an OEM version of <b>Windows 8.1</b>, and I was certainly taking the free update to <b>Windows X</b> as the biggest joy of computing - and if I hadn't made any hickups with nerding with an older version of a test and optimization system, I would have run consecutively for almost a year by now.<br />
<br />
Even after a hickup, one great improvement is that you can keep your photos, music and videos along with Documents even while you reinstall the entire operating system. This was previously only possible with Linux where you keep all your personal settings in the \Home partition. So Microsoft has listened to its critics, and the consequence is therefore a much more stable system.<br />
<br />
<b>Security Software</b><br />
Previously, you had to make decisions as to which antispy and antivirus software and which firewall to choose. Nowadays, you can settle for <b>Windows Defender</b> and the <b>Microsoft firewall</b>. Once you have taken my advice on adjusting your router to heart, you will be behind a good firewall at the first level.<br />
<br />
If you have paid subscriptions to any of the other antivirus products, you can obviously still keep them on your machine, but you should consider spending the money you spend on this in other areas that will make you more productive.<br />
<br />
<b>Choosing Your Office Solution</b><br />
As I mentioned above, you can be a happy user of OpenOffice for numerous years. Very few people need one of the paid alternatives. But when you DO move on to other office suites, you need to take three factors into account, mainly:<br />
<ul>
<li>Is the office suite fully installed on my harddrive?</li>
<li>How often is my software updated?</li>
<li>What are user reviews saying about the product?</li>
</ul>
You could add your own preferences to this list, but these three points will be important in choosing your office suite if you don't go for the free solution, <b>OpenOffice</b>.<br />
<br />
<b>Choosing Your CD-ROM/DVD Burning Software</b><br />
Nero has been the leader in this are for many years, but a new actor has also come on the scene. <a href="https://www.ashampoo.com/" target="_blank">Ashampoo</a> has both a free and a paid version of their Burning Studio software. Often you will find a rather dated version included with your purchase of an external burning drive or when you buy a new computer, and you owe it to yourself to take a look at <b>Ashampoo</b> just in case you don't want to pay for a full Nero package.<br />
<b><br /></b>
<b>Choosing Your Movie Editing/Production Software</b><br />
Similarly <b>Ashampoo</b> also has a movie studio that offers you a thirty day free trial. It's a good way to check out whether you like the program. This type of program sale is directly inspired by what we previously termed shareware. You could try before you buy. It works when you have a good product.<br />
<br />
<b>Choosing Software At Your Workplace</b><br />
When working with software at your workplace, there are important aspects to consider. One of them is whether you want users to be able to update their own programs. This can be useful in the sense that you don't have to cater for users who are already qualified to run an update of their software, but it is often very difficult to control from a network administrator's perspective.<br />
<br />
Similarly, you can run network alerts where you have specific days where you run a network wide update of all computers. This would typically mean that users just log-off when they take off for the weekend, and therefore you can set your network to shut down each individual pc once the update has finished. However, you are always challenged by people forgetting to leave their pc on when they go home. This is caused by numerous people who haven't heard that a new pc abides by greenstar standards which means it will drop to a very low power consumption once it times out to standby.<br />
<br />
It requires a bit of education of users before you can thus run an effective network, but we will look at that aspect in advanced lessons coming once we have finalized all the fundamentals of computing.<br />
<br />
In the next lesson we will take a look at the difference between Apple and 'normal' pcs.Henrik V Blunckhttp://www.blogger.com/profile/17977028543812049468noreply@blogger.com0tag:blogger.com,1999:blog-4463932742770725220.post-1022450976419212122016-02-23T00:01:00.000+01:002016-02-23T00:01:13.311+01:00Fundamentals of Computing - Lesson 6 - The Difference Between Cabled Networks and WiFiOne very important aspect of using your computer is also the ability to connect with others. Both at your workplace, where you and your colleagues are connected on a network, but also at home where you are connected to the internet through a router. In this lesson we will look at both cabled and WiFi networks, so you may understand what this is all about.<br />
<a name='more'></a><br />
While at home we don't think about networks, but that doesn't mean you are not using a network. Your computer needs and IP-address, and that is handled by your router. A router is generally a small black or white box with green lights either fixed or flashing. It is a small unit that keeps track of what units are connected to it, and offers IP-addresses according to a pre-defined set of numbers.<br />
<br />
Most often you will find information from your Internet Service Provider on how to access your router. Most people don't think much about this, but maybe you should. Now that more and more people are getting WiFi-networks in their homes, there could be some performance improvement to be collected by taking a good look at it. I will tell you more about that below.<br />
<br />
<b>First: Cabled Networks</b><br />
A cabled network is most often used at your workplace. You will see small connectors in the wall, and a cable running towards your computer. The reliability of such networks is at the top of the scale, and often takes out many of the considerations you would have in using WiFi-networks. When you turn on your computer, it will connect to a server, and your password will be matched with a user database, allowing you access to colleagues' pcs once you are authenticated.<br />
<br />
Such a network will often deny access to private computers, and therefore you should - quite obviously - have a USB-dongle in your pc if you want to use this at your workplace. Depending on the IT politics at your workplace, private documents should be stored on a USB memory stick when you want to bring these back at your workplace.<br />
<br />
<u>NOTICE</u>: You should always study the IT politics at a workplace before ever taking anything out of a company network. Even though it might be obvious that you might as well work on a document while in the train or in a bus back from work, it should be permissible before doing so.<br />
<br />
Cabled networks run at either 10, 100 or 1000mbps - nowadays, 100 megabit would be the most typical, but there could be older companies running slower networks.<br />
<br />
<b>Secondly: WiFi-Networks</b><br />
On WiFi networks no cables are involved. When you turn on your computer, you will be logging on to the WiFi network using a similar authentication, but this time there are several important aspects involved. One of them being a loss of data due to transmission authentication in a different manner.<br />
<br />
Often the data performance lost is referred to as 'overhead'. You are losing a bit of the maximum speed due to data packets being sent back and forth in a more random way. Furthermore, you should be aware that WiFi networks may be identified by users you don't want to access your network, and this is where I would like to recommend a free tool called <a href="https://www.acrylicwifi.com/en/wlan-software/wlan-scanner-acrylic-wifi-free/" target="_blank">Acrylic WiFi Home</a>.<br />
<br />
With this at hand you can see how well your WiFi network performs, and it may graphically suggest changes to your existing network depending on channels that are already busy due to your neighbors' networks, and - most importantly - will help you decide on WPS.<br />
<br />
WPS is the system whereby you can press a contact on your router, and then manually add your WiFi unit to the network. This is highly insecure compared with a real logon - which may be authomatic when you tell your unit that it should connect automatically - and I would suggest removing WPS since you very probably won't have any units that need to logon through WPS.<br />
<br />
WiFi networks typically run at approx 50 megabit, but are able to run at up to 150 megabits in many modern routers. Everything depends on what you are willing to pay, and how fast your internet service provider is.<br />
<br />
<b>What to Choose?</b><br />
It may very well be best to run through WiFi. You can take your tablet into the bedroom, or make changes in your documents without having to worry about cables being long enough when you move your computer. However, identifying data intensive activities - and reasonable security issues - should also be considered when you want to set up your network.<br />
<br />
Today, I want to share a video that shows the difference in a more graphic way. Please pardon that it advertises for FiOS. I don't get any revenue from any of the videos I share. I only do so as a matter of service to help everyone understand.<br />
<br />
<center>
<iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/mgJ53b2u3tQ" width="560"></iframe></center>
<br />
In the next lesson we will look at choosing software for your computing needs.Henrik V Blunckhttp://www.blogger.com/profile/17977028543812049468noreply@blogger.com1tag:blogger.com,1999:blog-4463932742770725220.post-66947337497206904492016-02-22T00:01:00.000+01:002016-02-22T00:01:08.681+01:00Fundamentals of Computing - Lesson 5 - The Speed of CPUs and HarddrivesIn this lesson we will look at the speed of CPUs the the role harddrives play in the overall system performance. Once again, we will be sure to remember that some aspects are historic, but they give you a pretty good idea of why there is a price difference between slower and faster systems.<br />
<a name='more'></a><br />
No one could doubt there was a difference between slower and faster systems, but at times the numbers behind the ads may confuse you.<br />
<br />
When talking about harddrives, you have TWO essential numbers besides the actual harddrive size, and these are:<br />
<br />
<u>RPM - Rounds Per Minute</u>: The number of circulations your harddrive takes per minute<br />
<u>Cache</u>: The amount of memory that caches data when you read from your harddrive<br />
<br />
<b>Rounds Per Minute - What Does This Mean?</b><br />
First of all, please take a look at this video which explains a bit about the idea of rounds per minute, before we continue:<br />
<br />
<center>
<iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/k4Faau_r7Rs" width="560"></iframe></center>
<br />
The number of rounds per minute is not in itself a determining factor, as you could see on the video. If you are going to build a desktop computer heat and power consumption won't really be an issue, but certainly could be if you are going to build a laptop. In fact, fixed disc drives will be the future - for some models already is - as there is nothing that rotates, and thus uses even less power.<br />
<br />
We will take a look at two harddrives:<br />
<br />
- Seagate Momentus Thin ST500LT012 500 GB - 5400 rpm - Interface: Serial ATA-300 - Buffer: 16Mb<br />
- MicroStorage Harddisk 160 GB - 7200 rpm - Interface: IDE - Buffer: 8Mb<br />
<br />
If you hadn't watched the video, you would probably believe the MicroStorage harddrive would be the fastest, but the transfer rates are as follows:<br />
<br />
Seagate: 300 MBps<br />
MicroStorage: 133 MBps<br />
<br />
Which brings me to the next thing, the cache:<br />
<b><br /></b>
<b>How Big a Cache Do I Need?</b><br />
In the old days, some harddrives were only mounted with 1Mb of cache, and as you can see above 8Mb and 16Mb are now the standard of the day - and some have even larger caches.<br />
<br />
It's all a matter of price. The first thing you need to do when you see a computer you want is to check reviews, and hopefully these will have benchmarks, so you can compare which system is the best.<br />
<br />
<b>What Is the Relationship With Your CPU?</b><br />
There is no need to have a super quick CPU if you have a sloppy harddrive. Your bus will be busy transferring data, and you won't get the best from your CPU. Similarly, if you have a good CPU, a graphics card that isn't delivering optimal performance won't give you a fast system.<br />
<br />
Therefore, you need the best in comparison for what types of tasks you are doing. If you are an author, and most of your work is based around word processing, your system may be fine. But when your child borrows your computer to run World of Warcraft or some other graphics intensive games, your computer will be too busy doing everything but deliver what you want. This will be seen in poor screen resolution with a less than perfect graphics quality because your system is lacking in real basic power.<br />
<br />
In the next lesson we will be looking at your network - what are the differences between cabled networks and WiFi?Henrik V Blunckhttp://www.blogger.com/profile/17977028543812049468noreply@blogger.com0tag:blogger.com,1999:blog-4463932742770725220.post-1405617059649820112016-02-21T11:03:00.001+01:002016-02-21T11:03:12.690+01:00Fundamentals of Computing - Lesson 4 - What Is the BIOS?BIOS may sound confusing, but it actually stands for Basic Input Output System. As you saw in the video in lesson 3, its role is to control what comes in and out of your machine - back and forth to the CPU and all related units and expansion cards on the motherboard. Let's analyze why the BIOS is important.<br />
<a name='more'></a><br />
A basic input output system controls all the activities on your motherboard. We say it controls your computer, because it provides the basic interface that equals how your system works with how any other computer works. Whether you buy a Toshiba, Acer, Asus or any other computer manufacturers' computers, all are handled the same way - when seen from a programmer's perspective, or as seen by your operating system.<br />
<br />
As you may remember from lesson 1, I mentioned that a driver was inserted to the system memory (RAM) when you defined your cd-rom using MSCDEX.EXE. In a similar way you have drivers that are defining for Windows what type of mouse (or trackball) you have, what graphics card you have, what sound card etc.<br />
<br />
Drivers are similarly an attempt to unify specific units into a single way of looking at units. Microsoft defined some clear standards for their operating system, which was in fact one of the few good things they did back in the old days. Let me explain, just so you get the history on this.<br />
<br />
<b>The History of Microsoft and Standards</b><br />
OLE - Object Linking and Embedding - defined numerous standards. You may have noticed that numerous menus were identical in most programs. You can see a menu from a Danish version of the free OpenOffice Writer program right here:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-Voceay4qikE/Vsl5x1mvucI/AAAAAAAACUk/1XAC7svXWWQ/s1600/menu%2Bsystem.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="69" src="https://3.bp.blogspot.com/-Voceay4qikE/Vsl5x1mvucI/AAAAAAAACUk/1XAC7svXWWQ/s320/menu%2Bsystem.jpg" width="320" /></a></div>
You know the system: Files - Edit - View - Insert etc...<br />
<br />
Similarly, the clipboard that you use to copy data, images etc from one program to another was controlled by ONE single way of copying. When you inserted part of a spreadsheet into your Powerpoint presentation, it did TWO things: it inserted a copy, but also created a LINK to your original material. Therefore, some programs may offer to UPDATE your presentation or other document when you have made changes to your ORIGINAL document. Now that explains a bit about the genius of the Microsoft operating system.<br />
<br />
<b>Backwards Compatibility - One Achilles Heel for Users</b><br />
For many years, users were battling the one thing that ruined their user experiences. It got a name: BSD - Blue Screen of Death. When your operating system crashed, you got a BSD, and the only thing you could do was restart your system!<br />
<br />
For many users the unfortunate thing was that some of the issues were also related to the fact that some computers were in stock at manufacturers for months. When they were produced they had the most recent version of BIOS on them. But as time passed, errors were found, and motherboard manufacturers released updates to their BIOS. But these were only mounted on new motherboards leaving the company.<br />
<br />
What could you do? Well, you could flash your BIOS, which means updating it. You simply downloaded a new BIOS, and ran a program to upgrade your BIOS. These were created using two-three main trends, AMI being one of them - <a href="https://ami.com/" target="_blank">American Megatrends Inc</a>.<br />
<br />
It is claimed by some that you don't need to upgrade - or flash - your BIOS. I won't argue over this, but simply state I do so every time I buy a new computer. I buy laptops, and I want the latest in BIOS capability, and don't want my system to be suffering from whatever bug may have been found since my system left the Acer manufacturing plant. Whether you will do the same is your choice. We won't spend time discussing it.<br />
<br />
Now, to finalize the issue of backwards compatibility in Windows, you will probably have noticed that some programs simply won't run any more under Windows 10. That is simply because Microsoft made yet another wise decision: it would terminate the backwards compatibility issue by recreating the entire code running as your Windows operating system.<br />
<br />
That is the single best decision ever! For you and me as users, this is a definite decision to begin using the very latest in communicating with hardware.<br />
<br />
<b>Your Graphics Card - One Example</b><br />
Let's take a look at graphics. In the age of DOS, and first versions of Windows, you had games that took advantage of gamer graphics cards. You had a cable on the back of your 'original' graphics card going directly into your graphics enhancement card, and then a cable going up to your screen. You could hear a click when the enhancement went into active mode.<br />
<br />
In a similar way, recoding the entire system has now taken FULL advantage of all standards connected with image handling etc, and that is useful because drivers are now even more useful interfaces now that you know you only need to 'support' one operating system.<br />
<br />
To say it more clearly: you can create better drivers now that you only need to think: Windows 7, Windows 8 or Windows 10 - previously you could create three drivers, but your newest driver still needed backwards compatibility due to the operating system itself.<br />
<br />
<b>Final Technical Overview of a BIOS</b><br />
Even though BIOS constantly controls the bus, and how units interact, the most noticeable part of the BIOS is in the startup of your computer.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-VFrrWOpwt1I/VsmJJxQtn6I/AAAAAAAACU0/5O2tjajCgGA/s1600/bios-boot-order.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="239" src="https://4.bp.blogspot.com/-VFrrWOpwt1I/VsmJJxQtn6I/AAAAAAAACU0/5O2tjajCgGA/s320/bios-boot-order.jpg" width="320" /></a></div>
When you boot your computer, you want your harddrive to be the first boot device. The only exception is if you want to install a new operating system from cd-rom. You would then enter your BIOS, and define your CD-ROM drive as primary boot device, and the harddrive as secondary until your operating system is installed.<br />
<br />
It is only a matter of seconds, but if you have a habit of having a cd-rom in your drive, you don't want your system to look for a boot-up procedure, when all you need is for your computer to boot from the harddrive.<br />
<br />
In the next lesson we will look at the speed of your CPU, and the role harddrives play in your user experience.Henrik V Blunckhttp://www.blogger.com/profile/17977028543812049468noreply@blogger.com0tag:blogger.com,1999:blog-4463932742770725220.post-47253961056210295862016-02-21T00:01:00.000+01:002016-02-21T00:01:09.820+01:00Fundamentals of Computing - Lesson 3 - What Is Around Your CPU?In this lesson we will look at all the contents of what you know as your computer. Your CPU is surrounded by a multitude of units, all united by a motherboard. This is the first step into actually understanding the makeup of your cabinet.<br />
<a name='more'></a><br />
<b>An Example of Two Motherboards</b><br />
First, I want to show you a motherboard from one of the first processors widely used. I have chosen to show you the 80286 right here:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-UvFx-8yLfog/Vsi9WPTSyNI/AAAAAAAACUM/EW5xxdqkfeQ/s1600/80286-motherboard.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="130" src="https://1.bp.blogspot.com/-UvFx-8yLfog/Vsi9WPTSyNI/AAAAAAAACUM/EW5xxdqkfeQ/s200/80286-motherboard.jpg" width="200" /></a></div>
Then, we can see a motherboard containing a CPU from the AMD A8 age:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-m62vr80Eb4U/Vsi9b-MnfDI/AAAAAAAACUQ/U3EXNPnCNMs/s1600/AMD-A8-motherboard.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="267" src="https://1.bp.blogspot.com/-m62vr80Eb4U/Vsi9b-MnfDI/AAAAAAAACUQ/U3EXNPnCNMs/s320/AMD-A8-motherboard.jpg" width="320" /></a></div>
As you can see, much has happened since the early days of motherboards. One thing you will quickly notice is that you have all the contacts for network, keyboard, graphics (for your screen) on the motherboard. In previous days, you had to spend one expansion slot for your graphics, one for serial cables, printer cables etc. Nowadays, you can still expand your graphics through the AGP-port, but for most activities, all the contacts will be sufficient for most normal tasks.<br />
<br />
If you look at the bottom right, these are expansion slots for memory (RAM), and at the bottom you will also see the connection for power internally.<br />
<br />
<b>How This Works</b><br />
When you press a key on your keyboard, it is moved through the bus on the motherboard to the CPU. The bus can be compared to a road. In the old days, you only had one lane in and one lane out. Now, you have multi-core processors that can handle several things simultaneously.<br />
<br />
The information is processed in the CPU, and data is moved through the bus to your graphics card, and things start to show up on your screen.<br />
<br />
As many of you will probably have guessed, we now work with sound simultaneously with graphics, and thus your podcast is run in one activity, while you can sit and write this in your blogging software as I am doing right now. All of this is controlled in real time, which takes up a certain amount of your CPU. When data 'flows over' what can be in your RAM-memory, it is transferred over on a swap file on your harddrive. A swap file is what you could call a temporary amount of extra random access memory.<br />
<br />
As you can imagine, that is what takes up some time when you run big programs, and therefore the design of your motherboard is highly important. Oftentimes you need to Google the manufacturer of the motherboards to see which have the best performance. <br />
<br />
A good way to illustrate this is this video I found on YouTube:<br />
<br />
<center>
<iframe allowfullscreen="" frameborder="0" height="253" src="https://www.youtube.com/embed/AkFi90lZmXA" width="450"></iframe></center>
<br />
In the next lesson we will look at the BIOS, so you can understand what this is all about. Please remember as you move along these lessons, that every knot will be tied up. Don't worry if something seems confusing to begin with. I will explain it all. Even so, you are also welcome to add a comment if you need more information.Henrik V Blunckhttp://www.blogger.com/profile/17977028543812049468noreply@blogger.com0tag:blogger.com,1999:blog-4463932742770725220.post-91475749748215978812016-02-20T14:34:00.001+01:002016-02-20T15:02:36.076+01:00Fundamentals of Computing - Lesson 2 - How the Computer WorksA computer consists of several units each adding up to what you see as a small miracle machine that will serve your every wish. If you wondered why we didn't look at Windows in the first lesson, I will explain that in a future lesson. Right now we are building up the fundamentals you need so you can understand what a computer is all about.<br />
<a name='more'></a><br /><br />
<b>The Core of Your Computer - The CPU</b><br />
CPU stands for Central Processing Unit. This is what lies at the core of your computer. When measuring speed we talk of megahertz and gigahertz. My first computer ran at 12 megahertz. The one I use today runs at 2 gigahertz, or expressed also as 2,000 megahertz.<br />
<br />
Computers work with 0 and 1 at their core level. If you had to explain 4 to a computer it would be rendered as 100 - not one hundred, but four, because of the binary numbering system, which works as follows:<br />
<br />
00000001 = 1 (one)<br />
00000010 = 2 (two)<br />
00000011 = 3 (three)<br />
00000100 = 4 (four)<br />
00000101 = 5 (five)<br />
<br />
I am sure you get the system. :-)<br />
<br />
When you want your computers to do something for you, you need a program. Nowadays, it's so commonplace to just think of clicking a program, so many forget this, but please read as we go along these lessons, so you get the full understanding of what computing is all about.<br />
<b><br /></b>
<b>What Programming Is All About</b><br />
In the old days, computer programming languages could either be BASIC. DOS 3.3 came with a GW-Basic enterpreter.<br />
<br />
When you wrote programs in GW-Basic, you worked with line numbers, such as<br />
<br />
10 CLS - clearing the screen<br />
20 PRINT "What is your name? "<br />
30 INPUT NAME$<br />
<br />
If you made an error, for instance forgot something, you could insert a line number 21, 22 etc, and then renumber your line numbers, and everything got quite tedious looking back and forth in your source code. The GW-BASIC enterpreter "translated" what you programmed into machine code. We will look at that later in this lesson.<br />
<br />
With the arrival of DOS 5.0, the QBASIC enterpreter (Quick Basic) was introduced. It added new functions to basic, and line numbers were removed. It began to look a bit like other programming languages that were available such as Turbo Pascal which was very commonplace in it school environments. You still had to run the QBASIC environment for your programs to work, so you had to make sure that the person you were going to send your program to had the same operating system as GW-BASIC was not compatible with QBASIC, and GW-BASIC didn't come along with MS-DOS 5.0, so when people didn't have the old executable, they couldn't run the program. But let's not lose ourselves in this...<br />
<br />
What IS important is knowing that for a computer to execute your instructions it needs machine code. If you tried to open your notepad program in a Notepad window, you would get gibberish such as this:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-Po7E_H6v-Gc/VshqFc-8aoI/AAAAAAAACTw/kPj7HUKbCgw/s1600/computing-machine_code.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="206" src="https://2.bp.blogspot.com/-Po7E_H6v-Gc/VshqFc-8aoI/AAAAAAAACTw/kPj7HUKbCgw/s400/computing-machine_code.jpg" width="400" /></a></div>
What you see is impossible to read, but your computer can understand this - which is even shown in somewhat simplified format.<br />
<br />
Computers understand a hexadecimal format, where numbers run in the following system:<br />
<br />
1 = 1<br />
2 = 2<br />
...<br />
9 = 9<br />
A = 10<br />
B = 11<br />
C = 12<br />
D = 13<br />
E = 14<br />
F = 15<br />
<br />
In the old days, you could write assembler code where you pushed and popped according to specific ram addresses for specific variables. When you added a 1 to a certain position in memory, you could provoke the system to reboot, thus starting everything back as you had just turned on your machine. And you could also poke at another area to simulate a cold start, when you wanted to get into your computer's BIOS, which we will be looking at in a future lesson.<br />
<br />
In the next lesson we will look at what is around the CPU, so stay tuned for more on the fundamentals of computing.Henrik V Blunckhttp://www.blogger.com/profile/17977028543812049468noreply@blogger.com0tag:blogger.com,1999:blog-4463932742770725220.post-80577557703744925482016-02-20T14:06:00.000+01:002016-02-20T15:02:27.041+01:00Fundamentals of Computing - Lesson 1 - The Operating SystemNowadays, youngsters think Windows or MacOS (or sometimes Linux) when you talk about computers. The mouse and little icons have become so commonplace that no one considers that there was actually a time when we didn't have these little icons. Back in those days we had an operating system based on commands entered on a command line. That system was MS-DOS, licensed by IBM for their own machines as PC-DOS, and even 'copied' by a competitor as DR-DOS.<br />
<b></b><a name='more'></a><b><br /></b>
<b>Commands - A Quick Overview</b><br />
When you wanted to know what files were in a directory (what you would know as a Folder), you entered the command<br />
<br />
<div style="text-align: center;">
DIR</div>
<br />
When you wanted to see the content of subdirectories also, you could enter the command<br />
<br />
<div style="text-align: center;">
DIR /S</div>
<br />
As you will have guessed, you often ended up not being able to read all the files, as their names just ran across the screen, and you would only see the last 20 or so files. Therefore you could ass /P to the command, thus ending up with<br />
<br />
<div style="text-align: center;">
DIR /S /P</div>
<br />
You could check the health of your harddrive using the command <b>CHKDSK</b> (standing for Check Disk), and likewise, you could format new discs using <b>FORMAT A:</b> when the disc was in the A-drive, the first drive on your system.<br />
<br />
<b>The Drive Letters - A Quick Overview</b><br />
Drive names had a convention set up along the following system:<br />
<br />
A and B - floppy drive letters (3½" containing either 720 kilobytes or 1,44 megabytes and 5,25" containing either 360 kilobytes or 1,2 megabytes)<br />
C through Z - hard drive letters<br />
<br />
When you had a cd-rom drive (these could - and still can - contain approx. 650-700 megabytes), you often defined the cd-rom drive as the D-drive using the MSCDEX.EXE program with various additions such as what driver was to be used for MSCDEX to interpret your specific version of the cd-drive you had in your system.<br />
<br />
When you had a bigger hard drive, you had often partitioned it into several drives, and thus you would have C and D as your hard drives, and then E as your cd-rom, when you had such a drive, which was not all that commonplace when I bought my first 80286 running at 12mhz with a 65,5megabyte hard drive. :-)<br />
<br />
<b>The DOS Operating System - A Quick Overview</b><br />
When I bought my first computer, it was originally equipped with MS-DOS 3.3. Soon after, the operating system was upgraded to version 5.0 which I bought on I believe it was three discs. DOS stands for Disc Operating System, and was totally command based. DOS in version 5.0 changed this for two programs. Now CHKDSK was replaced with SCANDSK, and we got a defragmentation program, SPEEDSK.<br />
<br />
Along the line, DOS appeared in versions 6, 6.2 and finally 6.22. There was also a version 7 which I never got to use, but wanted to add it just for the record.<br />
<br />
In the next lesson we will look at how computers work. Stay tuned for more about the fundamentals of computing.Henrik V Blunckhttp://www.blogger.com/profile/17977028543812049468noreply@blogger.com0