Thursday, October 4, 2012

Getting to know your Linux Shell (Bash) in 1200 seconds or less

20 Second Guide...

My shell waits for me to make a command. It looks something like this:

steve@sheebs:~$

The user steve is logged in to the computer named sheebs and the user is at his home directory (~) and everything after $ will be executed as a single command.

40 Second Guide...(commands you should try)

steve@sheebs:~$ cd /

This brings you to the root of the file tree. In order words, you are now sitting at the top most level of your hard drive (or more accurately, the top level where your operating system is installed ). In windows this would be like being in the folder C:\

To go back to our home folder quickly:

steve@sheebs:/$ cd ~

To go back to our home folder less quickly

steve@sheebs:/$ cd /home/steve

*Usually, the name of your home folder will be your user name. My user name is steve and my home folder is called steve.

A few tricks

Ctrl + Shift + C = Copying in the shell
Crl + Shift + V = Pasting in the shell

Listing all the files and folders in your current directory

steve@sheebs:/$ ls

*ls stands for list, so it would be the letter l, not the number.

Listing all the files and folders in your current directory with tricks (or "Options")

steve@sheebs:/$ ls -ah

Everything after the dash - is an option. Here I am asking for:

  • -a all files (even .hidden files)
  • h human readable


* hidden files always start with a period:    .This_Would_be_a_hidden_file
*Human readable in this context means the program will format the output with a little care in mind.

How do I learn more tricks man?

GNU/Linux comes with an amazing industrial strength built-in manual. Sometimes the manual is a little too industrial strength.

steve@sheebs:/$ man ls

Use the home and end keys to go to the top or bottom of the manual. You can also use the arrows, spacebar and pageup and pagedown keys to navigate.

Hit the key q to quit or press Ctrl + z


1200 Second guide...

Follow this command line guide at Media Temple. Even though it's for SSH "Secure Shell", it's one of the best introductory guides I have come across.

Final Tips

Think of the shell as a file exploring ship. You can start by flying around the file tree. You can only see (read, write and execute) the files and folders of the folder you are currently in.

My last tip - if you are trying to cd into a new directory, type the first few letters of the directory and hit tab and watch the magic!

Tuesday, September 25, 2012

You can only Touch User Interface (UI)

What happened to Google Notebooks and what can we learn from web applications in general.

What was Google Notebooks?

Google Notebooks was a web application that shared similar functionality to Google Docs and Google Drive. The concept was to replicate the functions of a paper notebook, but in your web browser and hosted on the cloud.

Google Notebooks came with all the bells and whistles you would normally expect: the ability to collaborate, share, make public, and even a "Note This" on search results.

On the surface, Google Notebooks was a good concept and an interesting idea. A lot of people use paper notebooks and, as someone who carries paper notebook around, I find a lot of people telling me that they wished they carried a notebook around with them, too. So why did Google Notebooks get pulled?

Failure or change of focus?

If Google Notebooks had been a critical success, Google would not have killed the service. There is no doubt Google Notebooks had a committed group of users, but probably not enough users to validate the service. Plus, Google Notebooks was competing with Google Docs - Google cannibalized itself. If you are trying to capture market share, it's about focusing the energy on a single definitive service. No more "Should I be on Docs or Notebooks? "

While Google Notebooks did not fail outright, it was not a success. While we can't say with certainty what went wrong, we can be pretty sure that Google Notebooks failed to attract the masses - and I want to know why.

Humans generally fail at utilizing real paper notebooks.

I wish I could present you an empirical article that provided real evidence to substantiate my feelings here, but I can only offer you anecdotal evidence; nod your head if you agree or write nasty comments if you disagree.
  • How many notebooks do you own that only have the first few pages filled out?
  • How many times have you heard "I should carry a notebook with me at all times, that's a good idea!"
  • If lots of people filled paper notebooks out on a regular basis, real notebooks would not cost $25.00 at Chapters/Indigo and $2.84 at Staples/Office Depot (this one is a stretch in terms of anecdotal evidence but..maybe?)
  • How many notebooks have you received as gifts, and how many of them are sitting empty in your closet?

The Purpose of a Notebook

The purpose of a notebook is to record and organize information/ ideas/ emotions/ stories in a way that is meaningful, structured, retrievable, enlightening, funny and nostalgic. The notebook is also said to be a tool of creativity, problem solving and catharsis.

Clearly, I believe that carrying a notebook with you at all times is a great idea, but why do so many of us give up so easily?

Reasons why filling out paper notebooks is hard:

  • A complete thought/idea rarely comes at once. You might get inspiration one day, and write about it. A few weeks later you might gain additional insight and wish to add that insight to your original jottings. If you are filling up the notebook page by page, a lot of the ideas become fragmented across the notebook. Instead of having fragmented ideas in your head, you now have them fragmented over a notebook, or multiple notebooks.
  • It takes too much time to make table of contents or perform similar indexing strategies.
  • It is not always realistic to discretely categorize each entry on the fly. Sometimes you have to roll with the ramblings.
I have personally used notebooks for years and have a fat stack of them rusting dusting away. Even after years of using notebooks, my collection is still horribly disorganized. No amount of planning the next "Concept-Notebook" actually changes anything. After a week of use, they always revert to monsters of disorder.

Reasons why filling out Google Notebooks was hard:


See the list above but add the following bullets:
  • You had to boot up your computer and log in every time you wanted to make a note.
  • Although there was extra room to add things post-hoc, you faced the problem of physically finding the original idea.

A Google star

Somewhere, someone had a vision to make Google Notebooks a world class web application. But it didn't catch and now it's gone.

