How I Got Brave Enough to Speak at Conferences

In March of 2006, I attended my first tech conference. And while I came back invigorated, inspired and bubbling over with new ideas, I also realized that what I really wanted from a tech conference was to be on stage. Number one, there were not nearly enough women on stage. Or at the conference, for that matter. And number two, I was smart, dedicated, passionate, and I felt like I had something to contribute to the conversation.

But I didn’t even try to speak at conferences until the very end of 2011. Why? Continue reading

How to Make a Local Copy of a WordPress Site in 5 Minutes or Less Without Dealing with Code, Terminal, or PHPMyAdmin

WordPress 3.8 was released today. Maybe you’d love to give it a try, but you’re not sure how it might work on your own site. Will it break any features on your site? Will your favorite plugin turn out to be incompatible? Chances are slim that you’ll run into any problems, but of course, you want to be absolutely sure before you upgrade.

How can you be sure? By making a local copy of your site to use for testing. By ‘local copy’, I mean a copy of your site that lives on your own computer instead of on a server. You’ll be the only one who can view it. Local copies are also great for adding new features, coding child themes, making adjustments to an existing theme and more. Think about all the things you can do with a WordPress site that you don’t necessarily want your site visitors to see in an unfinished or half-baked version. Continue reading

How to use Google Web Fonts in your WordPress theme

Of course there are plugins for using Google Web Fonts on your WordPress site, but if you’re developing a theme, chances are you’d like your typography choices to be tied to your theme, not dependent on a plugin. Here’s how to use Google Web Fonts in your theme.

First, head over to Google’s Web Fonts site and pick out the fonts you’d like to use. Use the tools on the left side to narrow down the options because there are a lot. For this blog, I knew I wanted a chunky serif font for the headers and blog title, so I picked serif from the Categories dropdown and then moved the thickness slider over to the right.

Searching for a thick serif

That handily narrowed down 617 choices to just 5. You’ve got quite a few options for previewing the fonts – you can view a word, a sentence, a paragraph, or a poster. You can choose from some pre-selected preview text or you can type in your own, and you can also select a font size.

Preview choices for Google Web Fonts

Once you’ve found a font you’d like to use, just click the Add to Collection button.

Click the Add to Collection button to choose a font

Yes, you could add dozens of fonts to your collection. But you won’t, right? Because you know that just because you can, doesn’t mean you should. Try to limit yourself to a maximum of three. Two is better. For performance reasons, I still like to use an old-fashioned web-safe font for body text and save the web fonts for headers and other elements that need special emphasis or attention. Be careful about the legibility of your fonts – there’s no use using some snazzy font if it means your site visitors can’t read what you’re writing.

As you add fonts to your collection, you’ll see them listed in the blue section at the bottom. Once you’ve got the fonts in your collection you’d like to use, just click the Use button.

Use your selected collection of fonts

And you’ll be whisked off to a screen with 4-step instructions on how to use the fonts. If you’d like to download your choices to use in a graphics editing program to produce a comp or maybe a fancy screenshot.png for your theme, you can do that by clicking the Download Fonts button at the top right. If you just want to use your font in your theme, then you don’t have to download your collection.

In step one, you can select which weights or styles you want include in your collection and in step two, you can select which character sets you want to include. You can also see the impact your font collection will have on your page speed.

Now, in step three is where things get tricky. Step three gives us code to add to our websites – three different options. Go ahead and select the Standard option, but we’re going to deviate from Google’s instructions a bit at this point to follow WordPress best practices for adding styles to our WordPress theme. In the code for the standard option, just copy the URL that’s listed as the href attribute for the <link> tag.

Copy the URL in the href attribute

Then, open up your theme’s functions.php file. We’ll create a function for loading the CSS that we’ll be using with our theme:

See that ggl prefix on my function? That’s a WordPress best practice. Always prefix your WordPress function names to reduce the chances that they’ll collide with some other function in a theme, child theme, or plugin.

Now, inside that function, we want to register our stylesheet from Google:

We’ll use the wp_register_style WordPress helper function. The first parameter is a handle, or shorthand, that we can use to refer to this stylesheet later on in our code. The second parameter is the path to the file. We’re using the URL we got from Step 3 in Google’s instructions.

Next up, we’ll enqueue our main stylesheet for our theme. You didn’t put a <link> tag in the <head> section of your header.php file, did you? If you did, go and remove it. Then enqueue your stylesheet in your functions.php file:

