Oct 28, 2015

Programming - Tutorials

   Programming is the process of creation of executable computer programs. Doing such requires a certain language, source codes can be written in 1 or more programming languages. Some examples are JavaScript, HTML5, PHP, Python and Ruby. The following text will teach you some things you should know for learning JavaScript.

Where to learn programming?

   Many people are interested in programming but yet they do not know where they could learn a language. Excluding learning in an institution, the most common way to learn might be through programming websites. Nowadays there is a wide variety of online courses which teach you a programming language, usually being focused in a single one or a bunch. Talking about JavaScript, some which you could visit are:
  • W3Schools: W3Schools is a web developers site, with tutorials and references on web development languages such as HTML, CSS, JavaScript, PHP, SQL, and JQuery, covering most aspects of web programming.W3Schools has focus on simplicity, practicing easy and straight-forward learning. It uses simple code explanations, and illustrates how to use it. The tutorials start from basic level, and move all the way up to complete professional references. I personally recommend this website to anybody who already knows the basics of programming in JavaScript or is looking to begin. To visit the page, you can click the logo.
  • Codecademy: Codecademy is an online interactive platform that offers free coding classes in 9 different programming languages including Python, PHP, jQuery, JavaScript, AngularJS, and Ruby, as well as markup languages HTML and CSS. Codecademy also provides a forum where enthusiasts, beginners, and advanced coders can come together and help each other. Each individual who joins has their own profile. To motivate users to participate, the site offers feedback, badges for completing exercises, as well as a function that keeps track of a user's total score and total day streak, and displays it to others. I only recommend this website for those looking forward to learning the basics of JavaScript, as the internal editor only supports basic operators and methods. If you would like to visit the website, you can easily do so by clicking its logo. 
  • Sololearn: Sololearn is an online platform which offers different programming languages  courses and about other things. For example: JavaScriptCSS, HTML, Excel, Photography and C++. Overall, although the content proved to be correct, the lessons move way to fast. Nobody without previous knowledge in programming could take part of this course of JavaScript and complete it. The explanations are usually short, way too summarized and hard to comprehend. On the other hand, it offers a video explanation of all the content so you can have extra information. I do not recommend this course to anyone looking forward to start programming. Instead, Codecademy or W3Schools can be a better option. If you wish to visit Sololearn, you can click its logo.
Where to write the code?

   JavaScript code can be written in any text editor. Even basic ones, like notepad, can be used. The only requirement is that when you save the file, you write ".html" at it's end to choose the format. Other text editors can be used, depending on your preferences. If you want to be more professional, you shouldn't use notepad and instead look for a more professional program. You will probably want to create something after you have learnt the basics. I totally support people who try to code something by themselves. Nevertheless, do not let that draw your attention from learning. The best thing you could do is learn what's possible with a language and test it as you know about it. Once you know the possibilities, try coding your own program and learn even more advanced stuff.

