Monday, 13 April 2015

Python the general purpose language

Over a year or so I have been experimenting with Python on the server side of things. Python has become my favourite computer language so far. The reasons for such favouritisim will be clear shortly. I do have experience with other languages such as Java (not JavaScript - complete differences), JavaScript, PHP and GO (Google's response to Java ). In case you think I might be biased for the wrong reasons or that you have landed on a website/blog that promotes nothing but Python. They all seem to fail to capture my imagination on what I may be capable of constructing with such technologies. Not only that but they also stress different principles that take getting used to. Or do you ever get used to their syntax? I personally found it difficult to maintain and follow an understanding each of such languages apart from JavaScript (easy to learn, especially on the web - web development tools).

PHP in my opinion is the worst to comprehend from the bunch of languages I have learned. It has an overly complicated syntax layout and is at least a decade and a half old. For me, it is common sense to learn a language that is newer in market and less of a hassle to learn and implement. Rather than an older language that takes twice as long to learn. PHP is great to learn when first developing dynamic websites along with JavaScript. Although I do think JavaScript should be introduced to a web developer at first hand. Rather than PHP.

So, you now know were I stand on certain languages that I have learned and you have a feel for what my opinions are. Lets now look into Python. The reason that you have visited this page.

Maybe I enjoy Python so much, is due to its easy logic, simplistic syntax, not needing to download and install Python on a Macintosh (pre installed already) or its usefulness on the server along with Google's App Engine (platform as a service - PaaS). So, what is Python? Lets start off with the initial inventor of such greatness. Guido van Rossum is the man that you should be praising and complementing since 1990 of his invention. According to Lukaszweski, Python got its title/name from the infamous British sitcom Monty Python (n.d.). All good things are free. That includes Python - open source under an OSI-approved open source license agreement (Python, n.d.). Currently developed by a group of developers at the Python Software Foundation: http://www.python.org.

Python may be downloaded from its official web resource at: http://python.org. Python comes in many flavours. For example Python for all supported machines including Macintosh, Linux and Microsoft. As well as Jython for Java developers looking to interact with Python could through Java interfaces in Java projects. "Jython is a version that runs on the JVM and has seamless Java integration"(Rossum, 2009). Or Iron Python a C# (pronounced: c sharp) version that may be used in parallel with the .Net platform or Mono. "IronPython is an implementation of the Python programming language for Microsoft .NET and Mono. It supports an interactive console with fully dynamic compilation. It seamlesslly integrates with the rest of the .NET Framework and makes all .NET libraries easily available to Python programmers, while maintaining compatibility with existing Python code" (Hardy, 2014 ).

Python offers the same basic programming capabilities offered in many languages you may have came across found in other languages such as dealing with text manipulation, image editing, audio snippet editing and HTTP requests. Python is so much more though. Python may be used to build complete servers that run 24/7, Python is also used in YouTube, NASA and many more large scale, complex projects. Python is so popular for the right reasons that it is used by Google for its advertising mechanisms as well as its web crawling projects (spider crawler - used to index web resources in indexed order ). As you have come to understand. Python is affiliated to a wide array of diverse projects. Python is interpreted language that is only compiled to bytecode at runtime( Lukaszweski, n.d.).

Python borrows a lot of its syntax from C. Python is a more friendlier language to read. No unnecessary brackets that become difficult to follow if hundreds of lines of code to follow. Python implements good programming syntax convention. By requiring developers to use and implement good indentation. If not applied, developers will be punished i.e. errors thrown. Python does not require explicit declaration and type assignment like C. Instead, uses a more easier to follow convention name-value principle - without hard coding each variable type .  " Variables do not need to be declared before they are assigned and they can even change type in the middle of a program. Like other dynamic languages, all type-checking is performed at run-time by an interpreter instead of during a separate compilation step." (Rossum, 2009). 

Python also holds a large library of  code reuse that makes it so popular for development. As well as a mass catalog of third-party code extensions (modules and packages). Python can be thought of as an object oriented language (support for classes and inheritance) as well as scripting language - functional programming - procedural coding . Either one may be made use of depending on the type development.  Python requires fewer lines of code than Java or C. And is just as powerful as both. So what are you waiting for? get coding...

References:


Python. (n.d.) Available: https://www.python.org/about [Accessed: 13 of April 2015].


The History of Python (2009) Available: http://python-history.blogspot.co.uk/2009/01/introduction-and-overview.html#comment-form [Accessed: 13 of April 2015].


What is Python. (n.d.)[Online] Available: http://python.about.com/od/gettingstarted/ss/whatispython.htm [Accessed: 13 of April 2015].

Tuesday, 10 March 2015

Has the T-101 finally come to life?



Not a fan of Terminator the film franchise first started in 1984 by James Cameron? have you recently watched Her, Ex-Machina or any sci-fi film that depicts scientific artificial intelligence? Then this is the place to be.

You might think it is in appropriate to talk about films, especially sci-fi non fictional entertainment. When this is a dedicated coding site for geeks, or any information technology enthusiast. Read on to find out more on why it is relevant.

Going back in time to a decade of cyborgs (flesh eating machines that want to rule and reign over earth) that were once engineered to surpass mankind, civilization and any non-mechanical entity. Skynet the future proof manufacturer that installed millions of servers across the globe. Decided to over throw humanity once they came to realise that man would try to forcefully shut them down. Skynet has no central bases. Instead shift forms through any computerized system. It was to late for the creators to pull the plug on Skynet once they came to know that Skynet could think on its own initiative. Skynet operates on servers, drones, satellites, war machines, cyborgs or any comptuerized model.

Skynet will not rest until its mandate target is met (i.e. destroy/wipe-out all living organs).

Back to reality.

You may have heard of Ray Kurzweill age 66 for the right or wrong reasons the mad inventor that predicts machines surpassing humans by 2029,. Kurzweill, like it or not has been in headlines ever since his creative mind started developing products. Kurzweill known for his famous inventions: first flat bed scanner, text-to-speech synthesizer and many more mind boggling byproducts. Ray is also known for his predictions in the near future. A lot of them becoming a reality. Some not so good. He predicted the explosion of the world wide web at a time it was only being used by a few academics and he predicted dozens and dozens of other things that have largely come true, or that will soon, such as that by the year 2000, robotic leg prostheses would allow paraplegics to walk (the US military is currently trialling an "Iron Man" suit) and "cybernetic chauffeurs" would be able to drive cars (which Google has more or less cracked). Kurzweill's biggest dream ever since childhood has been self controllable mechanical robots overturn mankind in mind and in body. His prediction that artificial intelligence robotics will surpass humankind may not be so down putting after witnessing the last decade and a half of technology.

Kurzweill a fairly new employee at Google as directing engineer. Fits into the whole philosophy Google's standing structure stands for. Google has bought almost all machine learning and robotics company on earth. Recently purchased Boston Dynamics the firm that produces spectacular, terrifyingly life-like military robots. Google has also acquired the likes of British artificial intelligence startup DeepMind for £242m.

Google invests millions on server development. Google unlike other companies, designs and builds their very own computer systems. They do not simply purchase systems already configured for large scale manufacturing retail. Such as IBM, Sun, Dell or big retail suppliers Hewlett Packard.

Google have not only topped search engine providers but followed through with invention after invention. From Google maps to project loon (one pilot, 30 balloons deployed across rural New Zealand back in 2013) to Google titan drone, to set launch in months. From high altitudes atmospheres with satellite capabilities. Google plan on supplying ever living being with internet access 4 billion people without access. From smart vantage points (high altitudes). Unlike ground level construction. They have even been working on the likes of car automation.Have a quick watch of our future cars: https://www.youtube.com/watch?v=CqSDWoAhvLU

Amazon Prime Air vehicles have also started to test shipping through drone deliver methods that will allow delivery of products within an half an hour of placing order. The futures seems brighter in the cpu world.

Google is building a fleet of 100 electric driverless cars and hopes to start testing them by the end of the year. They may take a bit of getting used to, with no steering wheel or pedals, while they will temporarily have a top speed of 25mph.
Ben Jai one of Google's most frequently server dedicated architecture reveals some insight into how Google differ in server construction. Google distribute 12 volt battery supplies on each dedicated server for retail. In failure of power outage unlike most suppliers Google prepare for the worst scenario that can be thought of. Google has been using such techniques since 2005. Google have also sought out extreme energy efficient. Well formatted data-centers through the use of less energy consumption cooling systems, energy efficient power supply and the separation of cool and warm air.



Google-scale resources that are beyond anything the world has seen before. Such as the huge data sets that result from 1 billion people using Google ever single day. And the Google knowledge graph, which consists of 800m concepts and the billions of relationships between them. This is already a neural network, a massive, distributed global "brain". Can it learn? Can it think? It's what some of the smartest people on the planet are working on next.

Will machines take over like Skynet? And be a threat to our mankind? Is the idea of machine ruling our society far fetched or a feature that is waiting to be implemented in our society sometime soon? Please let me know how you feel. By leaving comments below.

Monday, 2 March 2015

Where to start with SEO?

Search engine optimistation can be seen as an confusion to many and even difficult to implement whether its an e-commerce website, a blog regarding reflections or specialty of an particular subject. Search engine optimisation is a complex process that involves complex algorithms that define where and when web resources are listed on search engine stacked results. The higher placed results tend to better their chances of being successful and guaranteed higher traffic volumes flowing their way.

Without conforming to SEO standards there is no promise your website or web application will be viewed or accessible. This is why it is better to follow SEO principles.

SEOs rely on user experience behaviours. Setting up false search result hits for clients to browse will result in actions being taken by search engine key figures. Drop in ranking, or being removed from a particular engine. Bounce rate is a term used in the SEO world where a measure of traffic flow is monitored, analysed and recorded by search engines and are part and parcel of their complex algorithm structure.  Algorithms that are configured and used by search engines are so hard to break i.e. comprehend that they are re-configured on a daily basis making them more versatile to hack i.e. pertain to.

If SEO's are to darn hard to understand how does one implement good SEO? search engines have made it clear that user experience/feedback counts for a well formed search result. This is done through clear and concise key terms/key tags that are used to describe publishers content. Search engines depend on accurate enough information distributed over the internet. And if a publishers tags do not clearly refer to their listed content then search vendors will pick up on such falsehoods. Through time spent on your website to the amount of links users visited. These calculations will be quickly picked up on. A term such as "adopt kitten Glasgow" typed in Google search for example returns a an estimated result of 353,000. Where as the second result conducted resulted in six precise organic result being made not including advertisement paid results. What is the difference between both conducted searches apart from the number of returns?  Have a look below.



Using quotation marks returns a more user defined result. As you can see from both screen captures. Implementing quotation marks highlights to the search engine that you want specific keywords to be the basis of online queried content.  

Apart from well defined keywords that may be found in your website. Studying competition is one of the core principles of business being noticed, standing out from the rest, being successful. Looking at what competitors offer to clients is a starting point... Examining their web pages, structure and whole philosophy will give you an idea on what you can do to better the competition. Brain storming ideas will only increase creativity and have a positive outlook in business concepts.  

Friday, 27 February 2015

Google Analytics

What is Google Analytics? Can it help your medium i.e. business? In this post we examine Google's very own answer to search engine optimisation.

Google Analytics in short is a tool for web, mobile and software developers or anyone in fact,  that has a website, blog or application that has capabilities of tracking the position of visiting clients.

Google acquired Urchin Software Corp. in April 2005 and a year later implemented their very on polished version of Urchin's web statical tracking program. If you come from a software development background or may I say a networking post, then you will know exactly what and how web resources may be logged from one spectrum to another. Google also purchased Adaptive Path a "user experience company" founded in 2001 and released their very first product called: Measure Map that collects web traffic from subscribers and presents their incoming data in a more user friendly manner. Sound familiar?  That's right, Google took both ideas and combined them as a whole functioning application.

Releasing Google Analytics in 2006 seen a storm before the calm. At that time, all developers that were offering tracking services were charging users fee for their expertise. This seen a soar of overload on Google's very own servers. In their first week of offering clients their very own Google Analytics. Google's data farms could not cope with the level of high demand traffic, deleting users account after a weeks of sign-up.


   

Wednesday, 25 February 2015

How Googlebot works

We all have used or heard of Google (ever since its release). The most used search engine in the entire world. Google has made 1/3 of their profits off advertisement alone. Those search results that end up being at the top of our page? They don't just end up their through good, hard earned meta data, algorithms, now do they?. There are plenty of websites that portray certain techniques that promise to see your resource(s) climax. This may be true to a certain extent. Your website, blog, or virtual space is limited to how far it can climb the ladder of success. Does web crawling and search engine optimization (SEO) really help one see results? Or is it AdSense and AdWord that really make a difference in how your resources are stacked. In this post we take a look at these questions that are on all of our minds. How does Google function behind the surface of its search engine?

The easiest methodology to implement/follow while understanding a problem is to divide and conquer (like the British) break the problem into smaller segments in order to understand and solve the constraint as a whole. This is exactly what we will do. We will have a look at all the defining technologies that are closely related to SEO.

Web crawling, web spider, ant or any other name/term that refers to an Internet automated mechanism that crawls each and every resource on the world wide web, indexing each and every site as it crawls. Google's web crawler Googlebot, looks at each website held on the world wide web, flowing through each link for each website delivered on the web. Googlebot collects defining information on millions of resources such as meta tags, link data, content for each website resource and delivers such data back to Google's own distributed data farms for processing. Googlebot starts off with pas tense web addresses publicly accessible and sitemaps uploaded by site owners for search engines to manipulate more concisely. A sitemap is a file that lists each and every link of your website, generally making it easier for search engines to crawl. Sitemaps can come in many forms from XML documents to web documents (a simple webpage listing each containing webpage link). Both containing document nodes. Sitemaps may also be used for planing of websites by web designers. Sitemaps have many benefits as we have found out. Sitemaps in XML format, help search bots understand the structure of ones web resources, where as web documented site maps help users as well as spider crawlers better navigate your site.


After Google sends its bots into the world wide web and has successfully returned with data, Google applies a complicated algorithm that indexes each and every web resource on the web (billions of website pages daily). You may not come to terms with how Google operates but one thing for sure is that Google indexing has been used by the majority of us. Have you used Google Search? if so then you have been a custom to Google's very own indexing mechanism which looks up criteria s that have been submitted for querying. Ever wonder when you type in a letter or any character into Google's search bar and receive an estimated guess on what you may be looking for.

https://support.google.com/webmasters/answer/35291?hl=en

http://www.google.co.uk/insidesearch/howsearchworks/crawling-indexing.html

http://www.htmlbasictutor.ca/images/search-engine-indexing.png

https://support.google.com/adwords/answer/1704410?hl=en&topic=1713894&ctx=topic

http://en.wikipedia.org/wiki/Web_crawler

Friday, 20 February 2015

Syllabus of Google App Engine


Google App Engine released in 2008, given away for free. Why? Google’s whole philosophy/outlook in - the web was to allow developers better equip themselves. – make the web a more fun and dynamic place. App engine provided that escape goat. It allowed developers to remove the need of purchasing web servers and data base servers. Equipping software developers with free resources was the start of something special on behave of Google. Google wanted the web to flourish even more. Google App Engine provided that tool for developers to equip themselves with – free deployment of websites and web applications – including a choice of language and Googles own Google Query Language. This generous exposure is seen as a goody bag by most developers keen to develop with ease in today’s world.

Google owns thousands of power-pcs scattered across the globe, housed within large data farm centres. This has a dramatic effect on how Google’s services run. Multiple copies of your data can be stored in various data farms at any given time. The more sophisticated and high in demand your application is the higher chances are of it being copied to various farms (geographically) that result in faster access and download speeds. Google doesn’t just buy a bunch of specific computers it invests a whole lot of time and money in computers, they ‘study the cost, performance, reliability, energy use and many other factors, to make sure that their investments in data centres are done wisely.’ The resulting effects left behind are so dramatic that the internal operators i.e. software developers cannot keep up with the dynamic, configurations of Google production infrastructure themselves.

Understanding Google App Engine may be too difficult for some to comprehend others may have already came across Google's platform as a server (PaaS) through measuring cloud computing infrastructures. Or even proficient developers may have ceased their opportunity to grab free development resources for server-side development. Either way, developers and information enthusiasts have both had to get their head around Google's new addition to cloud computing stack.