The vision of Google Notebooks was to simply replicate an old technology (the paper notebook) on  new technology (namely, the cloud and your browser.) But the vision did not really attempt to solve the old problems associated with the notebook. What was left was a service that failed in the same ways that a real notebook fails us. What's the lesson here?

You can only touch User Interface (UI)

You can touch, but you can't feel. At the heart of it, a web application is nothing but a tool. If the tool is too complex, too few people will find it useful. If a tool is too simple, it won't be useful. Google Notebooks was easy to use, but it lacked complex (some might say, interesting) features that could solve the problems with notebooks in general.

Web applications will always have a bottle neck, and that bottle neck is User Interface. How can the user perform complex tasks in an easy to navigate interface that can be intuitively understood? A Question worth pondering.



Friday, July 27, 2012

Colour Theory and Application

Colour Theory and Application



Don't let the title of this post fool you; colour theory can be exciting! The right colour choice is essential for an aspiring designer, but it's also important in everyday life. My hope is that everyone who reads this article can walk away with a better understanding of colour - and of its potential to inspire!


Hue, Tone and Saturation

Let's get the basics out of the way by defining some terms that are commonly used in colour theory. The generic name for a pure colour is known as a hue (blue, red, etc.). A hue can be modified using tone and saturation. Tone is the range of light to dark in a specific hue, while saturation is its degree of brightness. If we take blue as the hue and modify it to become light blue, we've changed its tone. We can then control the intensity of the colour with saturation to determine how bright or muted it will be.

Additive vs Subtractive Theory

There are two primary colour theories used in design. The additive primary colours are red, green and blue (RGB). They are used in the projection of light (tv screens, computers, etc.). When combined, RGB creates white light. The subtractive primary colours are cyan, magenta and yellow (CMYK). They are used in print. When combined, these colours create black (the K in CMYK). It is important to determine on what medium your design will appear (screen or paper) so that you can choose the correct colour theory.

Advancing and Receding Colours

Some colours will appear to advance while others seem to recede. Warm colours are used to advance visually towards the user, while cooler ones are used to recede. If you tell a carpenter to place his toolbox on either a red or a blue bench, both at equal distances, he would subconsciously choose the red bench more often because it appears closer! The human eye tends to differentiate between neighbouring colours by emphasizing their differences instead of their similarities.

Colour and Mood

The last thing I want to touch on is how colours affect our mood. Colours are chosen in advertising to subconsciously alter our mood towards a product or a company.

Red is often associated with intensity and aggression, and is known to stimulate higher blood pressure.

Green is tied to nature and environment, and has the ability to calm. That is one of the reasons it is often used in hospitals.

Yellow is known as the hue of happiness as it evokes images of light, sun, gold and hope. It can also be used as a warning.

Blue is associated with the sky and water, and has a similar calming effect to what green has.

Of course, these are not definitive and each colour has negative connotations as well.



Lastly, here are a couple of my favorite tools for picking colours:
Kuler
Color Schemer

Monday, July 16, 2012

Fundamental Techniques in Search Engine Optimization (SEO)


The first and most powerful step to developing effective SEO techniques is being informed. This guide draws upon Google Webmaster guidelines and related resources to highlight important SEO techniques and best practises.

Warming Up
How Authority is Measured
Developing SEO - Checklists
Things to Avoid
A Handful of Free Tools
Sources



Warming Up

Search engines attempt to rank pages based on authority. For example, Bob Dylan’s official homepage should be the most authoritative source on Bob Dylan. We can expect Bob Dylan’s homepage to contain the most accurate, complete and relevant information on Mr. Dylan.

An authoritative site is authoritative because it contains the most accurate information, and it has the legal authority to present copyrighted material. We can expect that a high authority site provides high quality content that is unique and helpful.


How Authority is Measured

Authority is the measure of a web site's importance in regard to a particular topic. A major search engine like Google can easily use over 200 factors to determine authority. Officially (at Google), almost all of the factors and their relative importance are kept confidential. However, one of the most important known factors is Pagerank. Google defines Pagerank as a “... measure of the importance of a page based on the incoming links from other pages.”

Developing SEO - Checklists


Files:

  • The file "robots.txt" is accessible from your site at http://my-domain.com/robots.txt
  • The file "robots.txt" contains useful information for web robots such as:
    • The location of the file "Sitemap.xml"
    • Folders and files that should not be crawled, such as auto-generated content and search results
  • The file "Sitemap.xml" is accessible from your site at http://my-domain.com/Sitemap.xml
  • "Sitemap.xml" should contain an xml based hierarchy of your web page, with valid links
  • You have formally submitted your "Sitemap.xml" to major search engines
  • You have static html files that contain mostly html
  • CSS and Javascript should largely be contained in their own proper files (instead of being furiously mixed in with the html)
  • You have done your best to keep file sizes as small as possible

Links:

  • Every link on the site is in good working order
  • Your site should be easy to navigate with a clear and well-organized hierarchy
  • Every page should be reachable from at least one static text link
  • Text links should be descriptive


Tags:

  • Every page should contain an accurate <title> </title> tag
  • Every page should contain an accurate <meta name="description" content="..."/> tag
  • If you have pages with duplicate content, the preferred version is identified as the canonical version
  • Header tags should be used organize the content of your site based on importance
  • Every image should be labelled with a descriptive alt (alternate) tag

Things to Avoid

We recommend reading Google’s Search Engine Optimization Page to get an idea of what not to do. There are a lot of dirty tricks out there, and you don’t want to get caught because your authority will probably suffer.


A Handful of Free Tools

The internet is swamped with “Free SEO tools”. The following is a short collection of Google tools that let you perform powerful research on keywords, search trends and a whole lot more. Don’t forget to have fun and try to be creative with your research!

Sources: