"When I get sad, I stop being sad and be awesome instead. True story." -Barney Stinson


My Web Development Toolbox

November 2nd, 2009 by David Safar

Yesterday, my friend Carlos posted about the core web design tools that he uses on a regular basis. I thought I’d chime in and mention some of mine, particularly as Carlos is a Mac user and some of his tools aren’t available for Windows, which is where I get most of my work done.



For Launchbar-like keystroke launching functionality on Windows, Launchy is a great choice — and free!



Like Carlos’s pick, TextPad supports syntax coloring for a number of languages. It’s also extensible — you can define new document classes and color them yourself, or download user-defined document syntax definitions created by the TextPad community.

Microsoft Visual Studio 2008


Yes, even though PHP is my language of choice, I sometimes find myself turning to the Evil Empire’s software development tools to work on it. MSVS has exactly one thing going for it: the slickest implementation I’ve seen of simulated in-place editing of files on a web server. This is such an important feature and so few programs seem to support it. Linux can easily and freely be extended to treat an FTP site as part of the local filesystem, but until Windows offers the same ease-of-use in this regard, it falls to the application vendors to offer this feature. Kudos to Microsoft on getting this one right — in their programming tools if not their operating system!



Because not everyone is onboard with simulated in-place editing, I often find myself needing to perform the edit-and-upload cycle manually. FileZilla does a fantastic job of giving me the FTP functionality I need with the ease-of-use I desire.

Google Chrome’s Inspector and FireFox’s Firebug


Not much I can say here that Carlos didn’t already mention, except that Chrome is my browser of choice rather than Safari. It’s still based on Webkit, though.



Lately I find myself doing a fair bit of graphic design work. That means I spend a good chunk of time working with The GNU Image Manipulation Program, the free open-source alternative to PhotoShop. All my screenshots for this post were made with Windows’ built-in screenshot functionality pasted into The GIMP.

CSSDrive’s Color Palette Generator


I must admit, the visual aspect of web design is not my forte, I’m more of a tech guy. That means that anything I can lean on to help me make things look spiffy is extremely useful. One example is this nifty Color Palette Generator, which allows you to upload an image and derive a color palette from it. Use this with a logo to generate a similar palette, or a nature photo to come up with something that’s naturally aesthetically pleasing. Very handy!

Those are the tools that work for me — what about you?

(Many thanks to Carlos for inspiring this post to my oft-neglected Technology category!)

Jobs Are Overrated

October 5th, 2009 by David Safar

Next up in my survey of things that are overrated is traditional employment: jobs are overrated!

There isn’t much I’m going to say here that hasn’t already been said more eloquently by a host of bloggers across the web.  But I would be remiss if I didn’t include this topic in this series of posts, as I do believe that the popular addiction to traditional employment is harmful to many (but not all) of the people who are affected by it.

So, just what have I got against jobs?  Plenty of things!

  • Little control over your time. Most jobs require you to be there at a fixed time and remain there for a fixed time — whether it’s a typical 9-5 or a variable schedule set by a manager.  The standard 40 hour workweek takes up a big chunk of your time and, combined with a need for a healthy amount of sleep, leaves you with less than a third of your weekday to yourself — especially after considering the “overhead” involved in getting ready for work, traveling to and from work, and taking your mandatory lunch break (which, let’s face it, typically doesn’t really give you the time or freedom to make good use of it as personal time).  At my last job, my “eight hour” workday often cost me twelve hours — 7 AM to 7 PM.  Leisure activities, relaxation, education, and personal growth must be squeezed in around this massive drain on your time.  At the typical job, you must do your work when you are told.
  • Little autonomy. Jobs generally require you to work in a location determined by your employer, whether it is conducive to your productivity or not.  They also tend to entail working on tasks decided by someone else in a manner that suits their whims, regardless of whether those are the best tasks or the optimal methods.  As I write this, a Metallica lyric from Eye of the Beholder comes to mind: “You can do it your own way, if it’s done just how I say.”  (I’ve embedded a link to the song at the bottom of this post.) In the workplace, your job even has the authority to make you attend unproductive meetings and perform busywork which do not in any way contribute to getting your work done — and it’s your responsibility to make up this time!  At the typical job, you must do what you are told, how you are told, where you are told.
  • Little influence. By necessity, not everyone can be in charge, and the larger the company, the less say the typical employee has.  Which means that unless you are in a position of power, odds are you will have little to no ability to change the company’s course if you can see a better way to do things, have a new idea that might benefit the company, or know that the choices being made by those in charge are illegal, unethical, or just plain stupid.  Many companies are loathe to change, and even those that are open to change usually improve at a snail’s pace, a phenomenon I refer to as “moving at the speed of business”.  At the typical job, you have very little influence on those who tell you and others what to do.
  • Little security. Have you ever heard the saying “Don’t put all your eggs in one basket?”  It’s generally considered a bad idea to gamble all your savings on the performance of a single stock — why would it be a good idea to gamble the continued existence of your income on the performance of a single company, or sometimes even the whims of a single manager?  If your company goes under, downsizes, or gets acquired, or if someone in authority simply decides they don’t like you, you could lose your entire income overnight.  This can happen to anyone, any time, as our recent banking crisis and continuing recession have proven.  At the typical job, you have no reason to believe your job will still be there tomorrow.
  • Little compensation for achievements. If you saved or earned your company an extra ten thousand dollars tomorrow, how much of it would you see?  If you’re lucky, you might get a thank you.  Maybe a small gift card, if your company is particularly generous.  Likewise, if you learned a new skill tomorrow that made you a more valuable employee, many companies would not recognize and compensate that — your increased skills would merely result in an increase in the company’s bottom line, with no guarantee that you would receive any benefit from it whatsoever.  At a typical job, an increase in your value to the company does not guarantee an increase in your compensation.
  • Emotional factors. Allow me to let Dale Carnegie discuss this point for me:

    “Psychiatrists declare that most of our fatigue derives from our mental and emotional attitudes… What kinds of emotional factors tire the sedentary (or sitting) worker? Joy? Contentment? No! Never! Boredom, resentment, a feeling of not being appreciated, a feeling of futility, hurry, anxiety, worry–those are the emotional factors that exhaust the sitting worker, make him susceptible to colds, reduce his output, and send him home with a nervous headache. Yes, we get tired because our emotions produce nervous tensions in the body.” -Dale Carnegie from How to Stop Worrying and Start Living

    ‘Nuff said.

On the whole, employees in many companies are treated like children.  They are required to get up at a time determined by someone else’s whims, go where they are told to go, sit where they are told to sit, do what they are told to do the way they are told to do it, risk, receive less in compensation than the value they create for the employer (by necessity — if they didn’t, the employer wouldn’t make any money), run the risk of their income being cut off at any time for any reason or no reason at all.  If they disobey the authority figures, a system is in place to discipline them and bring them back in line.  A routine of this nature was not fulfilling, beneficial, enjoyable, or conducive to personal growth and well-being in elementary school, nor is it any of these things in adult life.  This is a system designed to force individuals to sacrifice their well-being for the good of the company without regard for their individuality, liberty, or humanity.

Isn’t it ironic so many of us in the so-called “free world” willingly choose to live as slaves?

This is the reason why I seek self-employment, and why I would suggest that anyone who is dissatisfied with traditional employment do the same.  Freelancers set their own hours (which, admittedly, may be long, but that is a personal choice and not an arbitrary requirement imposed by others), their work, their clients, their methods, their workplace (where applicable), and their compensation and benefits (limited only by the amount of business they are able to do).  The freelancer has the power to make decisions and to quickly change things that aren’t working, and with multiple clients comes a security from sudden and immediate lack of income — if you lose a client, only a fraction of your income is lost instead of all of it.  If you have a profitable idea or increase your value as a worker, you personally reap the benefit of that in your income.  You can focus on types of work that are less fatiguing to you, and if you find yourself feeling stressed anyway, you can take a break.  Self-employment has a great many benefits over regular employment, and while it’s not a panacea and there are indeed people who are perfectly happy with their jobs, I think the world would be a happier place if more of those who are dissatisfied with traditional employment investigated self-employment as an alternative.

(Note: This song has a long intro which starts very quiet — it may take several seconds after you press play before you actually hear anything.)

Degrees Are Overrated.

September 16th, 2009 by David Safar

We live in a world where degrees are overvalued and misinterpreted, and from an efficiency standpoint, I understand why this is.  It’s very difficult to thoroughly evaluate the depth and breadth of a person’s knowledge, so degrees serve as a shortcut of sorts.  They supposedly offer proof (or at least evidence) that the possessor has learned a certain set of information and skills, both specific to a field and of general use.  In truth, though, they are often more a measure of tenacity than of learning.  If you can follow directions and buckle down and do what you’re told, you can get a degree, and that degree will be indistinguishable from one earned by somebody who learned and explored and bettered themselves.  And although the degree is a poor measure of a person’s retention of knowledge and abilities, it’s the system that’s in place and until something better comes along, it’s what people will continue to use.  And I can’t blame them — who has the time to do a comprehensive analysis of every job candidate’s true level of education, and how many job seekers would tolerate it?  No, we can’t get rid of degrees, however inadequate they may be.

As an aside: my father works in IT for a government contractor.  Co-workers are often impressed by the depth of his knowledge, and from time time to time will ask where he got his degree.  They are often surprised to learn that he has none.  This reaction is ludicrous.  It’s as if the population has been brainwashed into believing that attending a major university is the only way to learn anything.  Perhaps this is the reason so few people read anymore — maybe they believe they cannot possibly learn anything from it because there isn’t a professor or tuition involved.

What a horrible way to live your life.

There is a solution, however to this whole “degree” mess, for some people if not for everyone.  That solution is self-certification.

I encountered the idea of self-certification at a talk given by Cem Kaner, a prominent figure in the world of software quality assurance.  Mr. Kaner was asked whether he believed it was worthwhile to pursue the numerous “testing certifications” available to QA professionals.  He recommended instead a path of self-certification, which he explained consists of writing articles, giving talks, and generally making a name for oneself in one’s chosen field.  Effectively, if your reputation precedes you, your lack of a degree is irrelevant.

This, I imagine, plays better with a self-employed lifestyle than with traditional employment, although I can’t imagine that being a recognized authority in your field could fail to help you get a traditional job.  But self-certification requires some attributes that formal education either does not or helps to provide.  To become self-certified, one must be internally motivated — there are no due dates or deadlines, no assignments to complete, no tests to study for, except those that one chooses to seek out.  It requires a much more pro-active approach than going to school, where your primary task is to do what you’re told.  Self-certification requires you to seek out ways to contribute, opportunities to create and share within your field, chances to get your name out there by helping others in a public forum.

Self-certification is a very different type of process (and in some ways a more valuable one) than seeking a degree.  The very act of seeking to make a name for yourself in this way is a double win — your skills improve, allowing you to provide even greater value, while you simultaneously approach your goal of having a way to demonstrate the value that you already have.  By pairing the strategies of self-education and self-certification, you can avoid the inadequacies of both traditional education and the degree system that goes with it.

Formal Education Is Overrated.

July 8th, 2009 by David Safar

(Note: This is a repost of an article which appeared on my LiveJournal on January 24, 2009.  I am transferring it over because it is the first in a series, which will be continued soon.)

I’ve never been a fan of formal education.

Maybe it works for some people, but it never worked all that well for me. I’m just a self-directed kind of guy, and working on someone else’s tasks to someone else’s standards on someone else’s schedule is nothing but irritating to me, and it hampers my education. The bottom line is that I love learning, but I can’t stand being taught.

My biggest problem with formal education is pacing. Most classes run at a fixed pace for a fixed period of time. That just isn’t how I learn best. Sometimes I make a cognitive leap in a subject and want to keep learning non-stop for hours or days on end. Other times I’m just not feeling it and the best thing I can do is set the subject aside for a while (hours, days, weeks, months, or even years) and let the concepts I’ve already absorbed gel before proceeding. Maybe I’m unusual in this regard, but I think it more likely that teaching at a constant pace is a sub-optimal system for many students. Even students who learn well at a constant pace will probably prefer a pace quicker or slower than what the instructor has chosen.

There is, however, a reasonable argument to support this system. It’s easier to teach if everyone’s learning the same thing at the same time at the same pace. It’s also easier to tell if someone’s falling behind, in the instance where there’s a deadline involved. Reluctant students may be more likely to complete a class if there are numerous fixed checkpoints along the way. Thus, our traditional educational system works in favor of the instructor and the least common denominator. The focus is on the numbers, working to herd students through the system in the largest numbers possible with the least inconvenience and cost.

This means that the students with the most potential must either fend for themselves or slip through the cracks. It’s sad, but it’s true, and it’s far worse in high school than it is in college. I was very disappointed in the “education” I received from my high school, which was very proud of its status as a “California Distinguished School”. My brief stay in Portland taught me, through meeting high school students and speaking to their parents, that Oregon schools are even worse. I advised one student there that if she wanted an education, she would have to take responsibility for it herself. High schools aren’t interested in educating kids, they’re only interested in processing them through the system with a minimum of fuss and hassle.

“I have never let my schooling interfere with my education.”

-Mark Twain

And really, that’s the key. If you want an education, you must take responsibility for it yourself. I can’t tell you how much harm I’ve done to my education in my younger years by misguidedly allowing my schooling to interfere with it. I permitted the school to persuade me that they were taking responsibility for my education, and sat back in expectation of its delivery. I was appalled by the paper-shuffling busy-work that I got instead, but continued waiting for the fulfillment of the promise, encouraged by the words of the adults in my life. In elementary school, “you’ll like middle school better”. In middle school, “you’ll like high school better”. And in high school, “you’ll like college better”. And finally I left high school early to go to Middle College, because every level of schooling before had utterly failed me. I had become more and more unhappy as the promises that things would be better next year proved to be not only empty, but bitterly ironic as things got WORSE every year. It wasn’t until I rejected traditional schooling and sought out an alternative program that I found a way to even make the situation TOLERABLE enough to graduate (and even then, not on time).

