Saturday, 19 December 2015

What is coding.....??????

  1. Code is a set of instructions (or rules) that computers can understand; it might be helpful to think of code as a recipe.
  2. People write code, code powers computers and computers power many everyday objects like phones, watches, microwaves and cars.
  3. In fact, almost anything powered by electricity uses code.
  4. There are many names for people who code: coders, programmers, developers, computer scientists, software engineers, etc.
  5. Computers run on binary code—written in 1s and 0s—which is very difficult for humans to work with.
  6. But just as people can understand different languages computers can understand different languages (like Python, C, C++, Perl, Visual Basic, Java, Javascript, Ruby and PHP, among others) which translate our instructions into binary.
  7. There are “low-level” and “high-level” coding languages. Lower-level languages more closely resemble binary code while higher-level languages are easier to code in.
  8. So learning to code is literally like learning a new language (learning to construct sentences, etc.).
  9. Most popular programming languages in use today are high-level languages.
  10. C is a low-level programming language that is good for graphics-heavy applications, like games.
  11. Javascript is for for the web.
  12. Perl is sometimes known as the “Swiss-Army knife” of programming languages because of it’s multi-functionality.
  13. Many coding languages share similar basic features.
  14. A text file written in a particular programming language is called a program (think a set of instructions).
  15. There are many ways to learn how to code for free or very cheap.

Ways to become a good programmer

1.Work on Basics

As it is true for any industry and any job, the conceptual understanding is the key for success. Unless one has strong conceptual foundation, he/she can never be a good programmer. The core conceptual understanding helps you in designing and implementing the best solutions in the best possible way. If still you feel gap in core computer science and your programming language specific concepts, it’s never too late to go back and review the basics.

2.Start putting question tags (how, what) with every set of code you write

One thing that I realized creating a clear separating line between good programmer and rest is that zeal to know what and how it is happening. There is small group of people who can never leave a code without knowing exactly what is happening when it executes. I understand that in tight deadlines, we don’t get this liberty always and hence have to leave the code just knowing that it’s doing its job. Although this is a bit different topic of how to handle such situations, but as a programmer one can always try the level best to dig into as much as one can. And believe me, this becomes a habit with time and then you do it unknowingly every time.

3.You learn more by helping others

Most of us have a common tendency of turning our heads towards forums or groups only when we need help. And again a clear separation between the good programmer and rest that the formers visit these places more often to help others. This makes them learn more then they learn getting their problem solved by someone else. Within a team as well, help others to solve their problems. Believe me, understanding others’ problem in their context, investigating on that and providing solutions; will leave you much more learned than before.

4.Write simple, understandable but logical code

As in almost every aspect of life, the formula of KISS (Keep it simple and short) works in programming as well. Write more logical code and avoid complexity. Sometimes people do write complex code just to prove their capability to write such codes. My experience says that simple but logical codes always works well, resulted in fewer issues and are more extendable. I remember an excellent quote
Good code is its own best documentation. As you're about to add a comment, ask yourself, "How can I improve the code so that this comment isn't needed?" ~Steve McConnell

5.Spend more time in analyzing the problem, you’ll need less time to fix it

Spend more time in understanding and analyzing the problem and designing solutions for it. You will find the rest of the things quite easily doable. Designing not always mean using modeling languages and tools, it can be as simple as looking at sky and thinking solution in your mind. Those who have habits of pressing keyboard (for coding) the moment get the problem, usually ended us something different than the requirement.
If you cannot grok the overall structure of a program while taking a shower, you are not ready to code it. ~Richard Pattis

6.Be the first to analyze and review your code

Although a bit difficult, but try to break your own code before others can and with the time you will learn to write close-to-bug-free code. Always do a close and unbiased review of your code. Also never hesitate to take others view on your code. Working with good programmers and taking their feedbacks will surely help you become a good programmer.

7.Don’t dismay yourself by looking at changing technology world