How to debug my code?

   Often, everyone gets a mistake in their code that doesn't allow them to run the program. There are multiple ways to debug your code. If you are looking for an online debugger, you could use Python Tutor. This website lets you visualize step by step your code and spot errors. It supports Python, JavaScript, TypeScript and Ruby. Moreover, you can temporaly disable your code by using comments. This way, you can aislate parts of your code and run part of it. If it still doesn't run, you know that the bug is in the rest of the code (supposing there's only one error). Another option are "flags". If your code runs correctly, but in a moment it gets an error and stops running, you can print random text in a console every some lines so you know up to where the code is correct. Finally, some programming languages offer a debugger, allowing you to spot mistakes and act according to it.

Sources


Oct 21, 2015

Programming - JavaScript

   Programming is the process of creation of executable computer programs. Doing such requires a certain language, source codes can be written in 1 or more programming languages. Some examples are JavaScript, HTML5, PHP, Python and Ruby. The following is a brief explanation on the JavaScript Basics.

Introduction

   JavaScript is the most popular programming language in the world. It was invented in 1995 by Brendan Eich. The official name is ECMA-262. JavaScript is the programming language of HTML and the Web, it allows us to program the behavior of web pages.

Variables

   JavaScript variables are containers for storing data values. Information must be stored somewhere, that is where variables take place. To create a variable you write 'var name = value;'
Values can be numbers, strings (characters), booleans (true or false), objects (multiple values with an assigned name), strings (multiple values without a name) or simply null or undefined (when there is no information). Variables can later be 'called' to take place in another part of the code by writing it's name. For more information you can click here.

Math

   Just like almost any programming language, JavaScript allows us to do calculations. For doing so it offers us some basic arithmetic operators, like + (addition), - (substraction), * (multiplication), / (division), as well as it allows us to perform other mathematical tasks with certain methods. There is a common misconception from non-programmers: the equal ( = ) does not mean equals to, but instead it is an assignment operator. This means something will take the value after it, just like with variables. For learning more you can click here or here.

Functions

   A JavaScript function is a block of code designed to perform a particular task. A JavaScript function is executed when "something" invokes it (calls it). The syntax to define a function is 'function name(parameter1, parameter2) { code to be executed }'. The benefit of functions is that they can be invoked and used as many times as needed in the program. To invoke a function, you write the function's name followed by a parenthesis, which may include parameters divided by commas. If you wish to know more about functions, click here.

Conclusion

   Although this explanation only explains the basics of JavaScript and they would probably not be understood by somebody new into the programming world, JavaScript is indeed an easy language to learn and is of great use in today's world. If you are interested in learning more about JavaScript, I personally recommend W3Schools, which offers a full explanation on many programming languages. However, there are some other websites, such as SoloLearn, which you can use to learn programming languages and save your progress.




Sources

Oct 8, 2015

Surface Pro 4

   This year, Microsoft has released the new Surface Pro. For many years, it has been trying to convince us that tablets can replace your laptop. The new Surface Pro 4 is an hybrid between a laptop and a tablet. It has a touchscreen and a Surface Pen, a pen which you can use to interact with the Pro 4. Moreover, you can buy a Type Cover, a portable keyboard and track pad which can be joint to the Surface. The following text will give some general information about the Surface Pro 4 of Microsoft.

Design

   The Pro 4 hasn't changed its overall appearance at all compared to the Pro 3. It is slightly wider in comparison, imperceptibly lighter and slightly thinner. It has the same shape and almost the same design, so only a really good trained eye would distinguish them. It could be considered like a portable PC with Windows 10 on it. Microsoft didn't worry much on changing the design, but instead, it focused on how you actually interact with the Surface.

Type Cover and Surface Pen

   The Type Cover is a portable keyboard with a trackpad. It is probably one of the biggest improvements from the Pro 3 to the Pro 4, but sadly it still doesn't come included. The keys are now raised and separated, so the Type Cover now feels more like a computer keyboard. The trackpad is now larger and has improved a lot. Moreover, fortunately, the Pro 4's display is still a touchscreen so you can use it whenever you want.
   The Surface Pen, opposite from the Type Cover, does come included with the Pro 4. Using it now feels more smooth, as it now works with new technology, making it feel like a real pen. The big downside on it, is that like it snaps magnetically to the side of the Pro 4, it has easily come out.

Performance and Battery

   The battery last for as long as the one from the Pro 3, although they are different. However, if you put test both under same conditions, you will notice the Surface Pro 4's battery lasts around 1 hour less. It can last for as much as 6 hours and 37 minutes.
   Secondly, inside, the Pro 4 includes sixth-generation Intel Core chips. There are many versions, the most expensive versions can come with a Core i7 processor and 16 GB of RAM. There is a big difference in the performance between the Pro 3 and the Pro 4. If you are looking to replace a desktop PC, you should at least be looking forward to getting one with 8GB of RAM and a Core i5.

Sources

Oct 7, 2015

Nexus 5X and Nexus 6P

   Last year, many Nexus fans were unpleased with the Nexus 6. It was a much larger and more expensive phone than the Nexus 5 that preceded it, and there was no guarantee that if you loved the Nexus 5, you’d also love the Nexus 6. This year, Google enrolled two new Nexus phones, the Nexus 5X, the first real successor of 2013's Nexus 5, and the Nexus 6P, a larger and more expensive phone than its predecessor.

Nexus 5X

   Neither the Nexus 5 nor the 5X have a great design. They don't look like a top-tier smartphone one would like to hold and spend money on. The fact that the screen used for it is the same as in its predecessor, brings down its possible durability, as the screen of the Nexus 5 has been proven to be not very effective against hits.
   On the other hand, the 5X has some advantages. Firstly, it has a fingerprint scanner in the back, making it fast to unlock without even having to look at the phone, as it is just where the index finger falls. Nevertheless, you can't unlock it this way when it is sitting on a table. Secondly, one of the biggest updates is the new 12MP camera. It is the same camera used in the 6P and is the best one in any Nexus phone. Even in strange lightning conditions it will take great photographs, but not always.
 
   The Nexus 5X has some great downsides. The charger must be used with an adapter, and it can't be charged with a wireless charger. Although the camera can take great photographs, opening it is clumsy, as it requires pressing twice the power button, which will turn it on, then off, to simply open the camera. In addition to that, it can be slow when taking photographs.

   The Snapdragon 808 processor and the 2GB of RAM have proved to be really good, making the smartphone quite fast. However, an extra Gigabyte of RAM wouldn't be bad, as some applications may open slowly. The battery lasts for many hours, more than the Nexus 5, lasting even for a whole day of use. Fortunately, the battery only takes 1 hour to fully load. The 5X comes with Android Marshmallow 6.0, and it takes full advantage of it.

Nexus 6P

   Unlike any of the previous Nexus phones, the Nexus 6P is a premium phone. It has none of the downsides of the previous Nexus versions. It is made on aluminum and it has chamfered corners and 90-degree angles, but they don't feel rough. It has a small "bulge" on the top of the back, where Huawei, the developer, has added many features. However, nobody can criticize this bulge, as it doesn't cause any harm and doesn't ruin the appearance, but instead, it makes it recognizable. It is almost the same size of the iPhone 6S Plus.
   It only has some plastic pieces, but almost all of them are for antennas, which highly improve its wireless performance. You can turn on a RGB indicator light on the upper lefthand corner, and the screen is one of those "you will never see the pixels" screen. The 6P has adaptable light settings, which work out perfectly for controlling the brightness and colours.
   The fingerprint scanner, just like in the 5X, is on the back. It is ridicously fast, but it can be annoying when you have the phone on a table, as you can't unlock it, or when you walk with the hands in your pocket, as it might get unlocked. Opposite to this, the fact that the fingerprint scanner is just where the index falls and that it is separated from the power button, makes it great. It allows you to turn it on quickly, but also to separate the function you want, either to just see notifications or the hour, or you just want to unlock it.
   Talking about the camera, Google has managed to succesfully step up with the other companies and make a great camera. The Nexus 5X has a 12MP camera, which can take great photographs, adapt to different lightnings, take a burst shot or even take 4K videos or slow-mo videos. Speaking about the burst shot mode, it is one of the new modes of the camera, which takes 8 pictures which can later be converted into a GIF or saved if you like any. Moreover, just like the Nexus 5X, you can easily open the camera by tapping twice the power button.
   Finally, the 2GHz Qualcomm Snapdragon 810 processor, the 32GB storage and the 3GB of RAM are perfect. The phone will strangly struggle with loading anything. The battery lasts for long, it charges really fast. It has a Type-C charging cable, just like the 5X. Talking about software, it has Android Marshmallow, which feels clean and natural in this phone. Taking everything said into account, you can perfectly say the Nexus 6P is a premium phone.

Sources

iOS 9.02


    Apple has released the new iOS 9.02 for iPhones, iPad and iPod touch. It is the forth update that was released for the iOS 9 in September. It comes with a bunch of bug fixes, as Apple has been working hard since the release of iOS 9. There are some reasons why you should install it inmediately and some for which you should wait.

Advantages and Disadvantages

   Probably one of the main reasons to install it right away is the security patch for the well-known passcode flaw that was discovered some days ago. Shortly after release, as it happens with everything, the users discovered a bug which allowed them to bypass the lock screen and look for contacts and photos. iOS 9.02 has fixed many problems that were present in iOS 9. However, the problems are inevitable and if you want to be more confident before installing it, you should probably wait a few days or weeks.
   Moreover, iOS 9.02 has stopped signing iOS 8.4.1 (the last version of iOS 8) and iOS 9. This means that it is impossible to go back to previous versions of the operative system, what can be useful for the users who experience some problems with a new update. Therefore, once you have installed it, you can uninstall it nor go back to your previous operative system. This fact is a great downfall for users. There isn't much information yet about iOS 9.02's bugs, but if you have already installed it, you have to know that there is no going back.

Conclusion

   Apple's new iOS 9.02 can be a great update for those who worry about the security flaw in the system of iOS 9. However, iOS 9.02 is really new and all the bugs haven't probably been discovered yet. Therefore, it is recommendable to wait for a few days or weeks, as there is no way of going back to your previous operative system.

Sources

Phone Hardware

   The hardware of a computer are all the physical components that constitute a computer system, such as motherboard, hard disk drive, monitor, mouse, etc. Depending on whether we are talking about cellphones or computers, the hardware we can find are different. The following text is an explanation on the components of a cellphone.

Screen

   Screens are one of the main parts of any phone, smartphone or not. They display information and are the way a user can interact easily with the phone itself. On cellphones, the screens are only an output device, like a monitor. Some screens, called touchscreens, also work as input devices. They allow the user to control or interact with the system with simple or multi-touch gestures which are recognized by the device.

Battery

   It is the power source of any portable phone. Due to the absence of a wire which can support it energy, it must have a battery so it can work. All cellphones have rechargable batteries, meaning the battery can be used hundreds of times before its lifetime ends.

Keyboard

   Keyboards are one of the main input components of cellphones. Nowadays, keyboards have been replaced for virtual ones, accesible through a touchscreen. We could almost be sure that there is no production of smartphones with physical keyboards.

Memory

   Memories are a technology consisting of computer components and recording media used to retain digital data. It is a core function and fundamental component of computers and smartphones. There are also other components which store information, but they are volatile, meaning that the date is lost when you turn off the device. However, this type of storage is permanent.

Camera

   Modern cellphones now have a camera. They usually have a rear camera, but sometimes they also include a front one. Normally, the rear camera will have a higher resolution. Just like digital cameras, phones have high-resolution image sensors.


SIM card

   Subscriber Identity Module (SIM) is an integrated circuit chip that is intended to securely store the international mobile subscriber identity (IMSI) number and its related key, which are used to identify and authenticate subscribers onmobile telephony devices. These allows you to make phonecalls or receive them. Nowadays, some modern smartphones have 2 SIM cards.

PCB

   Printed Circuit Boards (PCBs) are the equivalent of mother boards of computers. They are used in most small electronic devices. They connect electronic components of the cellphone. If the cellphone has a high-density PCB, meaning that it has all the components connected in a small surface, the phone can be thinner.

Processor

   The processor are the electronic circuitry within phones that carry out the instructions of a applications by performing the basic arithmetic, logical, control and input/output operations specified by the instructions. Actual phones have a processor of about 1.5 Ghz.

RAM

   Random-access memories are a form of computer data storage. They are volatile memories, meaning that when you turn of the phone the information is lost. They allow the information to be accessed in a short amount of time. Therefore, they are usually fast, but can not store too much data. There are 2 types of RAMs, Static and Dynamic.

Speaker

   It is the output component for sound. All phones have one, as they are essential for phone calls.