My bad… though I don’t know what I could have done differently with the limitations (both real and imagined) and lack of information I had to work with at the time.

But there is a solution to these problems, at least for those who are no longer beholden to the educational system. There’s a viable alternative to a college education — a college-level self-education. You may not wish to get the knowledge you seek from schooling, but you have to get it from somewhere, and believe me, it’s out there! I’m working out the details of how to go about this right now. It seems to me that the first step is to work out a curriculum — you have to know what you want to learn (perhaps not everything, but at least a starting point) before you can begin to assimilate knowledge. This is the step that I’m working on now, and is what prompted me to inquire about what should be included in a well-rounded education. I’m presently in the position of being able to design one for myself, and want to put some thought into it rather than just accept the structure that was thrust upon me by a system that thoroughly alienated me.

After deciding the general categories of my education, I’ll be narrowing each down to an initial focus, investigating and choosing educational resources, and beginning to read — I do expect that most of the knowledge I’m looking for will be found in books, despite my personal preference for the Internet as a source of information.

There’s still a hiccup in this plan, which I will investigate in another post — independent scholars face an additional challenge in having their studies recognized by those (such as employers) who use such things as a basis for decision-making. There are, of course, exceptions and ways around this, but as I said, that’s for another post.


July 1st, 2009 by David Safar

Hello guys how .Here you get to know about the good and the beautiful flyer printing . He seems to be the view Lajwav . And is about to hide several Anuruptaye . And businesses get more Prohotsn .

What the Printing ?

Which is in many ways , such as the printing of the Kanlender , books, business cards , etc .printing or additive manufacturing is a process of making three dimensional solid objects from a digital file. Printing which is very beautifully illustrate .

Printing Peach :-   A Bicitr object , painting etc. will be printed on a key point . And it should be informed ofthe picture . The progress in the business etc . Be distinguished by its beauty .

This site is very good . I read about this site .PrintingPeach.ca Sarah has been corrected . Matter relating to the website , this is very good site useful Krtao said he asked . Let me do the work it has been 11 years .

Why i am mentioning This Website ?

I asked him about it , he added Krtao use it was very good website . Because in  years to be working. He admired the website . You can find out about it, it is added to Krtao useful . This is a nice site.


What Keeps You Busy?

June 25th, 2009 by David Safar

My friend Alice wrote a post some time ago about the question “what do you do?” and how it usually really means “what do you do for money?”.  But I don’t see the question in that light — really what I’m interested in is “what do you do with the bulk of your time?”.  For most people, that is full-time traditional employment, but I find it more interesting when it isn’t.  As a result, I try to avoid the question “what do you do?” these days in favor of “what keeps you busy?”.  A subtle difference, perhaps, but a meaningful one.  If something other than pursuing income keeps you busy, good for you!  I’d like to hear about it.

I have been kept busy by four different employment statuses in my adult life, and each has its pros and its cons.  Each has a different feel to it.  Sometimes the specific activities which keep me busy are different from one status to the next, and sometimes they’re the same but take on different meanings, but these statuses definitely all have distinctly different flavors.  I’ve been employed, unemployed, self-employed, and most recently, self-unemployed.

To discuss the pros and cons of the these statuses, first I need to explore what I want out of the activities that keep me busy.

What I Want From What Keeps Me Busy

  • Self-Determination. I want to be the master of my time, choosing what I do, when I do it, and how long I do it for.
  • Activities I Care About. I want my activities to make a difference in a way that has significance for me.
  • Project Ownership. I want to have a significant stake in and responsibility for the outcome of what I do.
  • Community. I want to have other people to interact with who are on the same or a similar path, people who want what I want and who can help me when I need it and accept my help when they need it.
  • Adequate Compensation. I want to be able to maintain a comfortable lifestyle indefinitely.

Now that I have some criteria to work with, I can start evaluating the employment statuses.  This is all highly subjective, of course, based on my own life experiences — I’m sure others have different opinions stemming from different experiences.


Employment has been a mixed bag for me.

Self-Determination: Very little.  Projects and schedules are determined by the employer, often without regard for your skills, interests, wishes, or well-being.  Rigid 5×8 workweeks with more than 40 hours’ worth of work to be done per week.  No telecommuting, despite working almost exclusively in the software industry.  -1

Activities I Care About: Not yet.  Business change management software, real estate database software, adult internet dating and porn sites — unfulfilling, all.  Perhaps I just haven’t worked for the right company yet.  +0