Here we’re using the wp_enqueue_style WordPress helper function. It’s got the same parameters as wp_register_style. First we assign our stylesheet a handle. Second, we get the path to our stylesheet. Handily, WordPress provides us with a function, get_stylesheet_uri(), that we can use to get the path to our theme’s style.css file. Third, we list dependencies. Our style.css file is dependent on the Google Web Fonts stylesheet, so we pass in the handle we assigned to that stylesheet when we registered it.

Finally, we’re going to use the wp_enqueue_scripts action hook to call our function:

Now we’re all done with functions.php and there’s only one thing left to do to use our Google Web Font. Step four of Google’s instructions for using the web font will show you what values you’ll pass to the font-family property to use your font. I want to set all of my headers in Holtwood One SC:

And I want to set my site description in Rouge Script:

That’s all there is to adding Google Web Fonts to your WordPress theme. Remember, with great power comes great responsibility. Use them responsibly!

That time I got fired

Yes, it happened to me. I was fired from a job. It happened about 6 years ago.

I was looking for a new job, but the job market wasn’t great at the time. The web industry was still recovering from the dot com crash. I snagged a couple of interviews that went nowhere. Then I got an interview with a little consulting company who was building a web application to help them collaborate with their clients.

I was to interview with the CEO and the lead, and until that point only, developer on the project. The CEO was late. I sat down with the lead developer and talked to him for less than 10 minutes when he concluded the interview and started to show me out of the office. My heart sunk – I didn’t know what had gone wrong.

The CEO showed up just then, exclaiming surprise that I was leaving the interview so early. He took me back into the office and asked if the developer had shown me the application. He hadn’t – there hadn’t been time to talk about much of anything.

So the CEO sat me back down and proceeded to demo the application while the lead developer sat hunched with his arms crossed. Clearly this guy didn’t want to hire me. But the CEO was friendly and enthusiastic. It was easy to see that the application had been built by a developer with little thought to the user experience. The CEO’s main beef was that there were several points where making a selection or checking a box resulted in a sudden and complete page refresh. He told me they were considering using Flash to get around this problem, but weren’t keen on the idea, and asked me if I had any other suggestions.

To me, the solution seemed so painfully obvious that I hesitantly said, “Well, have you thought of using Ajax?”

The CEO had obviously never heard the term before – he asked me to explain, and I did. He jumped out of his chair and started doing what could only be described as a celebration dance. “Ajax! Yes! That’s what we need! Why haven’t we tried it yet? Did you know about this?” he asked the lead developer.

The lead developer shot me a murderous look and spat out, “That’s new, isn’t it?”

“Well, no, not really. It’s been around for ages,” I said. “Just not used very much.”

I sent them off to a couple of websites that had Ajax demos set up and the CEO got more and more excited while the lead developer got more and more dour.

Despite the lead developer’s attitude problem, I left the interview on a cloud, certain that a job offer would be coming my way. And sure enough, one arrived in my inbox the very next morning.

When I first arrived at my new job, I had a series of meetings with the CEO. I was going to be working closely with him to redesign for the application. He asked me to start creating HTML mockups. At the end of each workday, I was to upload these to a development server where he could review them early the next morning over coffee.

No problem, right? All I needed was the server address and credentials. I was told to get those from the lead developer. But when I asked him, he refused to tell me. He told me to email  him a zip file each day, and he would take care of putting them on the server. The lead developer worked at a separate office, so we didn’t get much chance to talk to him directly.

You can probably guess what happened next. Day after day of me getting phone calls from the CEO at 6am wanting to know why I wasn’t doing what he had asked. I was sending the zip files to the lead developer, but he wasn’t putting them on the server. The CEO couldn’t understand what the issue was, and the lead developer refused to give me access. Two weeks into the job I was on the verge of getting fired.

I finally reached out to one of our project managers to explain the situation. He interceded on my behalf and called the lead developer, who outright lied and said the reason he didn’t give me access to the server was because I had told him I didn’t know how to upload files.

I was outraged. I’d been building websites for 7 or 8 years at that point – how on earth would I have been doing that without knowing how to put files on a server? The project manager kept me calm, got me access, and explained it away as a misunderstanding.

After that initial drama, things calmed down for a bit. Four more developers were hired, all within a couple of weeks of me. I unfortunately need to mention that these were three men and one woman because that becomes important.

