Saturday, April 30, 2011

Computer Science Studies - Why Do Young People Avoid It?





 Computer Science is certainly one the most desirable academic degrees in the job market,  and enables its graduates a variety of professional tracks giving relatively high social security and a  fine financial reward.   But in the last decade (especially since the .COM bubble explosion), the Computer Science university departments across the western world suffer from continual shortage of students.
Some research has been held in order to explain the issue.  The findings point  a few clear motives for young undergraduates not to embark on a Computer Science career:



First, the common conception, that most  of the job market has moved to developing regions (mainly India but also Eastern Europe and Latin America), so there's no point of studying this field.  This has been proved statistically to be completely untrue, as the demand of Computer Science graduates has risen sharply during the last decade.



Second, the notion that Computer Science is just for 'geeks' and not for an average type of person or a girl.  This conception has been widely refuted in several researches checking the backgrounds of thousands of computer scientists and software engineers.



Third, the belief that one can work in the field without an academic degree and still succeed.  This belief received its legitimacy in the .COM bubble period, some 10 years ago, when many programmers entered the     software market without any academic accreditation.  The fact is  that nowadays, it's almost impossible to enter the software development market without a relevant degree mostly because the development capabilities of non-academic programmers fall  behind the technical requirements needed now in the job market.

Forth, the adamant claim that Computer Science academic studies are theoretical and impractical, and the student would be better-off if he/she  studies practical courses like programming languages, databases and so on.    This claim can't hold grounds because it has been evident that the theoretical basis is crucial for embedding thorough logical and numerical capabilities, which without, it's hard to have what it takes to survive in the software market for years.



Fifth, the genuine belief that Computer Science studies may lead only to a  software development career .   In fact, a large portion of Computer Science graduate find themselves in industries like the capital market or business consulting, where there is a need for highly qualified employees  logically and numerically.  The skill acquired in Computer Science studies are relevant to many  job categories across the job market.

Sixth, many people believe  that Computer Science studies are meant for people with a programming record and not for people with no programming experience.   Well, it makes sense to think that students with programming skills would have  slightly easier studies,  but it's not compulsory to have programming skills, as the academic studies don't focus anyway on the programming side but on the theoretical side.



Summary - the Computer Science field losses most of its recruitment potential due to unfounded common beliefs that deter prospect students from joining the field.  This means that rumors prevents people from having one of the most rewarding (professionally  and financially) career out there...

Friday, April 29, 2011

Cloud Computing - What is all about?





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 28, 2011

IPad - Heaven for HTML5? Hell for Flash? Both??





In April 2010, Apple issued IPad: an advancing version of IPhone and IPod.  That new  born 'baby' has been intended to supply a modified user experience mainly for its much larger screen.  At first glance it looks that the IPad might replace a laptop, but at a second glance the lack of support for Flash seems awkward.  

The cold war between Apple & Adobe is well known to every computing freak. Apple made sure already in 2007 that Flash had no place on IPhone.   Adobe tried to establish a cooperation for embedding Flash on IPhone, but Apple was reluctant due to 'mass cost of memory' of Flash and 'potential damage to user experience'.

But IPad is a different story - having a much stronger hardware intended for large screen applications, and basically there is no reason for flash not to be a part of it.    Flash nowadays is an integral part of almost every website and the chief video streaming model.   So the absence of it on IPad  is devastating  for the internet usage on IPad.  
Apple's motive to ban Flash from its products is quite obvious: Apple's main income comes from its application store (App Store), and letting Flash on, should reduce the business run at the application store.   But Apple faces a competition from Google's cell-phone operating system Android, which allows Flash, and also should take into consideration the vast impact of Video portals like Youtube.   So Apple's decision-makers have decided to solve the issue through a substitute to Flash called HTML5.

In recent years a new trend has been taking place in the software world: transition from desktop (installed on a local computer) software to web software (using a program on a website).   We all know how much Outlook has diminished and how much Gmail or Yahoo-Mail have grown in popularity throughout the last decade.  We all have heard about 'Cloud Computing' and its rapid growth.

The main scripting language of the internet world has been HTML.  But HTML fails nowadays in providing fast and reliable webpages due to the complexity of web services.  Because of this issue, several modification have been made in the traditional HTML for a better functioning.  The main example for that is Microsoft's modifications to HTML that have been relevant only on Internet Explorer.  

Microsoft's step has caused heavy losses for webmasters: other emerging browsers (i.e Firefox. Chrome) haven't implemented Microsoft 'new' HTML, so a necessity  of adapting the websites also for other browsers has been a burden on the webmasters' bank accounts.

The first firm to address the 'old' HTML problem was Macromedia, who issued the first generation of Flash, in order to enable a rich browsing environment.   Adobe got excited by the new miracle and purchased Macromedia in purpose of mass marketing Flash.  Microsoft 'got jealous' and issued its own  Rich Internet Applications (RIA)  platform Silverlight, which till nowadays hasn't achieved much international success.

Apple, much worried about the mess in the HTML world,  decided in 2007 to promote the new generation of HTML:  HTML5, in purpose of letting every browser run efficiently on IPhone and its    future generations.  Simply put, HTML5 lets the user give Flash/Silverlight up while still be able to run video/animation applications.  No doubt that Apple's push to  HTML5  has contributed to its success up to now.  Several top web portals have implemented HTML5 up to now, such as: The White-House, Gmail and CNN.  This step allows the use of the mentioned portal through Apple's smart phones.



Much depends on IPad success concerning HTML5: if the new smart-phone succeeds significantly, most large websites will have to implement HTML5 in order to stay relevant to their audience. 

Should Adobe CEO fear for his career?  not yet: HTML5 is yet in development and hasn't been fully embedded in all the browsers.  this means, that some of the features of Flash aren't yet available in HTML5. But it's surely possible that HTML5 will take control of the web within 4-5 years. 

Tuesday, April 26, 2011

This Time: Mac vs. PC Users && First Impression of Firefox4



Mac vs. PC users

A new survey gathering some 400,000 views tries to explain the issue.   The attrition battle between these two platforms (or shall we say: two civilizations) gets a new empirical aid from a new survey held by the 'Hunch' portal.

 You'll not be surprised to hear that the survey strengthens the common view of the two communities: Mac users tend to be relatively young, intelligent, well-educated ,liberal and tend to live in the big city.  PC users would rather have a Harley-Davidson &  some fries at Mcdonald's to begin with.

The 'Hunch' portal was founded back in 2009 by some MIT graduates led by Caterina Fake, who is also Flicker's founder.  The portal has done much  since then in revealing  the deep secrets of the web users.  

Viewing the survey, it's easy to see that it's not really a "scientific" research as far as it concerns the methods being used: about 50% were PC users and only 25% were Mac users.

The reason for all that:  First, Mac is much more expensive than PC, and well-educated liberal people tend to be wealthier (OMG).  Second, Mac is wide-spread in Europe whereas PC is in total control of the North-American market.  The characteristics of Mac users suit better  European computing fans rather than  American ones.  
 
First  Impression of Firefox4

The new version of Firefox brings some user-interface modifications intending to put Firefox ahead of the other major browsers (Internet Explorer & Chrome).  First of all, the reason to move to FF4 is simple: you'll do it anyhow  at some point, so why not as soon as possible?..

The first pro about FF4 is that it detects automatically which installed add-on isn't compatible with the new version and suggests to update it (if possible).

The second pro is that immediately after the installation, the user gets a page with video tutorials presenting FF4 and its new features, making the adaptation  much easier.

The third pro is the new GUI design: it looks fresher and more 'techy' than the previous one, including thousand of custom templates ("persona") to enrich the user-interface.

In short, Firefox is probably still the best browser out there: best security, best privacy, best (by far) add-on gallery & pure open-coded.   I wouldn't bet on it to remain the best in the next few years,  taking into account the dramatic expansion of Google Chrome (and the mega-force standing behind it..), but for now - it's simply the best..