Project Ownership: Varies from company to company.  I’ve found that it’s easier to come by in a small company than in a large, which contributes to my preference for working for small companies.  +0

Community: This is where traditional employment shines.  Everyone who’s hired is brought on to be part of the team, and everywhere I’ve worked, there have been good people, even in amongst the bad.  There are always people to talk to, work with, and learn from, and that has been a significant factor in employee retention at more than one place I’ve worked.  +1

Adequate Compensation: Although I have been underpaid for my skills for most of my career, I have almost always made enough to maintain a comfortable lifestyle, and usually enough to squirrel away a significant percentage as savings as well.  +1

How I Kept Myself Busy: Doing what I was told, when I was told, for as long as I was told.  Trying to make positive change in an organization which was invariably too rigid and inflexible to accept it.  Waiting out the clock because I was obligated to be there for a fixed amount of time every day no matter what.

Total Score: 1


Unemployment was an unmitigated disaster for me.  I think I was already beginning to suffer from depression before I became unemployed in 2001, and being unemployed contributed tremendously.

Self-determination: Up the wazoo.  TOO MUCH self-determination, in fact.  Able to do anything I wanted any time I wanted, I did nothing all the time.  Directionlessness.  -1

Activities I Care About: I wasn’t doing things I cared about so much as doing things to try to fill the time.  -1

Project Ownership: I didn’t recognize that I had a project, so although I certainly had a stake in and responsibility for the outcome, that outcome was inactivity and depression.  Directionlessness meant that there wasn’t anything for me to feel like I had a stake in or responsibility for.  -1

Community: I was pretty isolated during this time, too.  -1

Adequate Compensation: Take it from me, the pay SUCKS.  -1

How I Kept Myself Busy: Staring at a flashing light box (either computer or TV) all day long as an escape.  Sleeping a lot.  Being miserable.

Total score: -5


Self-employment felt little better than unemployment when I experienced it before, but I do believe that I was doing it wrong.  The directionlessness of unemployment and depression carried over into my freelance web design days, and I found myself unhappily doing the least I could to get by — or not even that.

Self-determination: Moderate.  You can pick and choose your clients, right?  Well, I had only one client, and worked for them doing whatever they wanted.  I was freer than at any regular job, but still bound by the client’s wishes (and hadn’t found any other clients to provide me with choices), so this worked out kind of neutral.  +0

Activities I Care About: I was building things on the web, and that was good.  I was able to expand my mind and improve my skills, which is important to me.  But ultimately the business of selling shoes on the web is not one that I am passionate about, so the projects themselves weren’t inspiring.  Another neutral, I think.  +0

Project Ownership: I had a LOT of latitude in what I could do, subject to approval by the business owner and his management staff.  I had a great deal of influence over their web site and their internet marketing activities, and took the web site from doing $500/month in business to about six figures a month in my time there.  It’s just a pity that the increasing business had no effect on my bottom line.  Still, I’ll call this a positive.  +1

Community: Very small, since it was a small business I was working for, and none of them were particularly high tech.  I was mostly on my own as the internet guy.  Again, though, I think I was doing it wrong.  More clients, more networking, etc., could have helped with this.  Another neutral.  +0

Adequate Compensation: It would have been, had I worked the hours I’d planned to, or negotiated better.  Yet another neutral.  +0

How I Kept Myself Busy: Mostly the same as during unemployment, but with an additional 5-20 hours a week of web design.

Total score: +1


Self-unemployment has been FANTASTIC for my mental health and my mood.  I’m so glad I quit my job in January.  It’s been like a mini-retirement (allusion to The 4-Hour Workweek intended).

Self-determination: Extreme.  I can do whatever I want, whenever I want, and I am usually taking full advantage of that to work on my projects.  +1

Activities I Care About: Speaking of my projects, I have time to read, write, code, do web design, blog, study game design, play video games for fun and research (instead of escape), etc.  Things I haven’t had time and/or energy for in year.  +1

Project Ownership: Yes.  No one else is working on my projects, so the stake and responsibility are all mine.  +1

Community: This has come to my attention as something that is currently lacking in my life.  I don’t have enough community, and need to reach out and make some connections with people and groups whose goals and interests are in line with mine.  0 for now, but I believe I can improve this to +1 soon.

Adequate Compensation: This is the one true drawback to self-unemployment.  I’m burning through my savings — and really, if I were receiving adequate compensation, it would be self-employment (doing it right), not self-unemployment.  -1

How I Kept Myself Busy: Like I said in the Activities I Care About section, reading, writing, coding,  web designing, blogging, studying game design, and playing video games.  I’m very happy with how I am keeping myself busy lately, though it defies labeling.

