Advertisment:

Thursday, December 31, 2015

Cloud Computing - is it Rainy Today?..

The term basically refers to performing computing activities online instead of offline (using the computer's hardware).  it means that individuals  or organizations lease remote  memory space and software , that are stored away from their physical location, and use them through the internet. 

The basic advantage of this model is that the customer doesn't have to purchase in advance software or memory space, but purchases them on demand only and for the extent he/she may need.   This feature often saves a significant portion of the computing costs of an organization.


The basic types of service available on Cloud Computing:


First, Sotfware-as-Service (SAAS), which refers to the use of computer programs installed on the supplier's servers, and the user makes use of them through the internet.  Prominent SAAS software examples: Gmail, online gaming.


Second, Infrastructure-as-service (IAAS), which refers to use of memory space of the supplier by the user.  Prominent examples: site hosting, backup storage.


Third, Platform-as-Service (PAAS), which refers to the use of developing platforms by the user in the process  of writing and testing software, such as: Linux emulators, online compilers.


The financial cost reduction using Cloud Computing derives from several factors:


First, no need of purchasing expensive hardware devices, such as: servers.


Second, no need of purchasing in advance expensive software products, such as: operating systems, Integrated Development Environment (IDE).


Third, no need of hiring local maintenance experts for the software and hardware.


Fourth, no need to deal with disaster relief procedures, as the supplier deals with it.


Fifth,  no limit of resources availability.  for example. if there's a shortage of memory space, there's a possibility of purchasing additional small size memory.


Sixth, no dependency on a specific location where software products are installed.


The shortcomings of Cloud Computing can be roughly divided into the following:


First, dependency on the supplier.  The latter may run bankrupt or have many operational failures. In such a case, the user can't do anything to prevent his own setback.


Second, possible security holes regarding the employees of the supplier, who may cause damage to the user's data.


Third, difficulty in communication between software products which are located on  many different servers.  For instance, SQL database that has to communicate with a web script held on another server.



Fourth, difficulty in managing software platform without the ability to access the hardware (because it belongs to the supplier).  For example, running a disk compression may be necessary for a software running but the user isn't permitted to do that.


Prominent Cloud Computing suppliers include:


1. Elastic Compute Cloud (EC2) of Amazon - The most well-known service, which allows memory space & infrastructure software  leasing.

2. App Engine of Google, which allows development & testing of Java/pythons application on remote servers.

3. Azure of Microsoft - which allows mainly platforms for online development of software.


Summary, Cloud Computing is here to stay, but due to its vulnerability concerning security, I believe that the move of organization to work with this model is going to take more than a few years.

Friday, October 23, 2015

Your Lapotop's Battery - Welcome to Your Headache

Your Laptop's Battery - a Few Important Points to Remember Your battery is low again, ah?? Here's a pack of small details you probably don't know yet, and might be helpful for you:

1. What's better : keeping the laptop plugged in to the power socket or letting it get empty and recharging it ? most of you might jump and say "sure, keeping it plugged in". Wrong! the battery is like a muscle, if it gets some training, it preserves its potency. If it's always fully charged, it gets older very fast.

2. If you think that after some 6 months with the laptop, the battery holds for less hours than when it was brand new, you're absolutely right! To know exactly how much capacity the battery has lost, you may use the following software: http://download.cnet.com/BatteryBar/3000-2094_4-10866804.html

3. Along the laptop's life, the power meter (this little meter that tells you how fully charged is the battery at the moment) gets less & less accurate. This may cause you problems like: sudden shutting down of the laptop while doing something important. You can fix this issue by "recalibrating" the battery.

How to recalibrate:

a. Charge your battery completely. Then,wait 2 hours with the laptop plugged in.

b. Drain the battery completely (till the laptop turns off). Then. wait 5 hours.

c. Charge again the battery. Now, the power meter should be more accurate.

4. When is the appropriate time to dump your battery and purchase a new one? Experts claim that it's recommended to keep the battery while it's at least 25% of its original strength. Below this point, the battery can't give you a reasonable service.

Summary - the battery is the laptop's #1 headache, but using the points I've mentioned, might prevent this pain from becoming a migraine..

Wednesday, September 30, 2015

The Prominent Programming Languages

Ladies and gentlemen, I'm glad to elaborate on an interesting yet unclear question: which programming languages will offer the most jobs in the next 5 years or so. In other words: if you are a fresh college graduate or in a turning point of your career, which programming languages should you put an emphasis on in order to maximize your job prospects. I'll answer this question in division to the most prominent fields of programming today:

1. Web sites: PHP - server scripting language i.e scripts which run on the server and respond to the user who browses internet. When you log in to your bank account, you need the bank's server to communicate with you, and this is done by PHP scripts running on the server. Obviously, because most of the web communication requires server scripts, the need for PHP knowledge is expected to be constant.

2. Mobile app: Android - iOS fans, I'm sorry to let you down, but the world is going for the Android side. The reason: Android is free and that's crucial for mobile customers in the developing world, which is most of the humanity. On the other hand, the vast thrust power of Google delivers Android to huge markets, and except of Windows, there is no real opponent to Google's domination. So: Java is the main programming language for Android applications.

3. Windows software - Many of us dislike Windows as an operating system, and for a good reason. But there's no debate that Windows holds the lion share of the market. Most of the development for PC computers is done for Windows. And what is the programming language (and environment)? C# (C Sharp) with the Visual Studio development environment. So what are you waiting for? Start coding now!

Friday, September 18, 2015

IT Professional After 40? Are You Still Alive?

Ladies and Gentlemen, I've been bothered by an issue that I guess has bothered many in the Information Technology industry: the job market after the age of 40 (or so).

It's very common to believe that  IT professionals after 40 are "old merchandise"  and such who get fired  might find it very difficult to find a new job.  The punchline here is that this nuisance deters many young people from getting into an IT career in the first place, so I believe that we need to find a few points why this fear is unbased on reality or at least exaggerated:

1. Statistically, there is no  proven issue of unemployed aging IT professionals  i.e. you can hardly find unemployment statistics that show conclusively that after a certain age, these professionals tend to "evaporate" from the job market.

2. The IT industry started developing massively only in the 1990s.  This means that most IT professionals have been in the business for no more than 20 years.  This can explain the relatively low average age in this industry, as opposed to the belief that the low average age implies an age bias in the field.

3. The IT industry has an unwelcome characteristic: many professional employees move buy their 30s to managerial jobs, leaving behind their technical skills.  On the other hand, most jobs in the market are technical (mostly: software development, database administration, quality assurance, network administration).  the consequence is clear, many employees find themselves (at their 40s and 50s)  out of work and out of relevant technical experience.

4. Many IT fields are suitable for freelance work.  This means that  professionals  may engage in independent  work from  their home offices.  Freelancing is not for everyone, but the very fact that this option is available is highly important.  Professionals who make sure they keep abreast with the technological change over the years and decades, will seldom find themselves out of work.

5. Let's say that there is an age bias in this field.  But complaints about age bias prevail in most careers.  I can't think of many academic careers who don't present some degree of age bias.

Summary - I'd check thoroughly  where the rumor about age bias comes from: I'd look for 40+ unemployed professionals and check their stories out.







Wednesday, September 2, 2015

Are Applications Going to Replace Desktop Software

Ladies and Gentlemen, today I am going to elaborate a bit on a phenomenon that I've come across in recent years: mobile application (in platforms like: iOS or Android) coming straight into our lives, consuming hours of our time daily.

 This is no secret to say that these applications have infiltrated niches that previously were implemented by desktop software. Interesting niches coming into my mind: instant messaging (like: Whatsapp vs. Yahoo Messenger), Games (when have you played games on a PC since the app have come in).

Does PC software stand a chance, or will it diminish to almost nothing compared to the vast ocean of applications? Reasons why applications are going to make PC software disappear:

 1. Applications are mobile and can be used everywhere. Software can be used on computers, which means that you can use them while sitting on the toilets..

 2. Applications are very easy to install and uninstall, usually a single click and 20 seconds of downloading. Software takes a longer time to install and uninstall, usualy not less than 2 minutes.

3. Applications serve a wider spectrum of niches. many niches can't be supported by software, as it's confined to static work station. Software can't give you road routing advice or answer where is the nearest restaurant.

 Reasons why PC software is going to survive:

 1. A PC has a large screen, thus many niches of programs can't really function properly on other devices. Can you write code on a mobile phone? Can you edit a photo on small tablet?

 2. A PC has a superior computation strength, thus many types of software can't even be run on mobile devices. Can you think of playing FIFA games on a cellphone or even a tablet? The players would run slower that your grandmother..

 3. A PC has a comfortble keyboard which enables the user enter inputs much faster than on mobile devices. This gives an advantage to PC software with users who feel more natural with a physical keyboard.

So what is going to happen? The most relaistic scenario is that PC software will gradually diminish to a level where it serves mainly office routines tasks: letters, spreadsheets, software development, graphic design. We need to take into consideration that the mobile devices (especially tablets) will improve tremendously in the future decade, so the technical advantage of the PC is going to be minimized.

Thursday, August 13, 2015

Firefox Add-on: Spelling Checker

Ladies and gentlemen, let me introduce to you a series of Firefox add-ons called "Spelling Checkers".  First, what is an add-on: it's a small software embedded on the Firefox browser and enables it give the user additional experience.  For example, a video downloading add-on lets the user download videos directly from the browser.

So what are the spelling checker add-ons: they enable the user select a text on a web page and immediately get a spelling check performed on this selected text.  The misspelled words are marked in bold, so the user can know where are the spelling mistakes.

Why use these spelling checkers instead of spelling checkers implemented in Windows software or websites?  In my opinion, it's just much more convenient: the user doesn't have to switch web pages let alone open a software.  The user just select a text and clicks on an icon located on the browser.

What are the drawbacks of these spelling checkers: they are based on a vocabulary database, which may cause "false positives" i.e words being diagnosed as spelling mistakes without a reason.  Why? plural forms of words (for instance) can  mislead the spelling checkers, which simply compare the selected words against the vocabulary database.
 
What languages are covered by these series of spelling checkers? obviously, the most spoken western languages are covered: English, Spanish, Portuguese, German and Italian.  Future spelling checkers may deal with languages like: Russian, Arabic, Japanese and Korean.

The spelling checkers are technically supported by email.  As I tried this support personally, the user can get a response within a day and the support is quite comprehensive.



Sunday, July 26, 2015

Webmaster - The Master of the Web

Ladies and gentlemen, this week I'm going to write a bit about some sort of a guy. We know him as a "Webmaster", think he's a fat lifeless geek who does something with our website or websites we try (in vain) to work with. So I'm going to elaborate a bit about this newly created profession. I'm going to refer to a few questions:

1. What is actually a "Webmaster" and what's his daily routine?

2. What are the qualifications for being a webmaster.

3. What are the advantages of this job.

 4. What are the disadvantages of this job?

 5. Summary - who should consider this career path seriously? What is actually a "Webmaster" and what's his daily routine? A "Webmaster" in its basic meaning is a person managing a website.

 As simple as that. But if we wish to elaborate a bit, we could say that the webmaster's job consists of:

 1. Build websites, including picking up the technology for them and entering contents to them. Nowadays most of the websites are built on site "baking" platforms (such as: Joomla, Wordpress, Blogspot) and the webmaster should be familiar with working with them.

 2. SEO - search engine optimization i.e. promoting the website to appear as high as possible on Google and other search results, as this is the main source of traffic for the website.

 3. Serving customer support both to the owner of the website and its visitors, in order to improve its quality and answer questions regarding its use.

 4. Security - forming a security policy for the website ensuring its survival and smooth running. Preventing hackers and viruses harm the website. What are the qualifications for being a webmaster?

 There are 2 main approaches for this question:

 1. Study a BSc degree in Computer Science or in Information Systems for 3-4 years and then start working as a junior webmaster or a junior web developer. The advantage: improved learning capabilities and work discipline.

 2. Study a short Webmaster course (3-4 month) and find an employer willing to hire you as an apprentice.

 The advantage: a short training track. The disadvantage: limited learning capabilities and not mentally prepared for this kind of work. "Learning capabilities" - in computing, a professional is demanded to keep learning new material almost on a daily basis, as the computing field is infinite in size and challenges always pop up. Thus improved learning capabilities are an asset for long time work in the field. "Mentally prepared" - Computing work require sharp capabilities like: long time concentration, perseverance in solving problems, working in teams or well organized work abilities. What are the advantages of this job?

 1. Playing your computer and your Internet for 45 hours a week on duty - bookkeeping? sales job? teaching? Playing! This is a job in which you live online: get new content every day, look at other sites in order to improve your sites, watch Youtube video for getting ideas for your sites.

 2. Young atmosphere - in this job you always feels young, whether it's because the majority of people are young (till 30 years old) or whether it's because the creative nature of this position.

 3. Combining technical and visual skills - in this position you are both a programmer (a technical occupation) and a designer (a visual occupation), which is a rare combination between 2 almost opposite field.

 4. Money money money - this is definitely a rewarding job, as in most countries the wages are about 50% higher than the average, which is a tempting figure to people suitable for such career. What are the disadvantages of this job?

 1. Not everyone is a geek - you know, there are people in this world, unnecessarily stupid or lazy, who would climb the walls if needed to work 45 hours a week in front of a laptop. Computing work still isn't appealing to most of the population thus such a career wouldn't be as popular as a law or finance career.

 2. Age bias - this filed is relatively a young one, as the internet began its evolution in the mid 90's, so the average employee age is about 33-35 which means that 40+ year old employees might be a little old right now for this field.

 3. Always learning - keep learning new ideas and notions is absolutely fabulous but not for everyone. Most people would put up perfectly with a routine job with no novelty and no new ideas every now and then. Thus most people would find it hard to deal with the rapid evolution of the internet world. Summary - who should consider this career path seriously?

 As in every case - this career path would be great for people who are attracted to its advantages and not discouraged by its disadvantages. Anyway, I can recommend that you take a career counselling in order to check your tendencies and capabilities thoroughly and not choose a career based on the decisions of your peers.

Friday, June 26, 2015

The Future of Desktop Application vs Web Applications

Ladies & gentlemen, geeks & nerds, my dear readers - I am, as an independent software developer, in an annoying crossroad: should I keep developing web applications or should I move to development of desktop applications. The reason for keeping developing web applications are various:

 1. The trend during recent years has been to use online applications for basic needs: email, file sharing, social networks or games. Also there's has been a trend to use combined desktop & web application (installed software that functions by connecting to the web), such as: Skype or chat applications. Because most of the users are basic users (as opposed to technical users, like programmers or bloggers), this is a major argument.

 2. Web applications can be accessible from everywhere, giving users the flexibility of accessing their email,documents or images without being near their personal computers.

3. No need of installation - most people are lazy and like everything done for them. So bypassing the phase of installation or updating is definitely an argument. The reasons for developing desktop applications:

 1. It's very hard to believe that web applications, running on a browser, can be equal or better than desktop applications. It's important to take into account, that browsers (by their nature) are quite restricted in using the computer's hardware. This issue is crucial in complex applications (like: image processing or sound processing applications).

 2. Confidentiality - When using an online application, the user's data is generally vulnerable to misuse by the hosting site. Who would want their financial data to be open to stranger's eyes?..

3. Speed - using a web application means communicating with a distant server, which makes it usually slower (depends on the user's bandwidth). Conclusion - it seems that sole desktop applications will be losing power in the next years, partially for desktop-web applications (like:Skype) and partially for web applications (like: Gmail or GoogleDocs).

Saturday, May 16, 2015

Do Not Take Your Laptop to Your Vacation!


Dear readers, today I'm going to discuss a crucial geek's dilema: you're planning to go on a vacation away from home, and struggle with yourself: "should I leave my precious toy behind or should I stick with it even when I'm on a vacation?".

I can find a few arguments for you to stick with your plastic baby. no matter what:

First, it's a disgrace for a geek to abandon his/her laptop and just enjoy. For a geek to do such a thing is like for a troop to leave his weapon behind. Shame on you for even considering it!

Second, no vacation can be a real one without some decent gaming time without anyone around nagging you. Once a geek, always a geek.

So taking the laptop on a vacation? some serious arguments against it:



First, a computer is for work. A vacation is the opposite of work. The two just don't mix. If you're on a vacation, you don't involve with objects relating to work.

Second, every minute you spend on your laptop, is minute you don't do what you're supposed to do on a vacation: resting, relaxing, sight-seeing , dancing, eating decently and above all - forgeting about everything..

Third, if you take your laptop with you, your Skype or Messenger will tell all your work colleagues that you're available, and then your so called "vacation" will be over..

My decision - leave the little attention-sucker at home and dedicate the vacation for yourself & for your family. Make the most of your free time because you don't have much!

Thursday, May 7, 2015

Desktop Applications - The End?

Recent years have seen a gradual transit from desktop applications (such that are installed on the computer) to web applications (such that reside on a web page).




Why should we think that the web is about to take the primacy in the software world?

First, the social networks niche which has become the most popular use of the PC, taking captive tens of millions of enslaved fans who actually live online.


Second, the growing capacity of the web of hosting large size data platforms, like: file-sharing platforms (i.e Emule) or video-sharing platforms (i.e Youtube).


Third, Rich Internet Applications (RIA), like: Flash or Silverlight, that give the user graphic quality equal to that of desktop applications.


Forth, users nowadays prefer logging in to their applications from everywhere (including mobile phones), so applications that are attached to a PC frequently may be conceived as old-fashioned.


So why are desktop applications still with us? I can think of a few reasons:


First, the power of the habit: people are used to downloading stuff to their computers, and among computer geeks or gamers downloading is simply a ritual. An entire industry of downloading and file-sharing is still alive and in full strength.


Second, the physical network (the communication lines) are way behind the size of data which is needed to go through them, especially in developing countries. This means that heavy applications get stuck in the way, giving desktop applications a chance of remaining relevant.


In short, the web becomes more and more dominant within the PC use and the desktop applications will become more and more expandable, but this process may take decades.


Do you think differently? Tell me!

Thursday, April 30, 2015

Cloud Computing - is it Rainy Today?..

The term basically refers to performing computing activities online instead of offline (using the computer's hardware).  it means that individuals  or organizations lease remote  memory space and software , that are stored away from their physical location, and use them through the internet. 

The basic advantage of this model is that the customer doesn't have to purchase in advance software or memory space, but purchases them on demand only and for the extent he/she may need.   This feature often saves a significant portion of the computing costs of an organization.


The basic types of service available on Cloud Computing:


First, Sotfware-as-Service (SAAS), which refers to the use of computer programs installed on the supplier's servers, and the user makes use of them through the internet.  Prominent SAAS software examples: Gmail, online gaming.


Second, Infrastructure-as-service (IAAS), which refers to use of memory space of the supplier by the user.  Prominent examples: site hosting, backup storage.


Third, Platform-as-Service (PAAS), which refers to the use of developing platforms by the user in the process  of writing and testing software, such as: Linux emulators, online compilers.


The financial cost reduction using Cloud Computing derives from several factors:


First, no need of purchasing expensive hardware devices, such as: servers.


Second, no need of purchasing in advance expensive software products, such as: operating systems, Integrated Development Environment (IDE).


Third, no need of hiring local maintenance experts for the software and hardware.


Fourth, no need to deal with disaster relief procedures, as the supplier deals with it.


Fifth,  no limit of resources availability.  for example. if there's a shortage of memory space, there's a possibility of purchasing additional small size memory.


Sixth, no dependency on a specific location where software products are installed.


The shortcomings of Cloud Computing can be roughly divided into the following:


First, dependency on the supplier.  The latter may run bankrupt or have many operational failures. In such a case, the user can't do anything to prevent his own setback.


Second, possible security holes regarding the employees of the supplier, who may cause damage to the user's data.


Third, difficulty in communication between software products which are located on  many different servers.  For instance, SQL database that has to communicate with a web script held on another server.



Fourth, difficulty in managing software platform without the ability to access the hardware (because it belongs to the supplier).  For example, running a disk compression may be necessary for a software running but the user isn't permitted to do that.


Prominent Cloud Computing suppliers include:


1. Elastic Compute Cloud (EC2) of Amazon - The most well-known service, which allows memory space & infrastructure software  leasing.

2. App Engine of Google, which allows development & testing of Java/pythons application on remote servers.

3. Azure of Microsoft - which allows mainly platforms for online development of software.


Summary, Cloud Computing is here to stay, but due to its vulnerability concerning security, I believe that the move of organization to work with this model is going to take more than a few years.

Thursday, April 23, 2015

How Computer Geeks Become Such?..

This morning, while still half-asleep, I was wondering - how do geeks become programmers, you know - those pale people who lean on their monitors and make the computer (and the smart phone) work.



So I browsed the web and collected some prevalent reasons.  If one of you knows of another good reason to become a coder,  this is the place  to share:




First, many programmers start their practice while being teenage computer freaks. They start somehow reading some basic  programming books  and start creating codes, and oops.. get hooked and enslaved for good.


Second, some programmers like the idea that what they create may be relevant to almost every aspect of life: technology, media,art,sports,social life,politics, finance and many more.  It's the only technical field which deals with people in depth and not superficially.



Third, many software developers switch their occupation from another engineering field (especially Electronics), due to employment constraints or natural advancement.   Those professionals are trained to other engineering/scientific fields, work for several years in the mentioned occupation, and 'cross the road'  to software development.


Fourth, undergraduates in many countries are drawn to this field because it allows them a higher living standard than most other occupation in those places.  This is especially relevant to countries in Eastern-Europe and Latin-America, where the job market prospects are relatively limited so programming may be very attractive to people with high technological abilities.



Friday, April 17, 2015

News about the Web Browsers Market

The web browsers world has introduced us with some new key players during recent years: till about 2005, we were used almost completely to Internet Explorer, without being even aware to other options.

 But then, the Mozilla association woke up to offer us Firefox and then Sergei Brin's crew also did the same. In parallel, an emerging smart phone browsers market introduced us to new players like: Opera & Android browser. Let's have a look at the share each main browser holds in the browser market:

 1. Internet Explorer - 45%. This means that this portion of users uses primarily (even if not solely) one of IE versions.

2. Mozilla Firefox - 30%. This figure surely reflects a vast expansion of what used to be a marginal browser some 5 year ago. It happened much because of the vast add-on gallery the browser offers, which makes the browsing experience much more entertaining.

3. Google Chrome - 20%. Frankly speaking, it's not very surprising that a brand new browser (issued in 2009) has already gained a respectable proportion of the market, taking into account that its producer is the world's main searching tool, making it visible to almost every web user.

The figures mentioned above depict a simple picture: we have a tough competition between 3 main browser that probably will fascinate us in the coming years. In the mobile phone browser market, the figures are such:

 1. Opera - 22%. This browser is primarily structured for mobile phones, and its development platform (the environment where developers code the applications for the browser) simulates the functioning on mobile phones.

 2. Android browser - 17%. as Android is Google's merchandise, it has a significant "push forward" from its owner. so no wonder why it has gain territory recently.