Over these periods in IT industry, I met with many people who are either disappointed by their work or even left it to search new job saying they want to learn and work in latest technologies. I don’t see any problem with this aspiration but the very first incorrect word is the ‘latest technologies’. What we are hearing everyday and mean here is new tools, APIs, frameworks and others means coming up everyday to make the programming easier and quicker. This anyway will continue in technology world. But what needs to be understood is that the core and basic technologies changes with much lesser pace than frameworks, tools and APIs around it. This is like the sea where the surface water moves very rapidly but the deep water is relatively calm and concentrated and most of the aqua lives survive here. So, feel yourself in that deep water and close to core technologies. For e. g. in Java enterprise world, lots of web frameworks exist and new ones coming every other week. But the core concepts of request based client-server communication, MVS pattern, filters/servlets/JSP, resource bundling, XML parsing etc remains same. So spend more time in learning these core concepts rather than worrying about ever changing frameworks and tools around it. Believe me, with the foundation of core concepts, you will always find easier to learn new frameworks, tools and APIs.

8.Work-arounds don’t work for longer time

Many times software programmers implement work around solutions (may be because of lack of time, lack of problem understanding or lack of technology experience).But over the period these work around solutions always resulted in corrupting the code, making it less extendible and maintainable and lot of wastage of time later on. Always prefer to implement when you know the in-out of the solution. I understand that it becomes unavoidable in some circumstances, but it’s like, one should speak truth always but you tell lie in some circumstances.

9.Read documentation

One of the essential habits of good programmer is that they read lots of documentation. May it be specifications, JSR, API documents, tutorials etc. Reading documents helps you creating that essential foundation based on which you program in best of the way.

10.You can learn from others code as well

I interacted with some excellent programmers who actually have java source project inside their IDE all the time and read/refer that in daily work. They do it not only to fulfill their appetite of knowing the basics but also to learn ways of writing good programs. Reading and referring reliable and known open source code or your senior’s code, can also help you making your programming better.

And the last, not listed above: Don’t compare yourself with others

Your comparison of yourself with others will only result in evolution of negative feelings and un-healthy competition. Everyone has got his or her strengths and weaknesses. It is more important that we understand ours and work on it. I have seen many times that so called ‘fundoo-programmers’ (fundamentally strong programmer) also make silly mistakes. So, analyze yourself, list down your areas of improvement and work on it. Programming is a real fun, enjoy it.
Any fool can write code that a computer can understand. Good programmers write code that humans can understand. ~Martin Fowler

Learn from Computer geeks to hack

10 Computer Hacks & Tricks


1. Learn How to Use the Command Line

The truth is that using the command line is not as exciting or easy as it seems like in Hollywood movies. However, learning how to use the command line might prove to be extremely helpful. Power users adore using the command line, because they can perform complicated tasks by simply pressing a few keystrokes.
There are a wide variety of shortcuts, but it takes too much time to present them all here. However, if you want to learn more about using the command line like a pro, check the following link: Become a Command Line Ninja With These Time Saving Shortcuts

2. Find Additional Uses for Programs you Already Have

Computer nerds will always think out of the box, especially when it comes to finding new uses for the tools and programs they already use. Most programs can be used for more purposes, in addition to their original one. For instance, the file-syncing program, Dropbox, can be used to monitor your home computer, download torrents or even print files from afar. You can also use Gmail to find out if someone has stolen your phone.

3. Understand When Too Much is Too Much

When your computer starts to work a little too slow, you need to find out the real cause behind this problem. Usually, one app will slow your system down, so you need to find it and close it as fast as possible.
The following tools should help you find the real cause and terminate it: Rainmeter (for Windows) and MenuMeter (for Mac).

4. Know the OS’s Hidden Features

Every operating system (OS) has its own tricks and features hidden under the hood. System tweakers such as OnyX for Mac and Ultimate Windown Tweaker are simply great for finding secret features. If you are a Windows user, you can learn how to hide secret data inside a file, cascade specific windows or undo an accidental file move.
As a Mac user, discover how to create search tokens when searching for specific files, manage the privacy settings of an app or automatically restart your computer when it freezes.

5. Learn How to Crack Passwords

By learning how to break into a computer you will certainly increase your self-esteem. Everyone knows how to create secure passwords, but only a legit computer hacker knows to get the data they want. This is also a good exercise, because you will learn how to protect from cyber criminals in the future.
Some of the worlds most famous hackers have been hired for government operations and international projects to defend against other cyber attackers. We don’t condone hacking, it does help though to be one step ahead of a cyber bully heading your way though.
computer nerd

