Schwuk's shared items
With the power of the Web, and more eyes watching than ever, it’s important for a business to communicate its unique message clearly. The easiest way to recognize a company and distinguish it from others is by its logo. Below, we go through 10 common logo design mistakes that you should avoid if you want to create a successful and professional logo.
1. Designed By An Amateur
![[image]](http://mowser.com/img?url=http%3A%2F%2Fmedia1.smashingmagazine.com%2Fwp-content%2Fuploads%2Fimages%2Fcommon-mistakes-logo-design%2F6.jpg)
Avoid websites that promote ridiculously cheap logo packages. You get what you pay for.
A professional business should look professional. New business owners often invest a lot of time and money in property and equipment, but do not often match it by investing suitably in their logo.
Here are the most common reasons why many logos look amateurish:
All of the above can result in disastrous outcomes. If your logo looks amateurish, then so will your business. A business should know where to look when it wants a new logo. David Airey offers great insight on how to choose the right logo designer for your requirements.
Here are the advantages of hiring an established and professional logo designer:
2. Relies On Trends
![[image]](http://mowser.com/img?url=http%3A%2F%2Fmedia2.smashingmagazine.com%2Fwp-content%2Fuploads%2Fimages%2Fcommon-mistakes-logo-design%2F07.jpg)
Focusing on current logo trends is like putting a sell-by date on a logo.
Trends (whether swooshes, glows or bevels) come and go and ultimately turn into cliches. A well-designed logo should be timeless, and this can be achieved by ignoring the latest design tricks and gimmicks. The biggest cliche in logo design is the dreaded “corporate swoosh,†which is the ultimate way to play it safe. As a logo designer, your job is to create a unique identity for your client, so completely ignoring logo design trends is best.
Logolounge has a great section on its website in which it updates current logo design trends every year. Being aware as a designer of the latest crazes is important, mainly so that you can avoid them at all costs.
3. Uses Raster Images
![[image]](http://mowser.com/img?url=http%3A%2F%2Fmedia2.smashingmagazine.com%2Fwp-content%2Fuploads%2Fimages%2Fcommon-mistakes-logo-design%2F01.jpg)
An example of how raster graphics can limit reproduction.
Standard practice when designing a logo is to use vector graphics software, such as Adobe Illustrator or Corel Draw. A vector graphic is made up of mathematically precise points, which ensures visual consistency across multiple sizes. The alternative, of course, is use to raster graphics software, such as Adobe Photoshop. A raster graphic — or bitmap, as it’s commonly called — consists of pixels.
Using raster images for logos is not advisable because it can cause problems with reproduction. While Photoshop is capable of creating very large logos, you never know for sure how large you will have to reproduce your logo at some point. If you zoom in enough on a raster graphic, it will appear pixelated, making it unusable. Maintaining visual consistency by making sure the logo looks the same in all sizes is essential.
The main advantages of vector graphics for logo design are:
4. Contains Stock Art
![[image]](http://mowser.com/img?url=http%3A%2F%2Fmedia1.smashingmagazine.com%2Fwp-content%2Fuploads%2Fimages%2Fcommon-mistakes-logo-design%2F03.jpg)
Using stock vector graphics in a logo puts your client at risk.
This mistake is often made by business owners who design their own logo or by amateur designers who are not clued in to the laws on copyright. Downloading stock vector imagery from websites such as VectorStock is not a crime, but it could possibly get you in trouble if you incorporate it in a logo.
A logo should be unique and original, and the licensing agreement should be exclusive to the client: using stock art breaks both of these rules. Chances are, if you are using a stock vector image, it is also being used by someone somewhere else in the world, so yours is no longer unique. You can pretty easily spot stock vectors in logos because they are usually familiar shapes, such as globes and silhouettes.
5. Designing For Yourself Rather Than The Client
![[image]](http://mowser.com/img?url=http%3A%2F%2Fmedia1.smashingmagazine.com%2Fwp-content%2Fuploads%2Fimages%2Fcommon-mistakes-logo-design%2F11.jpg)
Never impose your own personality onto a client’s work.
You can often spot this logo design sin a mile away; the cause is usually a designer’s enormous ego. If you have found a cool new font that you can’t wait to use in a design, well… don’t. Ask yourself if that font is truly appropriate for the business you’re designing for? For example, a great modern typographic font that you just love is not likely suited to a serious business such as a lawyer’s office.
Some designers also make the mistake of including a “trademark†in their work. While you should be proud of your work, imposing your personality onto a logo is wrong. Stay focused on the client’s requirements by sticking to the brief.
6. Overly Complex
![[image]](http://mowser.com/img?url=http%3A%2F%2Fmedia2.smashingmagazine.com%2Fwp-content%2Fuploads%2Fimages%2Fcommon-mistakes-logo-design%2F08.jpg)
Highly detailed designs don’t scale well when printed or viewed in smaller sizes.
What better analogy for thumbnail images than fingerprints? You’ll notice the intricacies of your fingerprints only when looking at them really close up. As soon as you move away, those details are lost. The same holds true for highly detailed logo designs.
When printed in small sizes, a complex design will lose detail and in some cases will look like a smudge or, worse, a mistake. The more detail a logo has, the more information the viewer has to process. A logo should be memorable, and one of the best ways to make it memorable is to keep things simple. Look at the corporate identities of Nike, McDonald’s and Apple. Each company has a very simple icon that can easily be reproduced at any size.
7. Relies On Color For Its Effect
![[image]](http://mowser.com/img?url=http%3A%2F%2Fmedia2.smashingmagazine.com%2Fwp-content%2Fuploads%2Fimages%2Fcommon-mistakes-logo-design%2F2.jpg)
Without color, your great design may lose its identity.
This is a very common mistake. Some designers cannot wait to add color to a design, and some rely on it completely. Choosing color should be your last decision, so starting your work in black and white is best.
Every business owner will need to display their logo in only one color at one time or another, so the designer should test to see whether this would affect the logo’s identity. If you use color to help distinguish certain elements in the design, then the logo will look completely different in one tone.
8. Poor Choice Of Font
![[image]](http://mowser.com/img?url=http%3A%2F%2Fmedia1.smashingmagazine.com%2Fwp-content%2Fuploads%2Fimages%2Fcommon-mistakes-logo-design%2F10.jpg)
Font choice can make or break a logo.
When it comes to executing a logo, choosing the right font is the most important decision a designer can make. More often than not, a logo fails because of a poor font choice (our example shows the infamous Comic Sans).
Finding the perfect font for your design is all about matching the font to the style of the icon. But this can be tricky. If the match is too close, the icon and font will compete with each other for attention; if the complete opposite, then the viewer won’t know where to focus. The key is finding the right balance, somewhere in the middle. Every typeface has a personality. If the font you have chosen does not reflect the icon’s characteristics, then the whole message of the brand will misfire.
Bad fonts are often chosen simply because the decision isn’t taken seriously enough. Some designers simply throw in type as an afterthought. Professional font foundries, such as MyFonts and FontFont, offer much better typeface options than those over-used websites that offer free downloads.
9. Has Too Many Fonts
![[image]](http://mowser.com/img?url=http%3A%2F%2Fmedia1.smashingmagazine.com%2Fwp-content%2Fuploads%2Fimages%2Fcommon-mistakes-logo-design%2F5.jpg)
A logo works best with a maximum of two fonts.
Using too many fonts is like trying to show someone a whole photo album at once. Each typeface is different, and the viewer needs time to recognize it. Seeing too many at once causes confusion.
Using a maximum of two fonts of different weights is standard practice. Restricting the number of fonts to this number greatly improves the legibility of a logo design and improves brand recognition.
10. Copies Others
This is the biggest logo design mistake of all and, unfortunately, is becoming more and more common. As mentioned, the purpose of a logo is to represent a business. If it looks the same as someone else’s, it has failed in that regard. Copying others does no one any favors, neither the client nor the designer.
About the Author
Gareth Hardy is a professional graphic designer and illustrator based in the United Kingdom. You can find Gareth at Down With Design or on a snowy mountain near you.
© Gareth Hardy for Smashing Magazine, 2009. | Permalink | 217 comments | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags: design, logo
If you use Ubuntu then it's possible you'll enable a PPA or two, to install software not in the standard Ubuntu Repositories.
This is a fairly simple process, but there's a little fiddly bit of work to install the GPG key that goes along with each PPA. If you're the kind of person that plays around with a lot of PPAs, or uses PPAs on a lot of machines then you'll probably find yourself doing the GPG key dance a lot.
All round top-man Dominic Evans has crafted a neat little script which automates this process.
His script will not enable the PPAs, but for any PPA already enabled on your system it will go and get the necessary key and install it. If you have lots of PPAs enabled then this is a great way to do all the keys in one hit.
Here's what happens when you have added a PPA to your Ubuntu sources list, but haven't done the GPG key dance:-
alan@hactar:~$ sudo apt-get update [sudo] password for alan: Hit http://archive.canonical.com jaunty Release.gpg Ign http://archive.canonical.com jaunty/partner Translation-en_GB Get: 1 http://ppa.launchpad.net jaunty Release.gpg [307B]
snip
Get: 31 https://private-ppa.launchpad.net jaunty/main Sources [1543B] Fetched 388kB in 3s (121kB/s) Reading package lists... Done W: GPG error: http://ppa.launchpad.net jaunty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5A9BF3BB4E5E17B5 W: GPG error: http://ppa.launchpad.net jaunty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 3B22AB97AF1CDFA9 W: You may want to run apt-get update to correct these problems
Similarly if you use Update Manager then you'll get a dialog box titled "An error occurred. The following details are provided:" followed by:-
W: GPG error: http://ppa.launchpad.net jaunty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5A9BF3BB4E5E17B5 W: GPG error: http://ppa.launchpad.net jaunty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 3B22AB97AF1CDFA9
Of course the number of these, and the keys that you will see displayed will be different depending upon which PPAs you have enabled. Whilst they are only warnings, they're annoying enough for most people to want them to go away.
To fix this quickly and easily, just grab the script and save it somewhere like /usr/local/bin or (preferably for me) ~/bin (that's /home/alan/bin on my system). Finally make it executable by right clicking the file in nautilus and go to properties, then select the Permissions tab and enable 'Allow executing file as a program'. If you like the terminal then you can use the chmod command to do that bit.
Whenever you add a PPA simply run the script in a terminal. Here's what happens when you run Dominic's funky script.
alan@hactar:~$ launchpad-update Grabbing key 4E5E17B5 for archive ppa by ~chromium-daily Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --recv-keys --keyserver keyserver.ubuntu.com 4E5E17B5 gpg: requesting key 4E5E17B5 from hkp server keyserver.ubuntu.com gpg: key 4E5E17B5: public key "Launchpad PPA for chromium-daily" imported gpg: no ultimately trusted keys found gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) Grabbing key AF1CDFA9 for archive x-updates by ~ubuntu-x-swat Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --recv-keys --keyserver keyserver.ubuntu.com AF1CDFA9 gpg: requesting key AF1CDFA9 from hkp server keyserver.ubuntu.com gpg: key AF1CDFA9: public key "Launchpad PPA for Ubuntu-X" imported gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) Already have key 3E731F79 for archive ppa by ~siretart DONE
That's it. Now when I update...
alan@hactar:~$ sudo apt-get update Hit http://archive.canonical.com jaunty Release.gpg Ign http://archive.canonical.com jaunty/partner Translation-en_GB
..snip..
Hit https://private-ppa.launchpad.net jaunty/main Sources Fetched 617B in 2s (240B/s) Reading package lists... Done alan@hactar:~$
No warnings! Lovely. Big hugs for Dominic.
I understand that for Ubuntu Karmic (9.10) this script may become redundant as other changes come in, but for now, and for releases before 9.10 this is awesome!
<!--break-->
Releasing 2.0
After 54 mini-releases of screen-profiles-1, I'm pleased to declare a 2.0 release! I believe that the project is more stable, more feature-filled, and better performing than ever. screen-profiles has become much more than a fun little hack... I believe that it is ready for general usage.
Changing the Name of the Project
In conjunction with the 2.0 release, I am also renaming the project. The new name of the project and packages is byobu.
Byobu is a Japanese term for decorative, multi-panel screens that serve as folding room dividers. I think this is a fitting description of this project--an elegant enhancement of otherwise functional, plain, practical screens.
The pronunciation, as I understand it, is something like: beeyo-boo.
Update: Micah Cowan, a GNU Screen developer, also provided a pronunciation of byobu at Farvo.com. Thanks!
Explaining the Name Change
So why am I changing the name? I'll enumerate a few reasons...
Like screen itself, the name screen-profiles is functional and descriptive, but perhaps a little bland. At the birth of the project, it really did provide simply a static set of profiles. But these are far more dynamic, and configurable now. The vast majority of the code is no longer in the profile itself, but in the configuration utilities and status gathering scripts that customize screen. The project is in the process of being packaged for at least Debian, Fedora, and OpenSUSE, and Ubuntu's Karmic Koala has not yet entered Alpha1. The timing for a name change is as good as it is going to get. byobu is such an appropriate name! It expresses elegance, color, multiple panels, and function. Like Ubuntu, it's an interesting word in a foreign tongue. It also rhymes with GNU. Try saying: Byobu is new GNU fu in Ubuntu, 10 times fast :-)
Looking Forward
What's next for byobu?
I believe that GNU Screen can and should be used as a window manager on Linux servers (or at least command-line-only environments) in the same way that Gnome, KDE and XFCE are used on Linux desktops. Following this analogy, you might look at Byobu as providing a functionality similar to a compositing window manager like Compiz or Beryl. Something like Compiz is certainly not for everyone, and is easy to disable. However, it is useful to some people and can certainly enhance the overall desktop experience. And that's really my goal for byobu -- to enhance the experience and usability of screen, and the command line in general.
In the byobu 2.x series, I hope to implement:
Better interaction with various terminals Additional keybinding sets Configurable support for external notifiers, like notify-osd Internationalization of the text
Updating Links
I've made most of the necessary changes in the source code, though I'm still in the process of updating the various links and documentation. The most important ones are:
I am in touch with both Reinhard Tartler, who is handling the Debian packaging, and David Duffey who is handling the Fedora packaging. I should have the new package uploaded to Karmic later this week, and make packages available for Hardy, Intrepid, and Jaunty in the byobu PPA.
:-Dustin
A man was walking along a beach when in the distance he could see a small boy down on the shore line. As he got closer he could see the hundreds and thousands of starfish, washed up by an unusually strong tide, and left for dead stranded on the beach.
The man paused and watched the little boy repeatedly bending down, picking each starfish up one by one and tossing it back into the water.
The man approached the little boy and said “Young man, what are you doing?  Stop as you will tire yourself out, there are too many starfish stranded that you can’t make a difference here.â€
The young boy with tears in his eyes looked up at the older man, stooped down silently, picked up another starfish and threw it back into the ocean.
“It made a difference to that one†he said.
The official Ubuntu images for EC2 do not allow ssh directly to the root account, but instead provide access through a normal “ubuntu†user account. This practice fits the standard Ubuntu security model available in other environments and, admittedly, can take a bit of getting used to if you are not familiar with it.
This document describes how to work inside this environment using the “ubuntu†user and the sudo utility to execute commands as the root user when necessary.
SSH
First, to connect to an instance of an official Ubuntu image for EC2, you need to ssh to it as “ubuntu†instead of as “rootâ€. For example:
ssh -i KEYPAIR.pem ubuntu@HOSTNAME
Note that existing EC2 documentation and tools like the EC2 Console and Elasticfox assume that all EC2 instances accept connections to root, so you’ll have to remember this change.
If you accidentally ssh to root on one of the official Ubuntu images, a short message will be output reminding you to use “ubuntu†instead.
SUDO
When logged in under the “ubuntu†user, you can run commands as root using the sudo command. For example:
sudo apt-get update && sudo apt-get upgrade -y
Note that sudo clears the environment variables before running the command. If you need to have them set, then use the sudo -E option.
SUDO PASSWORD
The official Ubuntu images for EC2 are configured so that no password is required for sudo from the “ubuntu†user. Yes, this sacrifices a bit of security from standard Ubuntu operation, but any published hardcoded password would be more insecure, and randomly assigned passwords quickly become unmanageable when running many instances, in addition to preventing some types of remote automation described below.
Note that this policy does not allow logging in to the “ubuntu†user without a password. The password is disabled for login and not required for sudo. Login is done through the usual EC2 ssh keypair management as described above.
If you wish to increase security in this area, set the ubuntu user password and adjust the /etc/sudoers file.
sudo passwd ubuntu
sudo perl -pi -e 's/^(ubuntu.*)NOPASSWD:(.*)/$1$2/' /etc/sudoers
Make sure you set the password successfully first and remember it. If you change the sudoers file first, you will be stuck with no root access on that instance.
ROOT SHELL
If you want to switch to a root shell once you are logged in to the “ubuntu†user, simply use the command:
sudo -i
This is generally not recommended as it loses the enhanced logging of commands used as root and you risk accidentally entering commands when you did not intend to use root.
SSH SUDO
To automate a remote command as root from an external system, connect to “ubuntu†and use sudo:
ssh -i KEYPAIR.pem ubuntu@HOSTNAME 'sudo apt-get install -y apache2'
RSYNC
Now for the trickiest one. Sometimes you want to rsync files from an external system to the EC2 instance and you want the receiving end to be run as root so that it can set file ownerships and permissions correctly.
rsync -Paz --rsh "ssh -i KEYPAIR.pem" --rsync-path "sudo rsync" \
LOCALFILES ubuntu@HOSTNAME:REMOTEDIR/
The --rsh option specifies how to connect to the EC2 instance using the correct keypair. The command in the --rsync-path option makes sure rsync is running as root on the receiving end.
The -Paz options are just some of my favorites. They aren’t a key part of this rsync approach.
In order for this method to work, the “ubuntu†user must be able to sudo without a password (which is the default on the official Ubuntu images as described above).
ROOT SSH
Finally, if you wish to circumvent the Ubuntu security standard and revert to the old practice of allowing ssh and rsync as root, this command will open it up for a new instance of the official Ubuntu images:
ssh -i KEYPAIR.pem ubuntu@HOSTNAME \
'sudo cp /home/ubuntu/.ssh/authorized_keys /root/.ssh/'
This is not recommended, but it may be a way to get existing EC2 automation code to continue working until you can upgrade to the sudo practices described above.
SEE ALSO
For more information on recommended sudo practices in Ubuntu, please refer to:
https://help.ubuntu.com/community/RootSudo
Comments? Questions?
[Updated 2009-04-30: Simplified rsync instructions.]


I led an Ubuntu Open Week session earlier this morning on screen-profiles.
As part of the session, I setup a demo on an Amazon EC2 instance running Ubuntu 9.04. In that shared screen session, I as the "teacher" had read/write access to the instance, and 50+ "students" had read-only access. This proved incredibly handy for doing such a demonstration!
I did, however, have to configure a number of things manually to enable screen to operate safely and securely in such a shared environment.
A number of people asked me how I did this, so I thought I'd document those steps here...
$ sudo chmod 6755 /usr/bin/screen.real
Once we've changed this, we must now change the permissions on the shared run space:
$ sudo chmod 755 /var/run/screen Now, launch screen, title it "class", and select the light profile:
$ screen -S class
Next, add the following screen configuration parameters in your ~/.screenrc:
# Ensure that permissions are propagated to all new windows
aclumask guest+r guest-w guest-x
# Give your guests read, but not write or execute permissions
aclchg guest +r-w-x "#?"
# Allow your guests to switch among windows, and detach
aclchg guest +x "prev,next,select,detach"
# Enable multiuser
multiuser on And reload your profile with F5
Next, edit /etc/ssh/sshd_config, and add this to the very end, to ensure that our guest user can login with a password, no forward ports, and only launch this one command:
PasswordAuthentication yes
AllowTcpForwarding no
Match User guest
ForceCommand screen -x ubuntu/class Also, if this is Amazon EC2, you'll need to enable password authentication in /etc/ssh/sshd_config with:
PasswordAuthentication yes
Now, let's add our guest user, set a password, and ensure that your guest users cannot mess with one another:
$ sudo adduser guest
$ sudo chown -R root:root /home/guest
$ sudo touch /home/guest/.screenrc
And restart sshd to get your configuration changes to apply:
$ sudo service ssh restart
:-Dustin
Last week, we released the source code to django-openid-auth. This is a small library that can add OpenID based authentication to Django applications. It has been used for a number of internal Canonical projects, including the sprint scheduler Scott wrote for the last Ubuntu Developer Summit, so it is possible you’ve already used the code.
Rather than trying to cover all possible use cases of OpenID, it focuses on providing OpenID Relying Party support to applications using Django’s django.contrib.auth authentication system. As such, it is usually enough to edit just two files in an existing application to enable OpenID login.
The library has a number of useful features:
While the code can be used for generic OpenID login, we’ve mostly been using it for single sign on. The hope is that it will help members of the Ubuntu and Launchpad communities reuse our authentication system in a secure fashion.
The source code can be downloaded using the following Bazaar command:
bzr branch lp:django-openid-auth
Documentation on how to integrate the library is available in the README.txt file. The library includes some code written by Simon Willison for django-openid, and uses the same licensing terms (2 clause BSD) as that project.

I ran the Race for the Roses Half Marathon in Portland, Oregon with Leann Ogasawara on Sunday, April 5, 2009 in an Ubuntu Jaunty t-shirt -- my way of promoting what's shaping up to be a fantastic release ;-)It was a great day for a run. Perfect sunny spring weather, for a good cause, and Portland is quite a beautiful city.
I've proposed that the Canonical Ubuntu Store offer a technical t-shirt for runners and cyclist with a pithy logo, perhaps something like this:

If you like this idea or have other suggestions, please leave a note in the feedback form at the Canonical Store!

:-Dustin



