Graphic design for engineers: the logo

I had a flick through a book called "The Non-Designer's Design Book (2nd Edition)" by Robin Williams, and it's a killer.

I like art. But writing about art, is normally just utter shite. And writing about commerical graphic design is even worse.

Robin's book however...

...really got me thinking. She demonstrates simple rules about layout, focussing on the principles of "Consistency, Repetition, Alignment, Proximity" [Spell it out...]. She also gives a lot of great info on fonts, the printing process, and the business of graphic design. The examples make all of her lessons very clear.

Since then, (and with help from various web-pages, listed at the foot of this page) I've come up with ten 'No-Nonsense' rules for designing a corporate logo.

If you want to look amateur, just break these rules.

Logo design rules

  1. Include the product (or business) name.
  2. Just one colour
  3. Works in black and white
  4. Still works at very small Sizes, and poor resolutions
  5. Legible
  6. Does not use a standard font
  7. Probably uses a sans-serif font
  8. Attention should be paid to kerning ('kerning' means fine-tuning the letter-spacing)
  9. Original
  10. Relevant (to target audience)

Keep these in mind as you look at professional logos around you. You'll be suprised at how rarely the rules are broken.

The second rule (Just one colour) can be broken, but it's an expensive rule. If you're feeling insane you can maybe go to two colours, or possibly a gradient. If you're a mega-nutcase with a death-wish, go ahead and use three colours. Beyond that, you've entered the realm of the schitzotropic drug-addled lunatic, and logo design is not for you.

All told, logo design (and commercial graphic design) is an extremely constrained field, better suited to programmers than artistes. If Van Gogh had been a commercial logo designer he would've chopped off more than just his ear.

Applying the rules to secretGeek, I was shocked to find I only score about four out of ten. I've spent some time seeing what can be done and I'll write about this if I get a chance.

References

 

Can you Nest Enums?

Someone asked me "is there a way to nest Enums in .Net?" This crazy tree-of-life example is what i came up with... anyone got a better idea?

 

Question: Which code snippet is "better"?






[Hint: which is easier to debug?]

 

Programmer's Purgatory

I don't ordinarily subscribe to any judeo-christian hocus-pocus.

But i have a vague feeling that when programmers die they are made to spend many centuries in a purgatorial-place, as punishment for all the bad code, the slow code, the sloppy code, the unmaintainable code...

Here's a recent slab that probably earnt me a couple of millennia in the cosmic wait-state:

Imports System.Text.RegularExpressions

Public Function DisPascalize(ByVal psPascalString As String) As String
  Dim sResult As String
  sResult = psPascalString
  sResult = Regex.Replace(sResult, "([^A-Z])([A-Z])", "$1 $2").Trim
  sResult = Regex.Replace(sResult, "([A-Z])([A-Z])([^A-Z])", "$1 $2$3").Trim
  sResult = Regex.Replace(sResult, "([A-Za-z])([0-9])", "$1 $2").Trim
  sResult = Regex.Replace(sResult, "([0-9])([A-Za-z])", "$1 $2").Trim
  Return sResult
End Function

Notice the way there are no comments at all. Because 'DisPascalize' is just so self-explanatory, no?

What does it do?

InputOutput
"PascalCase""Pascal Case"
"ABCPascal""ABC Pascal"
"Pascal123""Pascal 123"
"123Pascal""123 Pascal"

I've used it for converting PascalCase Enums into presentable words. Wonder if anyone has advice on a nicer way to do this. It feels so wrong.

 

Hey Mike!

blog,

Can you match the Mike to the Blog?

  1. Mike Gunderloy
  2. Mike Pope
  3. Mike Leung
  4. Mike Schinkel
http://www.blamemike.com/
http://www.larkware.com/
http://blogs.xtras.net/mikes/default.aspx
http://www.mikepope.com/blog

These are all Mike's that I've been in touch with (one way or another) in the last few days.

First correct entrant can name their prize.

(not that naming the prize will make it magically appear in your hands. what am i? some kind of freakin genie? if you want an X-box -- go buy it yourself.)
 

Dirty Plagiarist

They say that plagiarism is the sincerest form of flattery. And I'm a little flattered that I've been plagiarised, but mostly I'm just annoyed.

Some dirty pretender named Fengzhimei has nicked the guts of a .net Remoting article i wrote around christmas last year and hasn't given any credit at all. The examples have been converted into C#, yes, but the words are stolen. Although his blog *looks* quite interesting, I now assume that all of his material is stolen from other sources. Cheap and nasty stuff.

I don't want to give him the google juice, but here's a link to the stolen material.

Blogging while angry is a big no-no. Hopefully I won't regret this entry later. Time will tell.

 

Nobody Can Eat Fifty Eggs.

