Blog of Leonid Mamchenkov

You just stepped in a pile of posts.

Entries Categorized as 'Programming' (RSS feed)

PSD slicing service recommendation

Posted in All, Programming, Web work on May 14th, 2008 · 2 Comments

This is a follow-up to my recent post “MostSliced.com summary - picking PSD slicing company“.

Once the choices for the PSD slicing service were established, I did the next step - actual order.  I started from the top of my list, which happened to be xHTML Master.  I sent them the order through the form on their web site and got a pretty fast response apologizing for the fact that they were too busy to undertake my order.  No problem.  Good that they notified me in a timely manner.  So, I went to the next choice - PSD Slicing.  Again, submitted the design and went into the waiting mode.

Pretty soon I received an email letting me know that the order is OK and that they can start on Monday (next working day) and finish it by Wednesday (two pages, with one of them being a rather complex design).  The timing was well within my limits.  I sent them 50% of the down-payment and started waiting again.  Today, on Tuesday, around lunch time, I got my order back, fully done and finished.

First of all, of course, I was a bit surprised with the speed.  I thought it would take them more.  When I checked the results I was even more surprised.  In short: outstanding job!  The images were cut properly, some in PNG, some in GIF, some in JPG - properly chosen each time.  The xHTML was small and clean, validated perfectly with XHTML 1.0 Strict (not even Transitional!).  DIVs, proper CSS, nicely indented.  CSS was also done nicely - small, simple, and straight-forward.  Fully valid.  Also, the whole codebase is pretty semantic and, as a bonus, validates with web accessibility standard (Section 508).  To say that I was really impressed with the result was to say nothing at all.  I was stunned for a few minutes.  It’s been a really long time since I saw anything so beautiful.

It was so good that I couldn’t believe it.  So I thought maybe it will break in one of the major browsers.  Then my attention was caught by something else in that email message that they sent me.  It was a link to BrowserShots.org , which is the web service that can show you how your web site looks in a whole lot of browsers.  PSD Slicing provided me with the link to the screenshots of their results in all major browsers that I cared about!

After checking that code back and forth, the only suggestion I could come up with is … comments.  They aren’t required or anything, since the whole CSS and xHTML files are very small (something around 6-10 KBytes), but still it would have been nice to have some comments, especially in CSS.

Am I satisfied with their service?  You bet I am.  Will I ever recommend it?  Yes, of course.  I’m doing it already.  Is it worth the money (around $120/page)? Yes!  [insert more questions here and answer them "yes"]

→ 2 CommentsTags: , , , , , , ,

Moved to gvim

Posted in All, Programming on May 6th, 2008 · 2 Comments

After years of using Vim, I recently moved to its graphical version - gvim. It turned out that things that I didn’t like about gvim are trivial to fix.

set guifont=Console
set guioptions-=m " No menu
set guioptions-=T " No toolbar
set guioptions+=c " Use console dialogs where possible

You’d probably want to read “:help guioptions” for more.

Now there is a greater variety of colorschemes to choose from, and, finally, I can have italic font for comments in the code - nothing beats that!

→ 2 CommentsTags: ,

Python love

Posted in All, Programming, Web work on May 4th, 2008 · No Comments

This line caught my attention while I scrolled through MoinMoin wiki features:

written in Python! This means that you can easily read and use the source, even if you don’t know Python yet.

It has love for Python written all over it.

→ No CommentsTags: , ,

Googley Design Principles

Posted in All, Programming, Web work on April 28th, 2008 · 2 Comments

Very much in line with the image explaining simplicity of user interfaces, comes the list of Googley Design Principles:

1. Focus on people—their lives, their work, their dreams.
2. Every millisecond counts.
3. Simplicity is powerful.
4. Engage beginners and attract experts.
5. Dare to innovate.
6. Design for the world.
7. Plan for today’s and tomorrow’s business.
8. Delight the eye without distracting the mind.
9. Be worthy of people’s trust.
10. Add a human touch.

Anyone doing any sort of user interface work should learn these by heard and repeat them as every morning mantra.

→ 2 CommentsTags: , , ,

Thou shalt not ignore warnings

Posted in All, Programming on April 21st, 2008 · No Comments

Here is a quote from a wise comment in the discussion of the “Linux system programming” book review:

Build your code with -Wall -Werror (or your compiler’s equivalent). Once you clean up all the crud, that pops up, crank it up with -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith. Once there — add -Wreturn-type -Wcast-qual -Wswitch -Wshadow -Wcast-align and tighten up by removing the no in -Wno-unused-parameter. The -Wwrite-strings is essential, if you wish your code to be compiled with a C++ compiler some day (hint: the correct type for static strings is ” const char *”).
For truly clean code, add -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls.
The people, who wrote and maintain the compiler, are, most likely, several levels above you in understanding programming in general and C-programming in particular. Ignoring the advice their code generates is foolish on your part…
As a minimum, solved warnings will make your code more readable by reducing/eliminating the “Why is he doing this?” questions. More often than not, they point out bugs you would otherwise spend hours chasing with a debugger later.
And they make your code more portable. But if you don’t understand, why a warning is generated — ask around. Don’t just “shut it up”. For example, initializing a variable at declaration is usually a no-no. If the compiler thinks, the variable may be used before being initialized, scrutinize your program’s flow. If you can’t figure out, it may some times be better to disable this one warning temporarily with -Wno-uninitialized to move on, instead of shutting it up for ever by a bogus “= 0″ or some such…

→ No CommentsTags: , , , , , ,