Things shifted and the lead developer had to come and work at the same office as the rest of us and it became obvious that this man simply did not want to work with women. As time went on, he got ruder and more blatant in expressing his distaste. He developed the shocking habit of stepping into the small office I shared with the other woman developer and telling us that his wife was at home, preparing his dinner, as she should be.

In a meeting one afternoon, the project managers requested a new feature for the application – the ability to sort search results on a certain field. “Not possible,” the lead developer said.  This turned out to not be a new request. The lead developer had been telling them it was impossible from the beginning.

My fellow female developer spoke up. “Actually,” she said, “I think you could do it.”

“No, you can’t. It’s absolutely impossible,” the lead developer said.

“No, it is possible, ” she said. “You could just…” and she proceeded to explain a potential solution to the problem.

The CEO intervened. “Let’s move on to the next request. If this guy says it isn’t possible, then it isn’t possible.”

Not one to be deterred, that week the female developer branched the code and went to work. Within a couple hours, she had the requested feature working. At the next meeting with the project managers, she hooked her laptop up to the projector and showed off her work. The project managers were ecstatic.

The lead developer insisted that what he was seeing was impossible. That the requested feature just couldn’t be built. Never mind the fact that there it was, working, in front of everyone’s eyes.

“Well,” said the CEO to the female developer. “I’d appreciate it if you didn’t work on that any more. It can’t be done and it’s a waste of time.”


How do you overcome prejudice like that?

Things got worse and worse. The more bad behavior the lead developer got away with, the worse he behaved. If either I or the other female developer checked in code with even a tiny bug in it, we’d be subjected to heated and nasty attacks, both verbally and via email. Suggestions we made were squashed without consideration and we were often subjected to ridicule.

Finally, impatient that he still had to share office space with us, the lead developer stepped up his efforts and started destroying the production site and then blaming me or the other female developer. He’d drop entire tables from the database. Or he’d open up one of my CSS files and randomly delete 100 lines or so from the middle of it. Then he’d check it back into source control and push it to production. The CEO would get phone calls from clients and he in turn would then call the lead developer. He would then simply revert his changes, and calmly tell the CEO that it was a problem with either my work or the work of the other female developer.

You might be thinking, “Wasn’t that all documented?” Yes, of course it was. The check-ins and reverts were right there in source control, plain as day, for anyone who cared to look. The problem was, nobody cared to look. Even when the female developer and I tried to show the CEO and Vice President what was going on, they refused to look at the commit history and simply told us, “Either you find a way to work with him, or we’ll find someone who can.”

As though we were the ones to blame.

Finally, I got a call from the office manager one afternoon, telling me they were letting me go. The other female developer got the same call a couple days later. It was crushing. And absolutely unfair. And ultimately, one of the best things that ever happened to me. I got a new job almost immediately, paying me about 30% more. The other female developer did, too. We talked on the phone a month later and wondered why we had stuck around so long, why we had put up with so much.

We were both stubborn. We both refused to give up in the face of injustice and discrimination. I can’t say that we won in the end and I can’t say we handled the situation the best possible way. But I don’t know what I might have done differently. Taking some kind of legal action seems unnecessarily drastic. Neither of us had any troubles getting new jobs or any other jobs since. In fact, about a month later, the project manager – the very one who helped me sort out the development server problem when I first started – called me and asked me to come back to work for them. He said he was calling on behalf of the CEO. But I already had my new position at that time, and with no desire to return to such an unfriendly environment, I turned him down.

Knowing as I do now that good front end developers are hard to find, and hard to keep, I’d like to think that karma took care of this for me, that they weren’t ever able to find someone to replace me. I don’t know what actually happened, so I comfort myself by thinking that ignorance robbed them of two of the smartest and best employees they ever could have hoped for.

What is the right way to handle blatant discrimination like that? We stood up for ourselves. We stuck around and weathered the storm. We spoke up and let people know what was happening. But nobody did anything. It was just allowed to continue. I think we’re all under the impression that all it takes is calling attention to what’s going on. But I know first hand, that doesn’t always work. What do you do when speaking up doesn’t fix the problem?

I Have the Smartest Clients in the World

One thing I’ve heard over and over again throughout most of my life is, “You should be a teacher.”

I’d usually cringe when I heard that. When I think of a teacher, I think of being overworked and underpaid. Of standing in front of a classroom of children who have no interest in what you’re trying to teach them and who only think of you as a nuisance when you have their very best interests at heart. No thank you.

Not that I don’t have the utmost respect and admiration for teachers. They are some of the most amazing human beings on the face of the earth and they deserve our undying support and devotion. And a tremendous pay raise.

I have some traits that would make for a good teacher. I love learning and reading. I like helping people. I’m patient. I have an understanding of different learning styles and am usually pretty good at trying different ways of explaining something until it clicks.

What I’ve learned is that if you’re meant to do something, it’s going to find you. What I’ve also learned is that you can still do your something on your own terms.

Over the years, teaching and I have had a few meetings. In high school, I volunteered to teach an arts and crafts class for kids. I signed up with the learning center at my university and tutored other students in subjects they were having trouble with. I volunteered with a literacy organization, originally wanting to teach an adult to read, but they had a greater need for teaching English to immigrants, so I got free ESL training and taught English to a Kazakhstani family. I worked briefly at a branch of Michael’s craft stores as the Event Coordinator, which involved leading demonstrations, teaching the Kids’ Club weekly craft project, teaching a knitting class, and teaching crafts to kids at birthday parties.

Lately, I’ve been interested in focusing my passion for web development and design into teaching. In my freelance work over the past six years, I’ve mainly been building web sites for small businesses. Over and over again, I’ve met small business owners who were being taken advantage of by people or businesses claiming to be taking care of their web sites. I had one client have her site black-listed from Google after she unknowingly hired a black hat SEO company to boost her rankings. I had one client whose web host had told her that he owned her files and that it was illegal for her to move her web site to a new hosting company. One client was paying $150/month in hosting for a small 5-page brochureware site.

These kinds of stories break my heart. I know first hand how much small business owners sacrifice for their businesses. A web site has become a vital tool in promoting a small business and an online presence is increasingly important for winning trust and new clients.

These business owners are trying to do what’s best for their business, but they’re missing most of the pieces of the puzzle. They’re not sure who to hire, exactly what that person should be doing, or how much they should be paying them. They have no tools for evaluating the skills and expertise of a web developer. They get advice from practically everyone they meet, telling them they should be using Twitter, their site should be search engine optimized, they should get their site on Digg, all kinds of things – and they have no way to determine if the advice they’re getting is good or bad, useful or harmful.

So I’m stepping in. I took over the Los Angeles WordPress Meetup group and have been offering workshops and facilitating discussions between experts and beginners. I’m also working with some partners to found a cooperative of creative professionals called Purple Pen Productions, and part of our mission is education. To that end, we’re sponsoring workshops, teaching small business owners and individuals the things they need to know to have a successful web presence. Our first workshop, Help! I Need a Website will be held on September 10, 2009 at Loyola Marymount University. RSVP to attend.

I’ve also submitted a panel proposal to SXSW. In case you haven’t heard of it, SXSW is one of the largest interactive conferences, where geeks from the world over come together to learn from one another. It happens in Austin, Texas each March, and the 2010 conference will mark my fourth year of attendance.

My proposed panel is titled “Smartest Clients in the World” and I plan to encourage lots of other people like me who are in the know to educate and empower small business owners so they, too, can make a wise investment in a web site and online presence that is a perfect fit for their business at a fair price. Won’t you take a few minutes to vote for my panel so my chances of being picked are greater? You must create an account – without it your vote won’t be counted – but it only takes a moment and you won’t be spammed.

Thank you for your support.Православни икониКартиниИдея за подаръкикониикониПравославни иконииконописikoniсвети георги

How not to get a job…or then ridiculousness ensued

A couple months ago, I was swamped with freelance work and looking for someone to help me out by doing some work – mostly HTML and CSS. I posted an ad on Craig’s List being pretty specific about what I was looking for. I got a number of responses, most of them with truly awful web portfolios full of web sites built with table-based layouts when I had specifically asked for someone proficient in table-less layouts. Anyway, there were two or three promising prospects in the bunch, so I set about scheduling interviews with them.

One of these promising applicants we’ll call Bacon, to protect his identity I’ve also removed any identifying information, such as URLs of web sites he sent me. You’ll see why.

The first email from Bacon seemed normal enough:

To whom it may concern,

Attached is my resume that also lists my most prominent examples of launched sites, and most applicable positions, you can also view my online portfolio at [site url removed]. I have extensive experience in the internet industry and aside from heading up that department at a major corporation, I also ran my own company for good number of years servicing a variety of businesses with quality development. The lessons I learned from that time have taught me more then in all my years in University, however my degree has been a beneficial enterprise as well, teaching me the value in solid composition and communication skills, as well as critical thinking and problem solving. I have completed Bachelors at [college name removed] and am seeking to build a client list or find a more permanent home at a firm with the right conditions and atmosphere.