6. Use the Scheduling Tasks

Sometimes it is better to stop performing all that system maintenance all by yourself. The built in task scheduler allows you to run any task you need, whether it is defragmentation, picture upload, reminders or even alarms.

7. Use the Keyboard More

A true computer geek knows all the basic keyboard shortcuts, such as “ctrl-C or ctrl-V”. Learn the most common shortcuts for Word, Gmail, Photoshop and other programs you use on a regular basis. After only a few months, you will be able to blow through text boxes and menus at unbelievable speeds with precision.

8. Discover New Operating Systems

If you really want to impress your friends, you should try to learn more about Windows, Mac and Linux.
Each OS has its own pros and cons that can be noticed with ease, so learning more about each system should not be such a daunting task. The cool thing is that there is a lot of software out there nowadays where it allows you to install another operating system on your computer so you can switch between each Operating System when you please.

9. Protect Your Data

Hide your precious info into a text file and hide it in a secret location on your computer.
Don’t forget to “Empty” your Recycle Bin or Trash on your computer once you have sent unwanted files or data there, that way it makes sure that nothing can be retrieved by any surprise guests you may have access your computer.

10. Tweak Your Hardware

With a bit of professional tweaking, you can now push your computer past its original limits. Installing Mac on non-Macs and over clocking your processors are not so hard to accomplish.
There are instructions out there to find out the details of your computers hardware, google search how to find your computer models information, note down the RAM and go down the road to your local computer hard ware store and buy bigger RAM sticks eg… 8GB, 16GB, 32GB etc… (Just make sure that each stick is the same make and model if you can for the best performance.
Jump on YouTube and learn how to Install RAM in your particular type of computer, this will increase your computers memory allowing your computer to run more efficiently.


All these cool simple tricks and hacks that can be learned from computer nerds are extremely useful, but require a little time and patience in the beginning.

Enjoy them and become a true computer geek.



The cable guide

Cat 5e

This cable connects every device to your home network, allowing you to distribute movies, music and photos from PCs to HDTVs.
align="right" valign="top" style="font-size:10pt;padding:2px;background-color:#CCC">

HDMI

The current king of AV cables, HDMI carries an uncompressed 1080p video signal and up to eight channels of digital audio.

USB

The standard wire for connecting PC peripherals is also used for game-console controllers.
align="right" valign="top" style="font-size:10pt;padding:2px;">

Component

This three-plug analog technology can carry HD video up to 1080p, but cannot handle audio.

iPod Connector

Many home theater receivers integrate iPod docks or USB inputs that interface directly with iPods.
align="right" valign="top" style="font-size:10pt;padding:2px;background-color:#CCC">

S-Video

Back in the days of DVDs, S-video was the highest quality video connector you could get, but it is limited to an analog signal of 480i.

DVI

Some PCs now have built-in AV connectors, but DVI, a video-only screen output, is still the most common way to get HD images out of a computer.
align="right" valign="top" style="font-size:10pt;padding:2px;">

Composite

This video cable can only carry a standard-def image, but it is common on older equipment.

SPDIF

This optical cable transmits a purely digital audio signal from components and computers to receivers.
align="right" valign="top" style="font-size:10pt;padding:2px;background-color:#CCC">

RCA Audio

Two-plug analog RCA jacks are still the most common way to connect audio components.

Minijack

Most commonly used for headphones, this analog stereo audio connection is also the default audio output for portable devices.
align="right" valign="top" style="font-size:10pt;padding:2px;">

Coaxial

Not to be confused with coaxial audio, this is the "cable" behind the cable industry. It carries both multichannel video and Internet into your home.

Coaxial Audio

Like optical SPDIF audio cables, coaxial audio cables carry pure digital audio signals from components to AV receivers.
align="right" valign="top" style="font-size:10pt;padding:2px;background-color:#CCC">

Speaker Wire

Great big spools of this traditional wire need to be run throughout a room to carry sound from an AV receiver to surround-sound speakers.

Computer cooling system solutions

Computer Cooling System Solutions

Computers and Heat

A computer system is comprised of electronic components such as a central processing unit, RAM, motherboard, and more. As new computers become ever more advanced and are coaxed to work faster, more heat is produced by these electronic components. Required to compute more, modern systems require increased cooling and ventilation capabilities to move air through the unit, dissipating excess heat and keeping the components working within safe operating temperatures. Cooling and dissipation of heat, especially around the central processing unit, is always a cause for concern as the temperature of the interiors of a PC increase due to the amount of heat generated by the central processing unit. Excess heat that is not removed by sufficient cooling can negatively impact the normal functioning of the central processing unit and can cause circuits and components to become unstable. If the temperature increases beyond a certain threshold, then the heat interferes with the proper functioning of the PC and can cause serious malfunctions. Without a proper computer cooling system, the PC's electronic components may not be able to function optimally and the integral parts of what makes the computer work could even be damaged. Overheating can reduce the lifespan of computer components and peripheral units and can lead to data loss and irreparable damage. Processor types and other factors determine the safe thermal operating range, a range that varies from computer manufacturer to manufacturer.

Cooling Computer Systems

To remove excess heat from a computer system, a thermal management cooling system is used. Typically, a heat sink is employed with a computer's central processing unit to increase the heat dissipation area for more effective cooling. Heat sinks have thermal conductors that draw heat away from a component, such as a processor, and carry it into fins that provide a large enough area for heat to dissipate and sufficient cooling to take place. Active heat sinks incorporate a fan to keep the processor cool. There are two types of heat sinks: active and passive. Active heat sinks make use of power to run the cooling fan to cool down the system and allow concentrated, dedicated cooling of the processor, while passive heat sinks dissipate heat through convection. To get the best results from active cooling, quality fans with ball bearings must be chosen to give top performance, and for passive cooling to work efficiently, the machine must be placed in an area where there's a steady flow of air moving across the fins.
Cooling fans are used to blow cool air over the heat-generating components in a computer and to draw the accumulated hot air away from the area around the components, thus lowering the temperature of the air surrounding the components while allowing more heat to be radiated out of the case.

Using Cooling Fans in Computers

Air-cooling with fans is one of the most widely practiced ways of dissipating heat in computers. Fans are not only easy to install and maintain, but are also an effective way to remove heat from components and bring in cooler air, thus maintaining a constant optimal temperature for operation. Fan sizes, types, and placements play an important role in the efficient dissipation of heat. The most common sizes for computer fans, which are typically square devices, include 60mm, 80mm, 92mm, and 120mm. Some of the types of cooling fans often installed in computers include:
  • CPU fans, which are used in conjunction with heat sinks to prevent overheating of the components in central processing units.
  • Case fans, which cool the surrounding area by circulating fresh air through the case by drawing out hot air, drawing in cooler air, or both.
  • Hard drive fans, which are often used in systems with heat-production challenges from a lot of hard drive usage.
There are many types of solutions that can maintain the high reliability of a computer's electronic components. However, leaving the decision about a computer cooling system until the end of the design process can prove to be costly in terms of larger or more expensive solutions. Instead, consider all your temperature regulation options at the initial stages of development to reduce costs while improving design layout and establishing high reliability.

Keep Your PC from Overheating

Apart from choosing the right cooling devices for your PC, you can also increase the lifespan of the components, avoid overheating, and improve reliability by taking measures such as maintaining a clean, dust-free operating environment for your computer.
The inside of a PC should be cleaned thoroughly at least once every six months, as dust build-up can lead to heating problems. In fact, dust accumulation is one of the main causes of premature system malfunctions and reliability problems. Dust acts as an insulation blanket that prevents heat from escaping. This can cause the system to overheat. Make sure you clean the inside of the CPU, including the fans on the top of the CPU, the filters of fans, and the fan located on top of the power supply.

Computer Cooling System Solutions from NMB

Drawing on our extensive experience in the manufacturing of bearings, one of the main components a cooling fanrelies on to work effectively, NMB manufacturers reliable, smoothly operating, and long lasting products to keep your computer system cool.