Feeds:
Posts
Comments
I wanted to go over both python the programming language and a reason to be interested – hooking up web development libraries and even a server with python.
Now, if your unfamiliar with Python, it is a very readable, high-level programming language that is interpreted….meaning that one can use simple and natural commands and get a intuitive response. Take this screenshot of me fooling around:
Here, you can see i do not have to declare the variables, instead i can focus on my train of thought and allow the development environment to pick up the slack. It is possibel to specifi variables, but this is a language that is perfect for knocking up a proof of concept really quickly. Better yet, python is free (with CPython beign open source), makign it common amongst academics and scientists that need a brilliant and fast language without cost and on a Linux machine (ubuntu has it installed by default).
there are some great tutorial videos online from Google. As i understand it, Google had hired a man that was working on python as his project some time ago, and now developed, it’s Google’s pet language. Here is a video online i found, with the associated links (all of which i’ve gradually been going through over the last few months):
Relation to Web Development
Given the import of the right library, urllib,  accessing the internt seems to be rather easy for python:
import urllib
# Get a file-like object for the Python Web site's home page.
f = urllib.urlopen("http://www.python.org")
# Read from the object, storing the page's contents in 's'.
s = f.read()
f.close()


This code essentially does what every browser does: intialise, access and retreive page, process and close or wait. Further more, you can have a more extensive use through the use of CGI scripts but, they arn’t 100% dependable.
Some people have already gone as far to create soem python server software django which is
‘production ready’ meaning its has user profile systems ready to go, caches, and has a template system, among many other functions. Then there is also Turbo Gears , with a tutorial on how to get into it and needing python and a database… very tasty! Turbo Gears is basically a framework built in python, and what sounds familiar as with AJAX,  is a combination of technologies for web productivity: ToscaWidgets, Genshi, Pylons and SQLAlchemy.
So, for extra capability, consider python as a hobbie as it may come around to be a dominant language soon. EVE ONLINE is a massive online game made with python, much to my amazement and I think its a sign of the times. I will definitely be picking it up further, and am enjoying the multitude of functions as well as the ability to code as fast as i think. 🙂

References:

jQuery

After relearning the ways of JavaScript recently and throughout the following research for assignment, I found a lot of reference to jQuery. jQuery isn’t another language and nor does it need anything special in terms of software, yet 41% of the top 10 000 sites use jQuery in their sites. Such names using this technology are: Google, digg, Netflix, moxilla.org and wordpress ( as well as many more).
The prerequisites for jQuery are knowledge into xHTML, Javascript, CSS and donwlaoding the jQuery file from here.

But, what is it..?!

jQuery is a JavaScript library and snaps on just like this:

     <script src="jquery.js"></script>

This essentially changes the way you write JavaScript with new functionality to command the DOM better, handle HTML easier, interact with AJAX easier and even animating and event handling. A quick example is the “on windows load” function which normally looks like this:

 window.onload = function(){ alert("welcome"); }
or
 <style>    a.test { font-weight: bold; } </style>

Yet this in jQuery is like this:

$(document).ready(function(){ // Your code here });
or
 $("a").addClass("test");

It is quite different, but seems to make more sense. There seems to be more syntax involved, but less jumping-through-hoops.

Such Capability

At jQuery.org there is is actually a few projects on the run, making quite the suite. This suite includes the jQuery core but also the user interface , QUnit the test suite and then Sizzle, the CSS selector engine.

With these, the combinations give rise to a new breath in easy and stylish programs for web developers. there are some great examples over here

So im very impressed, especially when people talk about how easy XMLHTTPREQUEST processing and shortcuts can be, and how easy  it is to apply across browsers.

references:

http://docs.jquery.com/How_jQuery_Works

http://www.learningjquery.com/

http://jquery.org/

http://www.noupe.com/jquery/50-amazing-jquery-examples-part1.html

What prompted this post is the amount computers clients and family members give me that have some sort of selfish malevolent software on it that inhibits decent functioning – Virus’, dialers, parasites, spyware, etc. When dealing with the internet, even on the smallest level, one must be protected with software. Therefore, as part of some of my own posts i felt it worthwhile going through the two tools I use quickly.

Recently I came across the ” XP Security 2011 ” virus that is called a ‘parasite’. What had happened was that it was part of an e-mail attachment which the user clicked. Mc Afee antivirus was on the computer, and the operating system looked to be an old Windows XP. The virus commandeers the ‘security centre’ that you get with the second service patch and pretends to scan, popping up mentioning the worst and then offering you a solution for a fee. It looks all very professional – doesn’t stop me despising it.

Behind the scenes it had disabled all antivirus, the firewall; all security measures and furthermore, disabled the ability to connect to the internet and execute .exe files (all programs).

Now, working with no budget and a basic understanding of most operating systems, I looked out for a live Cd  to help. I’ve know for some time about the likes of ubuntu &  knoppix as Live Cd’s and the ability to manipulate the computer for outside the environment. When the computer is totally paralyzed, this seemed to be the best solution.

The quickest response to a free  Live CD that I could find, let alone trust due to years using the company’s software was the AVG Live CD.

Once burnt to a CD and booted from, it looked like this:

As it turned out, AVG Live found many files of disputable nature, and then the virus.  Upon rebooting into windows, I still could not initiate at executable files, so I then needed to edit these registry files (below).  I then ran some anti-spyware software (coming up next) which discovered links to the Trojan, and got rid of that.
Kill processes:
pw.exe MSASCui.exe
Delete registry values:
HKEY_CURRENT_USERSoftwareClassespezfile
HKEY_CLASSES_ROOTpezfile
HKEY_CURRENT_USERSoftwareClasses.exeshellopencommand “(Default)” = “%UserProfile%Local SettingsApplication Datapw.exe” /START “%1” %*
HKEY_CURRENT_USERSoftwareClassespezfileshellopencommand “(Default)” = “%UserProfile%Local SettingsApplication Datapw.exe” /START “%1” %*
HKEY_CLASSES_ROOT.exeshellopencommand “(Default)” = “%UserProfile%Local SettingsApplication Datapw.exe” /START “%1” %*
HKEY_CLASSES_ROOTpezfileshellopencommand “(Default)” = “%UserProfile%Local SettingsApplication Datapw.exe” /START “%1” %*
HKEY_LOCAL_MACHINESOFTWAREClientsStartMenuInternetFIREFOX.EXEshellopencommand “(Default)” = “%UserProfile%Local SettingsApplication Datapw.exe” /START “C:Program FilesMozilla Firefoxfirefox.exe”
HKEY_LOCAL_MACHINESOFTWAREClientsStartMenuInternetFIREFOX.EXEshellsafemodecommand “(Default)” = “%UserProfile%Local SettingsApplication Datapw.exe” /START “C:Program FilesMozilla Firefoxfirefox.exe” -safe-mode
HKEY_LOCAL_MACHINESOFTWAREClientsStartMenuInternetIEXPLORE.EXEshellopencommand “(Default)” = “%UserProfile%Local SettingsApplication Datapw.exe” /START “C:Program FilesInternet Exploreriexplore.exe”
HKEY_LOCAL_MACHINESOFTWAREMicrosoftSecurity Center “AntiVirusOverride” = “1”
HKEY_LOCAL_MACHINESOFTWAREMicrosoftSecurity Center “FirewallOverride” = “1”
Delete files:
%UserProfile%Local SettingsApplication DataopRSK %UserProfile%Local SettingsApplication Datapw.exe %UserProfile%Local SettingsApplication DataMSASCui.exe %UserProfile%AppDataLocalopRSK %UserProfile %AppDataLocalpw.exe %UserProfile%AppDataLocalMSASCui.exe
Now, as a system software to prevent this from happening, I strongly suggest Avast! antivirus. Not only is it rock solid versus everything I have encountered but, it also has this nifty feature of being able to scan whilst in screensaver mode.

Now, as I have been mentioning in my previous articles, Web standards are important, technologies are beign born that improve our expirence, and microsoft doesnt always get it right first go. I mention this specifically in regards to Office Live (Microsoft’s online office application suite). but, I do not mention this with malevolence . I personally have a Windows 7 Ultimate addition and enjoy it thoroughly. I do, however, completely refuse to use internet explorer in favour of Firefox and Chrome. The reason for me to brign this up, is that i also employ Ubuntu (10.10) on my net-book I use for university.  Even though dual booting Windows 7, neitehr operating system could get  into Office Live. Only upon returning home to my up-to-date and super functional desktop on ADSL2 that it loaded. Why would Office Live only support Windows running Internet Explorer or Firefox? I did find a few issues people were having here and here but, I would gauge it’s all to do with how many features are offered {add more functions, add more bugs}. Especially if i remember correctly from here.

To allow my favour and history with Google Docs to be over turned, I will look at Office Live first.

Office Live

Initially, login is quite easy for those of use that have a Microsoft supported e-mail address (ie Hotmail) so, I logged in simply enough. Now, to start working on a document. Sky drive is there to help you upload your files, restricting only executable scripts (see references). I was quite surprised by this, as i managed to load in most common functional files types worth uploading. This is a good feature to have linked to a productivity suite.

But low and behold, should you wish to upload any files directly to the application, god help you…

Ironically enough, I do have a version of the 2009 office on my computer, just not ‘online’. So, moving along I went directly into the office suite. It looks something like this:

It’s smooth (AJAX smooth) and simple while retaining the latest Office application style. Loading isn’t immediate.

Sharing is decided when creating a document  of any type, but this involves either whom is on your contact list (e-mail) or publicly available. I have issues with this, mainly becuase google docs gives you the ability to invite anyone to share and view you docs via a direct (and long/complicated) link.

One grave annoyance  I will deviate to momentarily was the sudden interruption of Instant Messages that interrupted my work. Gmail has this feature, but not Google docs – even then, it does not pop up and disrupt your work.

Google docs

Google docs is straight forward; clean and simple. Google tends to take the low-bandwidth good-guy attitude with everythign they do, openly admitting that they are in the business of ‘connecting the consumer with companies’ in the best way possible. Though, it might be worth mentioning that google didnt initially make the foundations of google docs. Google is on a streak of buy companies that have done it well, and then offering these free products (such as Gmail and google docs) that they can collect useful data and offer extended features (ie space) for a low price.

I have been using Google docs for  over two years and find the easy ability to log in and the rapid response very favourable.  I have never know it to require any specific operating system nor browser, though im sure the key to this is the lack of bling and features. I feel google docs has focused on the right areas: limit design, limit types of files uploaded; make it load quickly on any connection and computer. Should users want additional features, they could combine it with other products they offer, or use desktop applications first.

Speaking of additional features,  though accepted files into Google docs is technically limited, i haven’t found any files it rejects. It simply mentions files that it can convert and assimilate. Yes, it can grab a pdf, doc, dox, rtf (etc) and convert it to its online format. Then, it can also save and export these files to the same supported formats. Copy and paste can work fine as well, as online formating isn’t that complex or unique. I tend to use file upload as online storage for my own means, of which i tend to upload 7zip files constantly. The response and server bandwidth is always pleasing. You do not, however, get as much space as Microsoft Skydrive nor as much room as Gmail (8gb currently), with only 1GB available. I can understand this as a move to bring in revenue as paying only a few dollars a year can give you much more room. upon further consideration, im not sure I could get up to 1 gb with all my files.

Google docs places a decent emphasis on sharing and collaborating on docs, and this is how I first got hooked. The easiest way to appreciate Googles services is to have an account (obvioiusly) but i mention this because sharing echoes throughout all the services they give, for example: Google calender allows you to store meetings and details, with free sms reminders  – available to your friends if you share it with them (with details or just ‘busy’. Google docs does this by keeping versions of files worked on by different people, files uploaded of the same name, by whom and when. ‘Version hell’ is solved this way. Another feature that works extremely well for organisation and collaboration is the ability to segregate files into categories (private or public) and then preview files and their details.

Though I tried to stay neutral, Google docs is hard to fault. It doesn’t have the visual ‘bling’ of Office Live, nor space associated with online storage to the extent of Sky Drive but, everything else is tailored to the consideration of uses across the globe. Google docs just works and it works well in todays climate of fast, zippy and social use.

references:

Live requirements

unsupported files (LIVE)

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

http://googleblog.blogspot.com/2006/03/writely-so.html

http://googleblog.blogspot.com/2006/06/its-nice-to-share.html

http://www.crn.com/news/storage/222300732/google-docs-play-intensifies-cloud-storage-competition.htm

Ironically two articles back, whilst looking  at Gmail, i briefly went over the synergy of technologies called AJAX.

AJAX stands for Asynchronous JavaScript + XML which is a combination of these technologies:

  • XHTML and CSS;
  • Document Object Model;
  • XML and XSLT;
  • XMLHttpRequest;
  • JavaScript

Again, Jesse James Garret coined the term within his writings.

Now, the first ‘A’ stands for asynchronous and points entirely to the was the client interacts with the server. Asynchonous is essentially the traversal of data two ways. What this means is that Normally there is simple, if not disjointedly rigid forms of interaction between serve and client; only occurring at the seeking of a page or the sending of a form. It’s nto the case with AJAX and here is a diagram Mr Garret used himself here.

The key in this scenario is the the XMLHttpRequest which,  facilitates the transfer of data over the HTTP ports to and from the server. XMLHttpRequest is an object within the Javascript language and allows scripts  such as submitting form data or loading data from a server.

The XMLHttpRequest object implements an interface exposed by a scripting engine that allows scripts to perform HTTP client functionality, such as submitting form data or loading data from a server.  It can: ‘open’ to create a connection to the server and ‘send’ a request functions of the server. The server can then give feedback through either XML text or an XML file.

As per usual,  there is a difference between how Internet Explorer and the Netscape (firefox) program cores deal with this. Initially it was Microsoft that jumped on the band wagon first and implemented XMLHTTP and then later an ActiveX object to deal with the XMLHTTP and requests. Most popular browsers went on to adopt the XMLHTTPRequest JavaScript object (as a universal option) and the the World Wide Web Consortium then standardised it. Though the initial push was instigated by Microsoft, Internet Explorer 7 ironically adopted the more popular Javascript object.

Therefore, the difference between Internet Explorer and Firefox points to the code that initially instigates the XMLHttp request (and now, only prior to IE 7). The code goes somethign like this: (w3 schools)

variable=new XMLHttpRequest(); // Firefox, IE7, etc

variable=new ActiveXObject(“Microsoft.XMLHTTP”); // IE 5 & 6

such as:

var xmlhttp;
if (window.XMLHttpRequest)
 {// code for IE7+, Firefox, Chrome, Opera, Safari
 xmlhttp=new XMLHttpRequest();
 }
else
 {// code for IE6, IE5
 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 }

To follow this interaction between client and server is the code ‘readyState’. the readyState function retains the code given fromthe server, so as to remember where the server is up to. Each time the readyState changes then our onreadystatechange function executes. Here is a list of the the ready state codes: (w3c)

onreadystatechange Stores a function (or the name of a function) to be called automatically each time the readyState property changes
readyState Holds the status of the XMLHttpRequest. Changes from 0 to 4:
0: request not initialized
1: server connection established
2: request received
3: processing request
4: request finished and response is ready
status 200: “OK”
404: Page not found

example:

// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
	if(ajaxRequest.readyState == 4){
		document.myForm.time.value = ajaxRequest.responseText;
	}
}
ajaxRequest.open("GET", "serverTime.php", true);

Therefore, the reasons to use XMLHttpRequest revolves around two outcomes. Firstly, it helps coordinate the functions of whatever online software you might be developing – You might want to trigger music to be played while something is viewed, but without a dependable trigger you may be left either silence, or a inappropriate timing and lingering. Secondly, the client side user experienced can be enriched a great deal, demonstrating smooth and organised site – nothing scares away potential customers quicker than a clunky, unprofessional/unmodern site that wipes details away systematically, like one that does not employ AJAX.

References

http://www.adaptivepath.com/ideas/e000385 //   http://en.wikipedia.org/wiki/XMLHttpRequest

http://en.wikipedia.org/wiki/Ajax_(programming) //  http://en.wikipedia.org/wiki/Ajax_framework

http://www.wrox.com/WileyCDA/Section/id-303217.html

http://developer.apple.com/internet/webcontent/xmlhttpreq.html

http://www.alexhopmann.com/story-of-xmlhttp/ //  http://www.aaronsw.com/weblog/ajaxhistory

http://gfxmonk.net/2010/07/04/defer-taming-asynchronous-javascript-with-coffeescript.html#1

http://www.w3schools.com/ajax/default.asp // https://developer.mozilla.org/en/AJAX

http://ajaxian.com/by/topic/ajax // http://www.xul.fr/en-xml-ajax.html

https://developer.mozilla.org/en/AJAX

There is a difference between file hosting, remote back up and cloud storage, though they sound much of a muchness.

The most useful to the home user for sharing files between work and home, or securing the safety of precious data is is remote back up and files storage.

In this review we’ll look at the free online storage services: Binfire, SkyDrive, Wuala, iDrive and Mozy.

Binfire

The most simple, no-frills service is Binfire. I’m not sure where that name comes from, but it’s about “running your online office”. This is derived from its collaboration functions and affinity for having contacts with and messaging other members. I feel this would be most suited for use at school, or institutions where you are working off a simple computer with very limited privileges.

It has a good clean layout with supportive, functional buttons for your files and services.

Ultimately it feels like navigating through colourful FTP, but what was most perturbing was when I found the public files section. There seemed to be many of people’s files open to browsing and search and I’m not sure of the real use of this…

 

…But one of the other features is the online collaboration with other members. This may be of real use when working with others team members at different locations. It ‘s easily the best service for users with limited technical ability and was the only one found to have live chat technical support.

 

Binfire is, therefore, an option worth considering but a simple one that is superseded by higher storage.

Get started with Binfire

Skydrive

SkyDrive is Microsoft’s answer to the free online storage movement and supports its own online services and applications suite. You can synchronise your computer and devices with Windows Live Essentials, otherwise navigate through the online web interface. SkyDrive offers you a INSANE 25 gb free, which is the largest I’ve found and is the best value by far but, this is offset by the 50MB per file upload limit. Some archive programs (winRAR/7zip) can separate archived files into certain amounts. The advertising is a bit of a pain aswell – a common trait as it is within the MSN Messenger program as well.

 

SkyDrive is a solid option with astute upload and download times and a blatant flow to useability. If your already part of the Microsoft “LIVE” circle, such as using MSN Messenger or Hotmail , this simple and easy 25GB worth of storage is already awaiting you.

Get started with Skydrive

Wuala

Wuala (pronounced wah-lah) is a unique and technology driven service from the storage company LACIE, that will have every security minded user happy; as everything is encrypted prior to upload, using  128 bit AES, 2048 bit RSA or SHA-256 algorithms for encryption, signatures, integrity checks and even has fragments sent to multiple locations. They have a small introduction video that introduces you to every feature and concept. Initially a free user is given a miniature 1Gb, only expanded further by referrals to friends (up to 6gb), purchase or trading.

 

Through trading local storage, a user can attain the same amount online for ‘free’, up to a 100Gb. One of my main issues is that I never have enough space, so I’m not entirely sure how applicable this is. Most notable is the online and local application as they are exactly the same: the “Remote Access”  utilising Java looks and acts exactly the same as the desktop application.

 

For super secure and fast upload storage Wuala is your best option above all. Keep in mind though, for all the strengths of  Wuala, the space constriction is its largest weakness.

 

Get started with Wuala

iDrive

iDrive is a jack-of-all-trades free storage with up to 12GB of storage. It starts out with 2GB and then with a quick mail out to e-mail contacts (via Hotmail or Gmail), you will have an extra 10GB of storage immediately  and that’s the end of the story. Take note that no one has to click or sign up.

 

iDrive has both an online login in as well as an application. This application integrates into your system for drag-and-drop back ups and automatic synchronizing of specific files automatically. Furthermore, iDrive has encryption to, from and on the server, a WordPress plug-in for site backup and a mobile device backup  application (iPhone, Blackberry and Android).

 

Now this is definitely a favourite and surely makes it easy to have those files you need backed up for remote access. But even then, with all the options, the useability can suffer a little. This is where Mozy comes in.

Get started with iDrive

Mozy

Mozy seems to have been created  with useability strongly in mind, having a heavy modern-styled Mac OS feel to its website and application. Mozy is very similar in many respects to iDrive with support, an application that automatically synchronizes files,  throttles bandwidth and it even has a referral service earning you 256MB of storage per viewed e-mail.

 

I didn’t find the ability to upload files via the Mozy website, so downloading the application is the only way to go. The good news is that the application is straightforward to use and will not crowd you with too many options. It will, however, initially want to back up your bulk file types but, with access to a few settings, single file and encryption are easily manipulated.

 

Mozy even goes so far as to put an explorer function in, similar to iDrive, yet seemingly more direct and functional. Again Mozy improves by providing a support area that helps out with troubleshooting and fills you in on some details.

 

So if the multitude of options is getting you down and the technical details are too much – I’m sure Mozy will help you out.

Get started with Mozy

There are so many remote backup services out there that it’s worth signing up for at least one. There are so many quality brands with brilliant features that is was hard to keep it simple. So do not hesitate getting one now, if only to set up a weekly file sync. There are so many of us that have had hard drive failure, let alone fire or theft destroy our data, so protect yourself today.

Gmail – oh so easy

We all know Gmail – gmail is the best name in free e-mail. As a gmail user with several accounts and a relationship thats lasted since it’s beat period, im going to show a quick demo of how it logs in, and where it’s technology is derived from.

 

 

You can click on these images to enlarge.

Gmal focuses on being simple, quick and uniform – changes pages is less about traveling to a different destination and more about shifting around what is already there (so says the lead designer). To do this, Google utilises white ( ie a lot of white space) and light blues with black text – easy on the eyes, readable, classy and super fast to load.

Mow, straight away Gmail hooks the user up to HTTP…using SSL to encrypt interactions for security. the top line looks like this for me:

https://www.google.com/accounts/ServiceLogin?service=mail&passive=true&rm=false&continue=https3A%2F%2Fmail.google.com%2Fmail%2F%3Fui%3Dhtml%26zy%3Dl&bsv=llya694le36z&ss=1&scc=1&ltmpl=default&ltmplcache=2&hl=en-GB

This is quite the URL (ready for post). This is the first give away that there is a bit going on behind the scene and ‘under the hood’. To give an indication, including the style code and javascripts, this simple login page comes to 660 lines of code. What is seen here is that Google loves AJAX, building the foundations of their products on this combination of:

The contextual document is HERE and goes on to explain how these technologies all work together to enhance user experience and interaction, along similar lines as to that of desktop applications. While the user interacts, behind the scenes the server and AJAX environment gathers and prepares for potential furtur interactions and processes. The stop and start nature of the web is thus smoothed out.

To continue, here is what happens when the correct login occurs. This would be a function to decypt and check the details for success, before forwarding it on.

https://www.google.com/accounts/ServiceLoginAuth

 

The page then goes to the next in between page to preload the files and code. The loading bar animates – flash is common in AJAX. The URL has now change to this:

https://mail.google.com/mail/u/0/?shva=1#inbox

And upon completion i arrive logged in:

Now i was able to edit my layout with a different theme, so as to explain the darkness of the pictures.

To show that I’ve logged in, aside from a list of my contacts online and the massive list of e-mails, is up the top right there will be the e-mail address with a few related links (multiple login, settings, sign out of account). Signing out now takes me back to the login page once more.

 

Further readings

http://johnvey.com/features/gmailapi/ – technical document on some of the technology in Gmail

http://www.adaptivepath.com/ideas/e000385 – had a bit to do with the development and sensation of AJAX