I look forward to the possibility of meeting with your company and discussing the details, and I sincerely appreciate your consideration.


Nothing wrong with that. I looked through his portfolio, and though some of the code was a little rough, there was promise. I emailed him back:

Hello Bacon,

Thank you for contacting me in reference to my job opening posted on Craig’s List.

I just wanted to re-iterate that this is a rather small job – most months will be less than 10 hours total, and the work will mostly be maintenance and updates. Several of the sites I maintain are older sites that have legacy code. Sometimes the client will be willing to pay us to update the site or page, but more often not, and we’ll have to work with what’s there. The pay I’m offering is $25/hour, and telecommuting is fine, though I’d like to do an in-person interview. I should have some new projects to start, but as I’m sure you’re aware, that’s somewhat unpredictable.

Please email me and let me know if you’re still interested in this position.

Thank you,

Some people seemed so earnest, I felt as though I was disappointing them by offering up such a small amount of work. So I just wanted to be sure that was going to be okay and that Bacon felt it was still worth the effort of going through my interview process when I was being rather choosy. He responded:


Sounds great, I’m interested, lets set up an appointment. Is early this next week good for you?

– Bacon

So far, so good. But by this point, I was getting rather overwhelmed with responses, and getting kind of bogged down in reviewing code in the applicant’s portfolios. This on top of the fact that I still had a full time job and all of this work that was already so overwhelming I was looking to hire someone to help me out. So I said:

Hello Bacon,

Please give me a couple of days – I’ll be in touch to set up an interview.


Hoping for a little break and a chance to get caught up. Well, Bacon had apparently read a few too many books on negotiating. So he responded with:


I do have other offers, but I’ll keep an opening to hear from you. Hopefully early next week? Otherwise I may have to pass.

I saw right through this. I was looking for someone to do at the most 10 hours of work a month. But he somehow had other offers that were going to make that impossible? I was already doing my best to sort through all the applicants, so he would have to wait his turn. I wasn’t keeping people waiting on purpose or unnecessarily. It was just tough to keep up with it all.

It took me two days to get caught up, then I emailed him again:

Hi Bacon,

I’d still like to schedule a telephone interview. I’d like to spend some time during the interview talking about your code and some of the choices you made. Please choose one web site of yours that you’ve worked on recently so that it’s fresh in your mind, and send me the URL for that site.

What time of day and day of the week is best for you for the interview?

I look forward to hearing from you.


It’s never a good sign when someone ignores a specific request when trying to get a job, as Bacon did when he responded with this:


I can be pretty flexible for the time, what day were you thinking? Let me know.


Wow. I wrote a whole paragraph about wanting to discuss a specific project and why. And he totally ignored me. I tried again.

Would Tuesday evening work for you?

Please don’t forget to send me a URL for code discussion.

Thank you,

Ok, surely he’ll send something along now.

Tuesday is fine.

In regards to code discussion I’m not clear on what your requesting, precisely. I would recommend having a look at my portfolio if you have not already: [url removed].

I’ve done a number of different sites and, in terms of coding them myself, I suppose below would be the best example:

a database driven CMS / php and mysql – [url removed]

flash – [url of his portfolio (again) removed]

I have many more portfolio pieces on my site, what types of coding skills are you most in need of? Will this be a strictly programming job or entail design work also?

If so, my favorite piece I’ve done the complete design for is this: [url removed]

To me, it seemed to be that the URL of a most recent project was a pretty simple request. Also, hadn’t my previous emails and the Craig’s List job posting been clear enough about what type of work the job entailed? None of the other applicants had hesitated or had any problems sending me a URL for a site they could discuss during their interviews. I tried to clarify.

Hi Bacon,

I have already looked through your portfolio. I was planning on going through your CSS, JavaScript, and HTML/xHTML choices in some detail, and I know it can be difficult to remember why certain choices were made months after the fact, so I wanted to be sure I chose a project that was recent and fresh in your mind.

The main part of this job would be front-end development, mainly working with CSS, JavaScript, and HTML/xHTML, but also from time to time working with Flash and PHP, and if you were able to do design work as well, that would be a big plus.

If you could please, send me one URL for our discussion so I can prepare my comments before our interview.