Total score: +2


Self-unemployment is the most fulfilling lifestyle I’ve experienced so far, and I am loathe to leave it behind, but my dwindling savings tell me I must start thinking about it.  I would like to transition into self-employment in a manner that results in a score of +5.  Pretty much doing what I’m doing now but with more project-related social interaction and selling it to people (or otherwise being compensated, e.g. through advertising).  Failing that, I think a job at a small company (perhaps an independent game company, blog network, or web design firm) would be a good fit.  Part-time or temporary work would be good if the money was good enough to keep me in food and clothing.  But really, I’d just like to keep on doing what I’m doing.

What about you?  What keeps you busy?  And what do you want from the activities that keep you busy?

Restaurant Review: Lee’s Sandwiches

June 16th, 2009 by David Safar

Lee’s Sandwiches is a Vietnamese sandwich restaurant locatef on the El Camino Real in Sunnyvale just east of Mary Avenue.  I decided to drop in for lunch today to check it out, as I’ve often been curious about it.  I was in the mood for a deli-style ham and cheese sandwich, so I went in to see what they’ve got.

The restaurant has a few small round tables as well as a bar-like counter along the window overlooking the parking lot and the street.  It has a tile floor, and although it’s small and fairly utilitarian, it has a comfortable feel to it.  They have a large, colorful menu on the wall behind the counter, with each sandwich illustrated on a large square panel.  They have a number of Vietnamese sandwiches as well as a good selection of what their web site refers to as “Euro Sandwiches”.  Chips are located on shelves under the counter, the top of which is covered with various food items on styrofoam trays, mostly the sort of meat-and-rice or meat-and-noodles dishes you’d expect to find at a roach coach.  To the left is a drink refrigerator which mostly contains Asian beverages (both packaged and fresh) which I found unidentifiable.  Fortunately they have a small selection of American drinks for ignorant Americans like me, such as Arizona iced tea, Snapple, and Vitamin Water.