If you've ever needed to know exactly how many eggs my brother John collects from his hens in any given week -- wonder no more!

John's Hen Monitoring web site gives you a graphical display of the weekly egg output.

egg monitoring

The man is rich in eggs.

It's reminiscent of...

...trixie update which keeps you up to date with exact figures on the sleep, diaper and bottle habits of one very over-analysed infant.

baby monitoring

And that in turn is similar to MoodStats.com, produced by the Cuban Council, which provides realtime information on the mood of any geek who wishes to contribute.

moodstats

I'm not exactly excited about a future in which us (and all our pets) will be permanently hooked into one giant battery-hen style fattening-farm, with all of our vital readings being broadcast for consumption by faceless web services, feeding the industrial-military-corporate-complex. but you can't stop progress.

In order to take part in this analytical orgy i present:

Number of Times Ziggy (the kitten) attempted to eat my breakfast in the last three days despite my insistent cries of 'oi! get down!'*

Date# attempts
29 July(2)
28 July(0)(kitten was excellent)
27 July(9)

* Don't rely upon these figures in order to make financial decisions. Consult an independent financial adviser first.

Uh, thanks.

 

Why Am I Here?

Are you grumpy about debugging? Sick of staggering blindly up and down the stack?

...StackStumbler

StackStumbler OAI

StackStumbler helps you view multiple levels of the stack at once... and helps you answer the ancient philosophical question "Why am I here?"

(continues...)

Click to See the Full Size Version
(click to see the full size version)

Once again, it's only an idea (OAI), not real at all... sorry.

Test Driven Dev afficionados would of course say that a nice set of unit tests should mean you rarely need to use a debugger.(Just when debugging has gotten good it's become obsolete! such is life.)


On another track, something I like is: 'del.icio.us'. Mmmm. Full of nifty links, is del.icio.us. And an award winningly clever name. In particular I like the way they use shades of grey to graphically indicate the number of times each link has been suggested. I just might do the same thing with my sock drawer.

 

The Where, the Who and the Why of Steve Lombardi

Where is Steve Lombardi? It's not something I've ever needed to know -- but if i want to know, i just have to go to the where is steve web page. I can see his location, live, on a map, at any time. Pretty clever stuff, based on MS MapPoint.

But Who is Steve Lombardi? Well that's a tricky question. I'm certain he's a very intelligent man. But based on this interview i found, i could equally well conclude that he is a crazy nut case.

(continues)

And his picture seems to concur ;-)

Steve Lombardi. Quite the hairdo.

(here's a quick tip for the editors of 'mp2kmag': unedited interviews read like crazy nonsense.)

The good news is that if Steve really is as crazy as the interview makes him seem, then it's okay. It will be no trouble for some Crime Syndicate to connect one of their laser-guided missile-systems to the "Where is steve?" page, and blow him off the planet. (Crime Syndicates are good at this stuff, particularly the bad guys on 'Alias'). But after reading more about this technology at other, better edited websites, including articles by Steve himself, I conclude that he not only deserves to live, but has a right to ongoing gainful employment.

Why mention Steve? because he's talking at Tech.Ed australia, about MapPoint, that's why.

Were I going to Tech.Ed, I would definitely be going to Steve's lecture. And Mitch Denny's. Were I going. :-(

 

I must strangle someone.

sql,

I must grab someone by the throat and squeeze their neck so hard inside my steely grip that their blood supply is stopped, and their brain starves and gets dead. I need to pick up a hammer and smash someone across the face with it. The next person I see, they're gonna cop it.... and when they ask me why I did it, when the judges and the juries get out their pencils and prepare to take notes on the mind of a madman, a killer -- I will point to the system I am migrating data out of... I will point to this system, 'LOOK!' I will say. I will show them how this system worked, show them what the previous developer did, and then the people will understand... It's okay they will say, no wonder you went on a psychotic rampage. Migrating data out of that must have been terrible. Tell us again secretgeek, tell us what it was he did?

He has a foreign key that points to a non-primary key.

Wait a second -- are you sure? Do you realise the implications?

(it gets worse i'm afraid)

Oh yes. The full implications. I see it. I see it clear, your honour. The field he points to is changing over time. There are four years worth of data here and the value of the supposed primary-key has changed fifty times. These values he points to are reused from one record to the next. In order to make sense of any record at all I have to scan numerous other tables, try and make time flow backwards and thus predict which record has the given value at the given point in time. It's crap your honour. Cacca. Poo. It's good that a few people died as a result of my rage. It saves them from having to live in a world where basic relational-integrity can become so broken. They've been saved your honour.

Are you a happy programmer, sg?

Most days, your honour. This being not one of them. But most days.


(p.s. I'm reading a Stephen King book at the moment. And although I am a little stressed i am not actually a psychopath. Honest.)