I was really starting to wonder, was I being unclear? It seemed like such a simple request.


the best example would be [url removed – same site mentioned earlier as a database-driven php/mysql site]

I should be frank, however, I am not terribly fluent in PHP. I do learn quickly, and working with actionscript has taught me a lot about languages in general, making PHP easier to grasp. But if this position requires me to be a proficient PHP programmer right from the start, I’m probably not the ideal candidate. Let me know.

Thank you much,

This was just getting to be frustrating. If it was this much work to get a simple URL to discuss, what was it going to be like actually trying to work with this guy? How many times would I have to send clarifications about work to be done? Still, I appreciated his candor in informing about the limitations of his skills.


That shouldn’t be a problem. Most of the work with PHP will actually be coding HTML and CSS around PHP that’s already been written and possibly making a few modifications to what’s there. I’m not expecting that you be able to code complex applications or anything. It’s not hard to pick up at all, so don’t worry about that.

I do appreciate your honesty though.


A short time later, Bacon must have signed into his Gmail account while I was signed in, and realized that I was also using Gmail. He took the opportunity to start a pointless live chat with me:

10:20 AM bacon : hello, i didn’t realize you were on gmail

me: hello.

10:21 AM bacon: well I look forward to soeaking[sic] with you more, I do have some specifics I wanted to find out regarding your company, type of work etc I’ll speak with you tuesday night, otherwise

me: i was planning to go over that during the interview

bacon: ok, excellent speak with you then

10:22 AM me: ok, thank you

How many times did I have to explain the type of work he’d be doing? I ignored that and took some time and went through the Web site he sent and started making some notes. I got about 5 minutes into it before I saw some comments that tipped me off that this was a Drupal site. Nothing wrong with that. Except some of these comments were referencing a specific named template for Drupal. I searched for it, and there it was, looking exactly like the site I was reviewing. The header was different and there were a few minor customizations to the template, but for the most part, Bacon had just slapped a pre-made template on a Drupal installation and then sent it off to me as his own original work. This would not do:


As I’m looking for someone with strong CSS and HTML skills, I’d like to see a site that better showcases your skills in these areas better than the site you sent me for review ( [url removed] ). The site in question is a slightly customized Drupal theme which, as far as I can tell, only involved changing a few colors and adding a custom Flash header. Incidentally, the left-column navigation is somewhat broken in IE6, and the ‘click to activate’ issue hasn’t been resolved with the Flash header in IE6.

Could you please send me the URL for a site that better showcases your CSS and HTML skills? Because I don’t have time to review another site before our scheduled interview tomorrow evening, I’d like to postpone that until I’ve had a chance to review a site that you coded yourself.


I think I made a mistake here. After his hesitation in sending me a specific URL to discuss and then sending me a barely customized Drupal theme, I should have just taken him out of the running for the job. All signs were pointing to someone with less-than-adequate skills and with a temperament that would not be easy to work with. Still, I always feel like I need to give someone the benefit of the doubt.


I haven’t made anything with CSS in awhile as I consider myself more of a flash developer now, but I would have to contest your analysis of the drupal site. It’s a lot more then slightly modified, particularly if you view the products listing page, please note the PDF symbol that shows up next to each product. I had to do custom PHP and CSS classes to achieve this functionality. The left nav works best in IE6 and is slightly bugged in Mozilla, so I’m not sure what your[sic] stating in regards to that. As for the click to activate, its[sic] just a simple line of code I hadn’t put in.

That said you welcome to view this site built from scratch, however I did not spend a lot of time programming it and the code is a bit sloppy:

[url removed – new site, not previously sent]

I also made this site:

[url removed – his portfolio site again, but this time an old version of it]

(please note that some of the links are broken or will take you to my present site, as this is just some pages I’ve left to ultimately be deleted to make way for the newer version on the way).

As for postponing the meeting, I understand your position if your concern is in regards to my ability to code from scratch, however I can assure you my skills are more then adequate having spent the last few months learning strictly advanced programming. After actionscript 3.0 (which is a class based, object oriented language) any of my next attempts at a CSS site will be much more organized and thorough.

If the meeting will be postponed, I hope we can still find an agreeable time this week. I’ve delicately set my schedule this week, however, and it would be best for me if we could proceed as planned. But if not, I’ll be as flexible as I can be.

Speak to you soon.