I ordered a ham and cheese sandwich on a baguette (#21) and picked up an Arizona iced tea and a bag of “Dirty” potato chips to go with it.  I paid and then found a seat at a small round table with two wooden chairs, and set up my laptop to do some reading and chatting while I waited for my sandwich.  A few minutes later it arrived in a cardboard tray with a hot pepper and a couple of pickle wedges.  The pickles looked very seedy, so I skipped them in deference to my dietary restrictions.  The sandwich was a pretty basic ham and cheddar with lettuce and tomato on it (I lucked out on one half and got a slice of tomato with no seeds, so I was able to eat it, but the other slice was very seedy, so I removed it).  There were two packets of mustard with it, but I didn’t feel it needed any.  The sandwich was surprisingly moist and flavorful without it.

I enjoyed my meal, but found that when it was gone, I was still hungry.  So I returned to the counter and selected a tray of chow mein and a bottle of Snapple.  The chow mein noodles were thin and there were a lot of bean sprouts and green onions in it, so that it was only about half noodles.  It was well-prepared and tasted good, but it wasn’t to my taste (I prefer thicker noodles and fewer vegetables).

Overall, Lee’s is a decent place to get a sandwich, especially if (like me) you like to have a few different places to go so that you don’t always have sandwiches made the same way.  I get tired of always having Togo’s or always having Subway, so it’s nice that Lee’s is nearby so that I have another choice of sandwich style.  I give it four stars out of five.  Check it out if you’re in the area and looking for a sandwich, but don’t feel like going to the Subway across the street.

The Crucible: Developing Expertise

June 15th, 2009 by David Safar

Gladwell’s 10,000 Hours

I recently read a blog post on The Writer’s Coin which discussed some concepts from Malcolm Gladwell’s book Outliers. I haven’t read the book (yet) myself, but it sounds fascinating, and the post got me thinking about expertise.

Gladwell claims that to be a world-class expert in any given subject requires 10,000 hours of practice.


That’s a lot of time.

Let’s say you work full time on a skill you want to be a world-class expert on. 40 hours a week, 50 weeks a year (with two weeks of vacation) comes out to 2000 hours a year. So you would need to work full-time for five years. And we’re talking undivided attention here — time spent taking a break or working while distracted doesn’t count. 10,000 hours of real dedication, moving forward, challenging yourself, working at your edge and pushing beyond it constantly.

I say again: DAMN!

Even with enough free time, how do you find the motivation to do something like that?

Expertise and Me

Not everyone wants to be a world-class expert, and perhaps those who do usually have the dedication to work single-mindedly on their craft like this. I enjoy being good at things, but I’m less fond of the hard work required to get there. I guess that means I’m unlikely to ever be a world-class expert at anything, unless I discover something that I enjoy so much that it doesn’t feel like work to do it full-time.

I love the feeling of being the expert (a situation I have encountered a couple of times in my professional career), but the idea that true expertise requires that much time and effort is daunting at best. And yet the end result is so alluring that it might be worth it. Then it becomes a question of figuring out what to become an expert on, and that’s where things get really tricky. There are just so many choices!

I’ve been thinking lately about returning to the workforce (though likely in a limited capacity). For the first time in my career, I am thinking hard about what I want from an employer in terms of working conditions, company culture, and values. Expertise is one of the thoughts that keeps crossing my mind as I explore these ideas. “The expert” is my favorite role I’ve ever held in the workplace. Working in software quality assurance, I was often required to become an expert on how the product was supposed to work (and how it actually did work). This put me in a position to serve as a resource for other departments (technical writers, customer service folks, trainers, and even sometimes programmers). Being valued for my knowledge is extremely rewarding to me, whereas being valued for doing real work is almost annoying. I guess I like to be appreciated for my strengths rather than my weaknesses. 😉

I’m keeping this in mind as I think about employment — I will be much happier with a job if it offers me the opportunity to be the expert.

Cultivating Expertise in the Workplace

Now that I’ve worked a few different places, I have some perspective on what factors allow for the development of expertise. This is slanted toward a job in software QA, but I’m sure many of these factors are of general applicability.

  • Small team size. The fewer ways the work is divided, the more each person has to know. Large teams dilute expertise. For large and complex projects, it can be valuable to have each person develop expertise on one or more areas of the project, however.
  • Broad project scope. If an individual’s assignments are in too narrow an area of the product, it can be difficult for them to develop a good understanding of the big picture. Knowledge should be deep enough to qualify as expertise, but also broad enough to be useful often.
  • Quick turn-around. Repetition helps a lot with retaining what you’ve learned. If you learn something once and never need it again, odds are the details will fade. On the other hand, if you use that information again every day of the week, it will soon become second nature.
  • Good availability of information. Having an oracle of your own to turn to is invaluable in developing expertise, whether that oracle be another expert, printed documentation, a well-maintained wiki, or even just the application source code.
  • Customer input. Three things are certain in life: death, taxes, and the fact that the customer WILL abuse your product in ways that no one ever could have anticipated. The customer is both your best friend and your worst enemy in terms of uncovering information about your product. They will help you discover new things, but you may well wish they hadn’t!
  • Long-term attachment to one product/project. Switching from one project to another means that you’re no longer using and reinforcing the knowledge that’s unique to the first one, and you’re starting from scratch learning something new. That’s not an efficient way to leverage (or even maintain) your expertise. Working on one project for a long period of time allows you to maintain, develop, and deepen your expertise and put it to good use on a regular basis.

These elements will help you get closer to that ideal of 10,000 hours.

The blog post I mentioned above included this quote about the Beatles from Outliers:

All told, they performed for 270 nights in just over a year and a half. By the time they had their first burst of success in 1964, in fact, they had performed live an estimated twelve hundred times. Do you know how extraordinary that is? Most bands today don’t perform twelve hundred times in their entire careers. The Hamburg crucible is one of the things that set the Beatles apart.

Do your best to find or create a crucible for yourself, and expertise will follow.

Six Elements of a Good CRPG

April 13th, 2009 by David Safar

Since I plan to create a computer role-playing game, I’ve been doing a little thinking lately about what makes them good. Although I don’t expect my first game to be a Final Fantasy killer, I do want to make the best game I can, and the first step is to define what that means and how to do it.

Here are six elements I think make for a good computer role playing game, in order of importance:

  • Characters. Rich, believable characters with realistic desires and goals and well-written dialogue help draw the player in and give them a reason to care what happens. If you want to make the player feel something with your game, characters are the way to do it.
  • Plot. The events of the game should be significant, even epic, so that the player feels like their actions matter. There should be high stakes, rich rewards, and dire consequences. There should also be a few plot twists to keep the story from being too predictable, but don’t go overboard — a plot that’s too convoluted is worse than one that’s too straight-forward.
  • Combat. A good CRPG features a fun, interactive combat system with the occasional surprise. These days just selecting commands from a menu isn’t enough, there should be some other element of player interaction. Random encounters should be common enough to build the party’s power, but not too common — it’s no fun fighting random battle after random battle when all you want to do is get to the good stuff (the boss fight, plot advancement, treasure at the end of the dungeon, etc.)
  • Graphics. The graphics should be colorful and distinctive, in a style suitable to the flavor of the game. Personally, I don’t care for the manga-style art used in many CRPGs, but that’s a matter of taste. For a high-fantasy game, the graphics should be clear and bright, while a dark post-apocalyptic RPG would probably be better served by a grittier style.
  • Music. Like the art style, the music needs to be well-suited to the tone of the game, the nature of the storyline, and the current environment the characters are in. Exploring a dank, monster-infested dungeon may call for creepy music, while an unexpected death scene might need a somber dirge, and a grand palace should have something suitably dramatic. One important element is that the music not be too repetitive, as it will be playing over and over again anyway and can get boring or annoying quickly if you’re not careful.
  • Sound Effects. Sound effects are not often done well, perhaps because there are so many other elements that are more important, but they’re worth paying attention to. An inappropriate sound effect or one which is re-used for many different things can be jarring, so it’s a good idea to make them different and as recognizable as possible.

These are the things that came to mind when I sat down to think about what to focus on in working on my game. By no means do I consider this list complete, or even necessarily correct. Think I missed something? Disagree with what’s on the list, or what order it’s in? Leave a comment and let me know!

Video Game Review: Final Fantasy II

April 9th, 2009 by David Safar

As I mentioned recently in The Greatest Video Game That Never Was, I have long been a fan of the Final Fantasy series of video games. Of course, my dirty little secret about that is that I’ve played fewer than half of them. I played I, IV, and VI as a kid, and VII in my teenage years, but as they’re up to XIII these days, I’d missed far more than I’d played. So last year I set out to rectify that, playing them close to in order and all the way through the series, generally on the oldest versions I could get my hands on. To that end, I’ve recently finished playing a fan translation of the Famicom version of Final Fantasy II.

Unlike other early FF games, FFII has a usage-based advancement system. There are no classes or levels, but your character’s attributes (stats, skills, and even spells) are individually trained through practice. Those you use regularly will steadily advance, while those you neglect will remain untrained. You’ll even occasionally see a stat drop if your actions haven’t been conducive to their improvement. This system has pros and cons — it makes more sense than a class-and-level system because it allows characters to learn new abilities gradually over time in proportion to how much they practice, rather than giving them periodic quantum leaps in all their abilities simultaneously (and totally excluding them from abilities that don’t happen to match their class). On the other hand, I don’t like the fact that having your characters beat on each other in the midst of a supposedly-life-and-death battle with enemies is an effective method of advancement. Improving through sparring with your friends makes sense, but permitting it as part of the combat system (and thereby using lethal damage in your sparring match) is inappropriate. Also, a powerful, skilled spell-caster who learns a new spell late in the game is exactly as bad at it as an unpracticed noob who picks it up at the beginning of the game. Surely the ability to apply related knowledge from casting similar spells should count for SOMETHING, allowing the experienced caster to use it more effectively than the beginner, though not as well as their practiced spells. Neither extreme makes sense here, there should be a happy medium.

Advancement system aside, the story of FFII follows four youths who get caught up in a battle for the fate of the world. One of them disappears early on, and the other three proceed onward, frequently joined by one of various allies who fills the fourth slot in the party until they have reason to part ways. The youths join the rebel alliance, a group opposing the draconian rule of the power-hungry Emperor (sound familiar?). Their quest leads them all over the world as they seek to undermine the Emperor’s plans of world domination and find the artifacts and magic required to overthrow him and restore peace to the world. Not the most original plot, but it suits the game and is well-implemented.

One disappointment for me was the music — having just finished FFI when I began FFII, I noticed a distinctive drop in the quality and complexity of the music in FFII. I’m a big fan of Nobuo Uematsu’s work on the FF series, but I really think he phoned in the soundtrack for this game. On the other hand, he may have had stricter technical limitations placed upon him if the game engine was larger than in the previous game — either way, the music took a step back from FFI.

Gameplay is mostly fun, but the advancement system can lead to some difficulties — FFII seems harder than FFI. I often found that I wasn’t powerful enough to take on boss monsters, and had to grind for skills before I could proceed. There’s a new system for hearing about things and getting information out of people by mentioning keywords that they might know something about, but it seems pretty crude and awkward — of course, given that it was a pretty new idea back then, that makes sense. The world layout is kind of odd, with most of the world appearing as a northwest-to-southeast strip of land that sort of wraps around the world like the thread of a screw, so that if you head south or head east, you’ll wind up in the same place. Interesting, but I prefer the more traditional worldmaps of other games in the series.

Overall, I give FFII two and a half stars out of five. I liked FFI better in many ways. Where FFII shines is in concept, not in execution. I probably won’t re-play the Famicom version, but I may check out the Dawn of Souls remake for the Nintendo DS. Play this version only if you’re a hard-core FF fan and a purist looking to recreate the retro-gaming experience like I am.

« Previous Entries Next Entries »