Wow. I don’t even know where to start here. First off, if you’re a Flash developer, why bother applying for a front-end developer position? Second of all, adding some little PDF icons next to links to PDFs is a minor modification. Any front-end developer worth their salt can pull that off in five minutes or less.

Third, I’ve never seen any front-end developer get so defensive when bugs with their sites were pointed out. It happens all the time. We help each other out. The typical response, is "Thanks, I hadn’t tested in that browser." or "I know, but the client and I have decided not to fully support that browser." And the fact that he tells me the site is in fact buggy in Firefox not IE6 just takes the cake.

Then as sites for me to review he sends me an old version of his portfolio site that he acknowledges has broken links and a sloppily coded site he assures me isn’t indicative of his usual work. What exactly am I supposed to think? And what would these clients think if I actually posted their URLs and they learned about his haphazard sloppy approach to web development that they paid for?

I’d just like to add that having worked with both ActionScript and CSS, I have no idea what the two have to do with one another. Learning ActionScript 3.0 wouldn’t do anything to improve your CSS skills.

At this point, I knew there was no way I was going to hire this guy. He didn’t have a single piece in his portfolio that he could show me as proof of the skills he was claiming. So I tried to let him down gently.


Unfortunately, you have to be able to show the code to back up your claims of your skills and talents. It’s not enough to say that your next attempt at CSS will be more organized and thorough. When employers are looking to hire someone, they need to hire people who are able to demonstrate their skills, not just promise that they have them.

The modification to add the PDF symbol to each product is still a minor customization, and the lion’s share of the CSS and HTML on the site was not written by you.

In reference to your left-hand navigation menu: in FF, I am seeing an evenly spaced vertical list of links with arrows on the left neatly aligned with the text. Rollover behavior is a small shift in position and a subtle background color change. In IE6, the vertical spacing of the menu items is erratic and the arrows do not align with the text. Rollover behavior includes a bottom border misplaced and not aligned with the border that’s already visible, probably due to the erratic spacing of the menu items.

If you consider yourself more of a Flash developer at this point, and that is where your skills and interests lie, then I encourage you to continue to pursue that avenue. Flash developers are very much in demand.

However, I don’t think that your skills and interests are a good match for the position I’m looking to fill at this time.


By this point I was pretty frustrated and tired of spending time on this candidate who I now knew wasn’t a fit. But I thought this email was still professional and not reflective of my emotional state. Please do let me know if I’m wrong. Bacon was apparently offended.

by the way, the spacing in the left nav is different reflecting rather or not there are sub items, so there. There is nothing wrong with it. good luck with your "company".

"So there"? Seriously? Bacon’s next move was to sign into chat and blast me with this little gem, then sign out immediately before I could respond:

[12:34] bacon: your professional demeanor leaves much to be desired, I was on the fence anyways, I don’t think I would do well with the sort of work ethic or environment you seem to pruport[sic], good day to you and thank you for a lesson in how to better manage my time, avoiding companies such as yours.

[12:34] bacon: critisizing[sic] my coding openly before even working together is rude, if you dont[sic] like my work dont[sic] hire me, otherwise keep it to yoruself[sic]

[12:34] bacon: good day to you

The sort of work ethic or environment I seem to purport? You mean one where people don’t claim template code as their own, or go around passing off sloppily coded projects on clients? I was too steamed not to respond. But I still tried to be professional.

In general, constructive criticism of code, particularly when it’s pointing out something that’s not working properly in one browser or another, is welcomed with open arms among the web development community. I did not intend to offend you. The general assumption is that the developer was unaware that there was a problem, and the developer is generally thankful to have a problem pointed out to them before the client discovers the problem and complains.

Attacking someone’s work ethic and professional demeanor without cause is uncalled for. I have been professional and polite in all my communications with you. The code that you have shown me simply has not demonstrated the skills I am looking for. You yourself said that you consider yourself more of a Flash developer than an integrator or front-end developer. Your skills and interests simply don’t match the position I have open at this time. Please do not take it so personally.

As I said before, please continue to pursue Flash development if that is where your heart lies – Flash developers are very much in demand and you can make a lucrative career for yourself doing what you love rather than trying to fit into a position that does not match your interests. Best of luck to you.


The next email I received was from Google:


Your intended recipient has blocked your e-mails.

Well, so much for that. I can’t say as I felt anything but relief at this point. At least I wouldn’t have to hear from Bacon any more. Ha. Until three hours later when he apparently un-blocked my e-mails and wrote:


Should I expect a phone conversation sometime this evening? Please keep me updated.

– Bacon

I swear I could not make this up if I tried. Now he was still expecting me to conduct the phone interview? I was so angry. I vented to a friend who pointed out that if I kept it going Bacon was just crazy enough to continue escalating the situation and driving me mad. At my wise friend’s advice I wrote Bacon:

I’ve selected the person for the position. Thank you for your interest, and good luck to you in the future.

It the hardest email I ever wrote. I typed "So there!" at the end of it, then deleted it at least twenty times before finally hitting the Send button.

Bacon, apparently back to his senses responded:


Yes I wish you the best of luck also.

Yeah, I bet you do. But at least this was the last I’ve heard from him.

And Stay Out!

Just dusting off my hands and setting down all sweaty to a nice cold glass of lemonade after spending a couple of hours kicking the hackers out of this blog. Hmph. Take that.

They’re gone. It’s safe to come back out now. And I installed this pretty new pink glitter security fence to keep them out.

Girls in Technology

In 2007, A List Apart conducted a Web Design Survey. They found that overall, women make up just 16.1% of the web design industry. That number was further broken down by job title. While as many as 41.6% of Writers/Editors were women just 7.2% of Developers were women. Overall, there’s a very definite bias toward fewer women being involved in the more technology-heavy types of positions.

The small number of women working in technology becomes a topic of discussion in the blogosphere every few months when conference attendees complain that all or nearly all of the presenters or speakers are male. It only makes sense that the speakers and presenters would be representative of the industry as a whole, so the problem is not that there’s a lack of female presenters and speakers, but a lack of women working in the field. Then everyone wonders why.

Male technology workers get interviewed about a great variety of subjects, but I’ve yet to hear an interview of a female technology worker where she wasn’t asked about why she thought there were no women in the field. I find that really frustrating – not only are her skills being ignored, but she’s being called to answer for her entire gender.

Recently at South by Southwest, I attended a panel titled “Attracting Girls to IT“. It was fascinating. Apparently in elementary school, interest in math, science and technology is about equal between genders, but by 5th grade, girls start to lose interest in these subjects. By high school, they’re barely interested, leaving just a tiny group of us geek girls.

I think that sometimes people like to think that sexual discrimination doesn’t happen all that often. But it does! We like to think that we’re a modern culture, and that things like gender don’t affect the subjects we like in school. But gender obviously plays a role. Parents, teachers, media, and others are all sending a message that math and science and technology are “boys’ subjects”. I know I got that message over and over again, sometimes in very subtle ways and sometimes in blatant, kick-you-in-the-gut-you’re-a-girl-and-you-don’t-belong-here kind of way. I think it takes a special kind of girl to stand up for herself through that and stick with what she really loves doing, no matter what the other students or the teacher think.

That kind of discrimination still happens in workplaces too. Some workplaces more than others, some coworkers more than others. I’ve experienced it. It’s awful, the feeling that your skills and knowledge and talent are somehow less valuable just because you’re a woman. Some days I can just ignore it and put my head down and get my work done, but other days I just feel defeated.

I’ve decided to become a volunteer mentor for girls interested in working in technology through MentorNet. Maybe I can keep one more girl from being turned away from her dream by the thoughtlessness of others. Maybe you can, too!

Inspiration, incubation, procrastination

I think that a lot of people think that creativity is all about having fun. They process documents and total up spreadsheets and dream of just being able to paint or write or create all day long instead. As though it wasn’t “real” work.

Being creative is a lot of work! Of course it’s fun sometimes, but it’s hard work. And it’s odd work. I can’t tell you for sure if I’ll be able to design a web site in 10 hours. Sometimes inspiration strikes and it only takes 1 hour. Sometimes I sit and stare at my computer and struggle for days.

I always know a design will be good when I “see it in my head” and just copy it down. I don’t know where it comes from or how it happens. Sometimes the instant someone starts talking to me about their web site, I see it in my head, and feel inspired to rush home and create it before I lose it. Sometimes, it takes a long time to see it in my head. I’ll fidget with colors, move the elements around the page, play Tetris for awhile, come back to it, play with the colors again, move things around again…

I’ve always struggled with that fidgeting and playing stage. I never felt like I was doing “real” work. Then I found this article about Procrastination and Incubation. I’m so happy to learn that all that struggling and fidgeting is really part of the work, part of the process of being creative.

But I can also see how from the outside, it doesn’t look like work. So let me assure you, it is real work.